使用 pkgbuild 在不同位置安装多个文件
Using pkgbuild to install multiple files at different locations
假设我有一个 .app 和一个 .dylib 文件需要安装在不同的位置,一个在 /Applications 中,另一个在 /usr/local/lib 中。是否可以使用 pkgbuild 通过命令行执行此操作?我能够构建具有相同行为的 .pkg,但仅限于 GUI 应用程序。
我找到了一个替代方案,虽然不是最理想的,但它适合我。它使用软件包 (http://s.sudre.free.fr/Software/Packages/about.html) 附带的 packagesbuild 命令行。它允许您通过命令行创建 .pkg 文件,但您需要创建一个 .pkgproj 文件,该文件是使用 Packages 应用程序创建的。您可以通过这种方式将各种文件安装到不同的位置。
另一种选择是在安装后脚本期间进行所有文件改组。我在上周左右才开始使用 pkgbuild,但我成功地使用了安装后脚本来移动文件。生成的pkg中的--install-location其实就是一个临时存放区。该脚本创建最终目标目录,并将文件从临时保存区域复制到其中。我只复制到一个目标目录,但多个目录应该不是问题。安装后脚本的最后几行(就在强制性退出(0)之前)删除了该临时保留区域及其中的所有内容。
我没有找到太多关于 pkgbuild 脚本的文档。 Here's a good one. 它使用 bash,我使用 python,但同样的概念适用:参数如描述的那样,它必须 return 0.
假设我有一个 .app 和一个 .dylib 文件需要安装在不同的位置,一个在 /Applications 中,另一个在 /usr/local/lib 中。是否可以使用 pkgbuild 通过命令行执行此操作?我能够构建具有相同行为的 .pkg,但仅限于 GUI 应用程序。
我找到了一个替代方案,虽然不是最理想的,但它适合我。它使用软件包 (http://s.sudre.free.fr/Software/Packages/about.html) 附带的 packagesbuild 命令行。它允许您通过命令行创建 .pkg 文件,但您需要创建一个 .pkgproj 文件,该文件是使用 Packages 应用程序创建的。您可以通过这种方式将各种文件安装到不同的位置。
另一种选择是在安装后脚本期间进行所有文件改组。我在上周左右才开始使用 pkgbuild,但我成功地使用了安装后脚本来移动文件。生成的pkg中的--install-location其实就是一个临时存放区。该脚本创建最终目标目录,并将文件从临时保存区域复制到其中。我只复制到一个目标目录,但多个目录应该不是问题。安装后脚本的最后几行(就在强制性退出(0)之前)删除了该临时保留区域及其中的所有内容。
我没有找到太多关于 pkgbuild 脚本的文档。 Here's a good one. 它使用 bash,我使用 python,但同样的概念适用:参数如描述的那样,它必须 return 0.