如何调试Mac OS X pkg?

时间:2015-12-02 21:12:09

标签: macos

我构建了一个Mac OS X软件包UPDATE wp_fbjd_postmeta SET meta_value=CONCAT('http://local-site/wp-content/plugins/',meta_value) WHERE meta_value NOT LIKE 'http://local-site/wp-content/plugins/'; ,它运行正常。可执行文件是使用Go创建的。然后我把它打包成这样:

Frequon Invaders.app

当我在Finder中打开$ pkgbuild --component 'Frequon Invaders.app' --install-location /Applications FrequonInvaders.pkg pkgbuild: Adding component at /Users/Dad/Documents/projects/Frequon-Invaders-2.2/installer-macos/Frequon Invaders.app pkgbuild: Wrote package to FrequonInvaders.pkg 时,我会看到一个“安装Frequon Invaders”窗口,让我完成安装它的动作,而Summary部分则说“安装成功”。但是当我查看FrequonInvaders.pkg时,它就不存在了。确实安装了包中文件的 none

[更新]环顾四周后,我发现该软件包似乎已安装在最初构建/Applications的原始位置的顶部。似乎Frequon Invaders.app完全被忽略了!

问题:

  • 如何使用--install-location /Applications构建一个真正安装的软件包,pkgbuild说要安装它?

2 个答案:

答案 0 :(得分:0)

对于这样简单的安装程序,最好使用工具为您完成工作。我通常使用Packages工具

http://s.sudre.free.fr/Software/Packages/about.html

这是免费的,非常好。

答案 1 :(得分:0)

  

如何调试Mac OS X pkg?

调试.pkg文件非常棘手,因为没有简单的方法来获取详细的输出。

sudo installer -pkg my_package.pkg  -target / -verbose

这可能有助于了解失败的步骤,但实际上并不能帮助缩小问题的范围...

接下来,您可以使用 Unarchiver 之类的实用程序来提取.pkg文件。您需要使用此实用程序将脚本提取两次。

注意::如果您喜欢命令行:

xar -xf my_package.pkg # extract pkg
tar -xf Scripts        # extract scripts

从那里,您可以尝试解决脚本出了什么问题。

但就我而言,我能够调试脚本的唯一方法是反复运行程序包并将调试语句回显到文件中。

例如:

# preinstall
echo "here!" >> /Users/Tom/Desktop/debug.txt