Debian

如何獲取 Debian 軟體包的建構過程?

  • December 11, 2021

我想建構一些軟體的版本,該版本比目前作為穩定版本 Debian 軟體包可用的軟體版本更新。

然而,要做到這一點,除了使用更新版本的原始碼之外,我想盡可能地遵循在穩定版本中為該軟體建構 Debian 軟體包的建構過程。

至少,我想在建構期間為相關環境變數指定相同的配置標誌和相同的值,就像為本軟體的穩定版本 Debian 軟體包所做的那樣。

**問:**如何找到特定(穩定版本)Debian 軟體包的建構過程?

Debian 軟體包的建構過程由其源軟體包描述。如果你有 Debian 系統,你可以使用

apt source ${package}

如果您sources.list包含適當的deb-src條目。如果您的儲存庫中引用了多個版本,則可以指定您在stable發布之後:

apt source ${package}/stable

(假設您stable的儲存庫中有)。您可能會發現您感興趣的較新版本已經打包在testingunstable中,在這種情況下,使用它可以節省您一些時間 — 請參閱如何安裝比 Debian 提供的更新版本的軟體?在這種情況下的說明。

在原始碼包中,要查看的主要文件是debian/controldebian/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

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