Debian

Dpkg Debuild dh_helper:如何將 /opt/package 中安裝的二進製文件符號連結到 /usr/local/bin?

  • September 24, 2019

我正在打包我的第一個 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

假設所有編譯和源文件都通過 make 在包含debian目錄的目錄中進行管理——我有一個按預期工作的最小案例。

// binaries.txt
foo
bar

只是一個二進製文件,列出了我的微不足道的製作過程產生的虛擬二進製文件。

我正在嘗試根據此處的文件編寫符號連結deb_helper以符號連結我的二進製文件:/opt/package``/usr/local/bin

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

但我運氣不太好。這方面的程序是什麼?

如果你想在你的包中發送符號連結,我建議使用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覆蓋。

引用自:https://unix.stackexchange.com/questions/542285