我正在打包我的第一个 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
覆盖。