對 package-1.0.tar.gz,一個包含了簡單的、符合 GNU 編碼標準 和 FHS(檔案系統層級規範) 的 C 語言源代碼的程式來說,它在 Debian 下打包工作可以按照下列流程,使用 debmake 命令進行。
$ tar -xvzf package-1.0.tar.gz $ cd package-1.0 $ debmake ... Make manual adjustments of generated configuration files $ debuild
如果跳過了對生成的配置檔案的手工調整流程,則最終生成的二進位制套件將缺少有意義的套件描述資訊,但是仍然能為 dpkg 命令所使用,在本地部署環境下正常工作。
這裡的 debmake 命令只提供一些不錯的模板檔案。如果生成的套件需要釋出出去供公眾使用的話,這些模板檔案必須手工調整至最佳狀態以遵從 Debian 倉庫的嚴格質量標準。
如果您在 Debian 打包方面還是個新手的話,此時不要過多在意細節問題,請先確立一個大致流程的印象。
如果您曾經接觸過 Debian 打包工作,您會注意到這和 dh_make 命令很像。這是因為 debmake 命令設計時便旨在替代歷史上由 dh_make 命令所提供的功能。[3]
debmake 命令設計提供如下特性與功能:
現代的打包風格
靈活性
合理的預設行為
額外的功能
debmake 命令將大多數重量級工作分派給了其後端套件:debhelper、dpkg-dev、devscripts、pbuilder,等等。
請確保將 -b、-f、-l 和 -w 選項的引數使用引號合適地保護起來,以避免 shell 環境的干擾。
非原生套件是標準的 Debian 套件。
本文件中所有套件構建範例的詳細日誌可以由 節 8.14, “細節” 一段給出的操作來取得。
所產生的 debian/copyright 檔案,以及 -c(節 6.3, “debmake -cc”)和 -k(節 6.4, “debmake -k”)選項的輸出都涉及了對版權和授權資訊的啟發式操作。它們具有侷限性,可能會輸出某些錯誤的結果。
[3] 歷史上還存在過 deb-make 命令,它在 dh_make 之前曾經流行過。當前的 debmake 套件的版本從 4.0 起始,其目的便是避免和廢棄的 debmake 套件的版本產生重疊。舊有的對應套件提供了 deb-make 命令。