如何獲取 Debian 軟體包的建構過程?
我想建構一些軟體的版本,該版本比目前作為穩定版本 Debian 軟體包可用的軟體版本更新。
然而,要做到這一點,除了使用更新版本的原始碼之外,我想盡可能地遵循在穩定版本中為該軟體建構 Debian 軟體包的建構過程。
至少,我想在建構期間為相關環境變數指定相同的配置標誌和相同的值,就像為本軟體的穩定版本 Debian 軟體包所做的那樣。
**問:**如何找到特定(穩定版本)Debian 軟體包的建構過程?
Debian 軟體包的建構過程由其源軟體包描述。如果你有 Debian 系統,你可以使用
apt source ${package}
如果您
sources.list
包含適當的deb-src
條目。如果您的儲存庫中引用了多個版本,則可以指定您在stable
發布之後:apt source ${package}/stable
(假設您
stable
的儲存庫中有)。您可能會發現您感興趣的較新版本已經打包在testing
或unstable
中,在這種情況下,使用它可以節省您一些時間 — 請參閱如何安裝比 Debian 提供的更新版本的軟體?在這種情況下的說明。在原始碼包中,要查看的主要文件是
debian/control
和debian/rules
. 例如,hello
包的control
文件指定它以debhelper
兼容級別 9 建構(請參閱man debhelper
詳細資訊),它的rules
文件指定它使用預設dh
設置進行建構(包括預設dpkg
建構標誌,請參閱 參考資料dpkg-buildflags
)。如果您的源包指定瞭如何更新它,您可能只需要執行
uscan
更新源包,切換到相應目錄,為新版本添加更新日誌條目
dch -v 1.2.3-0.1 "New upstream release."
(酌情替換
1.2.3
),然後dpkg-buildpackage -us -uc
建構包。
以這種方式更新軟體包時的主要問題是可能需要更新任何更新檔。如果
debian/patches/series
存在且不為空,則需要依次檢查每個更新檔,執行quilt push
; 詳情見man quilt
。