[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 下一頁 ]


Debian 新維護人員手冊
第 9 章 - 更新套件


一旦你發佈了一個套件,在之後的某個時間裏就需要對它進行更新。


9.1 新的 Debian 版本

假設針對你的套件報告的 Bug 號爲 #54321,它描述了一個你可以解決的問題。要創建套件的一個新 Debian 版本,你需要:


9.2 檢査新上游版本

在爲 Debian 倉庫準備新上游版本的套件前,你必須首先檢査它。

檢査工作應從閱讀 changelogNEWS 以及所有隨新版本一同發佈的文件。

然後應按照以下步驟檢査新舊版本之間的差別,看是否存在可疑的內容:

     $ diff -urN foo-oldversion foo-newversion

對於 Autotools 自動生成的檔案,例如 missingaclocal.m4config.guessconfig.h.inconfig.subconfiguredepcompinstall-shltmain.shMakefile.in 是可以忽略的。你可以在運行 diff 進行程式碼檢査前刪除它們。


9.3 新上游版本

如果套件 foo 是使用新的 3.0 (native)3.0 (quilt) 格式打包的,製作新的上游版本時需要先把舊的 debian 目錄移至新的原始碼內。這可以通過在新解壓的原始碼目錄裏運行 tar xvzf /path/to/foo_oldversion.debian.tar.gz 完成。[54]當然,你需要做幾個很顯然的雜事。

如果補丁沒有乾淨地被應用,檢査原因(線索在 .rej 檔案裏)。

這個過程可以通過使用 uupdate(1) 來更自動化地完成:

     $ apt-get source foo
     ...
     dpkg-source: info: extracting foo in foo-oldversion
     dpkg-source: info: unpacking foo_oldversion.orig.tar.gz
     dpkg-source: info: applying foo_oldversion-1.debian.tar.gz
     $ ls -F
     foo-oldversion/
     foo_oldversion-1.debian.tar.gz
     foo_oldversion-1.dsc
     foo_oldversion.orig.tar.gz
     $ wget http://example.org/foo/foo-newversion.tar.gz
     $ cd foo-oldversion
     $ uupdate -v newversion ../foo-newversion.tar.gz
     $ cd ../foo-newversion
     $ while quilt push; do quilt refresh; done
     $ dch
     ... document changes made

如果你按照 watch 檔案, 第 5.20 節 的敘述設置了 debian/watch 檔案,你可以跳過這個 wget 命令,轉而在 foo-oldversion 目錄中運行 uscan(1),且無需再執行 uupdate 命令。它會 自動 査找新的原始碼、下載並運行 uupdate 命令。[55]

重複 完整的(重)構建, 第 6.1 節檢査套件中的錯誤, 第 7 章上傳套件, 第 8 章 中的操作,即可發佈此更新的套件。


9.4 更新打包風格

更新打包風格不是更新套件的必須步驟,但是這樣可以使你的套件得到對現代的 debhelper 系統和 3.0 原始碼套件格式完整的兼容性。[56]

當然你還需要按照 新上游版本, 第 9.3 節 完成其他的步驟。


9.5 對更新套件的幾點提示

以下是對更新套件的幾點提示。


[ 上一頁 ] [ 目錄 ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 下一頁 ]


Debian 新維護人員手冊

版本 1.2.25, 2010-12-21 14:06:56 UTC

Josip Rodin joy-mg@debian.org

翻譯:Aron Xu happyaron.xu@gmail.com
翻譯:李凌 lilingv@gmail.com
翻譯:郑原真 ycheng@slat.org
繁簡轉換:陳侃如 koster@debian.org
繁簡轉換:青木修 osamu@debian.org