3

我想(定期和自动)从许多地方的各种文件和文件夹创建安装程序。但是,我不知道如何为 packagemaker 命令提供我要安装的项目的所有路径。

这是出于内部开发目的,而不是用于客户分发。我希望包含的文件是可配置的;使用 GUI 添加所有路径并不是一个真正的选择,因为它们会经常更改。

我能做的最好的就是使用--watch标志和touch我想要包含在包中的所有东西。这非常混乱,包括碰巧同时访问的其他文件。我想要包含的内容没有一个共同的方案,所以我不能只剩--filter下其余的。

理想情况下,我会给它一个完整的路径文件,然后它会构建包。如果这不是一个选项,我不反对生成 XML 或将它们放在命令行上或任何可行的方法。我可能在安装程序中有大约 30 个我想要的文件,但这个数字可能会增长。

有一个更好的方法吗?我错过了重点吗?

编辑:认为我可以将包中我想要的所有文件复制到一个目录中,然后使用该--root标志。这是最好的方法吗?

编辑2:有没有办法用符号链接来做,所以我以前不必复制文件?

4

1 回答 1

1

(我没有将此答案标记为已接受,因为我真的希望能够从不同位置的文件创建安装程序,而不必将它们复制到暂存目录。)

根据 petert 的要求,以下是从目录中的文件创建安装程序的方法。请注意,这并不是我想要的,因为它添加了目录中的所有文件。(而且我只想包含一些特定的文件。)

## create the fake root directory (which is also the name of the .pkg installer created)
## paths below this will be interpreted as absolute when the installer runs
mkdir -p MyInstaller

## create some fake stuff to install
install_to="MyInstaller/$HOME/installed_dir/"
mkdir -p "$install_to"
echo 'it worked!' > "$install_to/test.txt"

## actually create the installer
/Developer/usr/bin/packagemaker -i com.mycompany.myInstallerName --root MyInstaller

请注意,您必须提供带有-i选项的捆绑标识符(或提供 plist。)

于 2011-10-21T19:23:45.130 回答