
創建 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 版本有一些技巧,以便編譯器驅動程式了解所有可用的語言,但不必全部安裝。