我一直在尝试将 Mac PackageMaker命令行构建移植到 pkgbuild 和 productbuild 但我被卡住了。不幸的是,除了这篇StackOverflow 帖子以及pkgbuild和productbuild手册页 之外,我还没有找到任何记录这些新程序如何工作的任何内容。
这是我的问题。我创建了一个根安装目录,其中包含以下文件:
/some_path/Applications
/MyProgram.app
/Library
/Frameworks
/MyFramework.framework
/[library files...]
下面的命令行调用非常适合 PackageMaker。它创建了一个安装程序,安装了上述所有文件。
$ /Developer/usr/bin/packagemaker \
--title "My Program" \
--root /some_path \
--version 1.0.0 \
--filter "\.DS_Store" \
--resources ./resources/ \
--scripts ./scripts/ \
--root-volume-only \
--domain system \
--verbose \
--no-relocate \
--target 10.5 \
--id com.my_company.pkg \
--out MyProgram.pkg
现在我正在尝试用 pkgbuild 写这个并且遇到了一个主要问题。我使用以下调用:
$ pkgbuild \
--root /some_path \
--version 1.0.0 \
--install-location "/" \
--scripts "./scripts/" \
--identifier "com.my_company.pkg" \
MyProgram.pkg
此命令构建一个安装程序,将 MyProgram.framework 目录复制到 /Library/Frameworks。但是,它不会将 MyProgram.app 文件安装到 /Applications 目录中。当我查看安装程序日志时,我看到以下消息:
Applications/MyProgram.app 重定位到 /some_path/Applications/MyProgram.app
谁能解释一下为什么没有像 PackageMaker 那样将 MyProgram.app 文件添加到 /Applications 目录中?