如何更新 Debian 套件版本

How to update Debian package version

15 July 2019

當你打包了第一個 Debian 之後,上游作者可能會持續更新版本,此時你可以按照下面步驟來更新套件的版本。

由上游更新套件內容

先注意自己本地端的 repository 和目前在 Salsa 上的 repository 有沒有同步,如果沒有要先做好同步。

如果我們有設定 watch 的話,可以直接透過 gbp 指令來更新,可參考 New upstream release

完成後就可以切回 debian/master branch 來測試,並作後續相關的修改了。

更新 Debian 相關檔案

debian/changelog

更新 debian/ 資料夾的相關內容後,我們一樣可以用 gbp 來更新 changelog(記得要把 UNRELEASED 狀態改為 unstable)

gbp dch --debian-branch=debian/master

要特別注意的是,changelog 上面記錄的是你對 debian file 的所有修改(不是 upstream 的部份)。

debian/controldebian/compat

更新套件的時候要注意 debian/control 裡面的資訊有沒有過時,若沒有更新,在跑 pbuilder 應該就會跳出警告了。

  • Build-Depends:這個跟 debhelper 版本有關,記得更新完也要更新 debian/compat

  • Standards-Version:這個跟 debmake 有關

如果發現自己 local 端的 debhelperdebmake 過時,那可以用前面安裝 SID 版本套件的方式更新。

發Merge Request

當套件都更新完後,一樣要用 debuildpbuilder 再跑一次,確認沒問題後,就可以把debian/masterpristine-tarupstream 都推上 Salsa。

接下來準備送 MR 給你所認識的 Debian developer,請他幫忙打包新版,記得三個 branch 都要發 MR。

感謝

本文由 Chen-ying KuoKun-Hung Tsai 共同編寫。感謝獲得 SZ lin 的許多回饋與教導,與 Kaiden Yu 校正其中錯誤內容