Packaging

為什麼 dh_auto_install 和 dh_install 不使用同一目錄?

  • November 13, 2019

我嘗試使用dpkg-buildpackage從原始碼建構單個包。在某些時候dh_auto_install被呼叫並執行make install DESTDIR=/somewhere/debian/package-name

然後dh_install被呼叫,但只在.or中搜尋,debian/tmp但不在debian/package-name!

我得到類似的東西:

dh_install: Cannot find (any matches for) "usr/include/*" (tried in ., debian/tmp)

如何使它們都在同一個目錄中使用?

(如果我嘗試建構多個包沒有問題)(兼容 9)

我猜你的源包建構了一個二進制包;,你debian/control只有一個Package:節。在這種情況下,dh_auto_install將文件安裝到debian/package,然後假設這就足夠了,debian/package您需要安裝的所有文件都在一次dh_auto_install完成下最終在正確的位置。

dh_install主要用於建構多個二進制包的源包:它獲取debian/tmpor下的文件.並將它們複製到debian/packageX.

在您的情況下,由於您正在嘗試安裝usr/include/*,我懷疑您根本不需要dh_install- 您應該找到要安裝的文件準備就緒並等待debian/package/usr/include. 但是,如果您在usr/include.按您的預期工作。debian/control``dh_auto_install``debian/tmp``dh_install

另請參閱Dpkg dh_install:從建構目錄而不是 debian/tmp 目錄複製文件?

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