Dpkg Debuild dh_helper:如何将 /opt/package 中安装的二进制文件符号链接到 /usr/local/bin?

Dpkg Debuild dh_helper:如何将 /opt/package 中安装的二进制文件符号链接到 /usr/local/bin?

我正在打包我的第一个 debian 项目,并且我已经 100% 解决了问题gnu-make(对我来说,这里一切皆有可能,所以我现在的困难完全在于导航dpkg/debuild系统)。

我现在只有一些虚拟编译,具有以下规则文件和兼容性:

// debian/compat
10

// debian/rules

#!/usr/bin/make -f
%:
  dh $@

override_dh_auto_install:
  cat binaries.txt | xargs -I arg install -D -m 0755 arg $$(pwd)/debian/package/opt/package/arg

假设所有编译和源文件都通过包含debian目录的目录中的 make 进行管理 - 我有一个按预期工作的最小情况。

// binaries.txt
foo
bar

只是一个二进制文件,列出了我的简单 make 过程生成的虚拟二进制文件。

我正在尝试根据此处的文档编写符号链接deb_helper以将我的二进制文件符号链接到:/opt/package/usr/local/bin

https://manpages.debian.org/stretch/dpkg/dpkg-maintscript-helper.1.en.html

但我运气不太好。这方面的程序是怎样的?

答案1

如果您想在包中发送符号链接,我建议使用dh_link。最简单的方法是列出您想要的符号链接debian/links(或者debian/package.links如果您的源包构建了多个二进制包):

opt/package/bin/foo usr/bin/foo
opt/package/bin/bar usr/bin/bar

Debian 软件包不应该在其下传送任何文件,/usr/local因此构建工具不能很好地支持这一点。

如果您不需要 中的任何其他内容/opt/package,您可以将二进制文件直接安装到/usr/bin.

您还可以使用dh_install为了简化安装,请列出要安装的二进制文件debian/install

foo opt/package/bin
bar opt/package/bin

或者

foo usr/bin
bar usr/bin

然后您可以删除dh_auto_install覆盖。

相关内容