创建 debian 包的脚本存在并且可以工作。我必须修改它们。在新的特定情况下,可能有一些我想包含在打包中的可选文件。
如果我将它们添加到 package.install,那么我会失败,因为只有这些文件不存在。如果我不将它们添加到 package.install 中,那么即使它们存在,它们也永远不会包含在包中。
为了确定具体情况,我有特殊的环境变量:SPECIFIC_CASE=CASE
我应该如何设置 debian 包创建脚本来搜索这些文件以防特定情况?
在文件rules
(被设计为 Makefile)中我有目标:
copy_files:
override_dh_install:
override_dh_auto_install: (empty)
...list of other overrides...
install:
postbuild:
clean:
答案1
对于 Debian 中的大多数打包工具,包的内容package
最终都是运行debian/package
时的内容。dpkg-deb
您可以以任何您想要的方式将文件放置在那里,而不必依赖dh_install
(这是处理文件的工具.install
)。
因此:
override_dh_install:
dh_install
install blah debian/package/wherever
等等。您可以在此处添加条件文件处理。
然而重要的是要认识到打包规范(这不是特定于 Debian)应该保持一致:IE在给定的体系结构上,构建包应该始终产生相同的包内容。打包可选内容通常涉及构建项目以便生成所有文件,然后将它们分派到不同的包中,而不需要安装所有文件。 (这能包括竭尽全力,例如GCC 版本有一些技巧,以便编译器驱动程序了解所有可用的语言,但不必全部安装。)