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


Debian新維護人員手冊
第 6 章 - 建立套裝軟體


現在我們已經為建立套裝軟體做好了準備。


6.1 完整的rebuild

進入程式的主目錄然後執行如下命令:

        dpkg-buildpackage -rfakeroot

這將為你做好每件事情。它會:

唯一需要你輸入的是你的GPG密鑰的密碼,兩次。

當完成所有這些,你會在上一層目錄(~/gentoo/)中看到下面的檔案:

.dsc和.changes檔案中的長數位字串是上面提到的檔案的MD5校驗碼。下載了你 的檔案的人可以用md5sum(1)來檢查這些數位是否相 同,這樣它們就可以知道檔案是不是損壞了,或是是否被竄改了。


6.2 快速rebuild

對於一個很大的套裝軟體,你可能不希望在你調整了debian/rules文 件的一些細節後都從頭來建立它。為了測試,你可以只製作一個.deb檔案而不重 新建構上游來源程式碼,具體的作法如下所示:

        fakeroot debian/rules binary

一旦你完成了調整,記得要根據上面的內容從頭以正確的順序重新建立套裝軟體。 如果你想上傳一個以這種方式製作的.deb檔案時可能會遇到錯誤。


6.3 debuild命令

使用debuild命令你可以讓後面的建構套裝軟體的程序自動完成。 參考debuild(1)

對debuild命令的位址可以透過修改/etc/devscripts.conf或 者~/.devscripts完成。我建議至少修改以下內容:

        DEBSIGN_KEYID="Your_GPG_keyID"
        DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -ICVS -I.svn"

使用這個組態,你就可以總是使用你的GPG密鑰來建構套裝軟體並避免不希望的部件。(這 對於發起人也是很好的。)譬如,使用一個使用者帳號清空來源碼並重新建構套裝軟體會非常 簡單:

        debuild clean
        debuild

6.4 dpatch系統

簡單地使用dh_makedpkg-buildpackage命令會創 建一個大的diff.gz檔案,這個檔案中會包裝檔含debian/目錄中的檔案和來源碼補綴。當日後要檢查和理解每一處對來源碼的修改時, 這樣的包裝檔會難以處理。這樣總不是很好。 [1]

目前已經有多種管理多個補綴的方法用於Debian中。dpatch系統是 其中最一簡單的一個,此外還有dbs、cdbs等。

一個用dpatch系統打包裝檔的套裝軟體,其套裝軟體的修改記錄在debian/patches/目錄下的一個文件清晰的補綴集中。debian/目錄之外的來源碼樹並沒有被修改。如果你需要其它人來幫你上傳套裝軟體, 透過上述方法將你所做的修改清晰地分離出來並加上文件是非常重要的,它可以 方便別人檢查。dpatch程式的使用方式在dpatch(1)中解釋清楚了。

此後如果當某人(包裝檔括你自己)為你提供了一個來源碼補綴,在dpatch下修改來源碼包裝檔 是非常容易的:

此外dpatch還可以透過使用CPP巨集讓補綴對體系結構無關。


6.5 在上傳時包裝檔含orig.tar.gz

當你第一次上傳了套裝軟體時,你需要包裝檔含原始的orig.tar.gz來源碼 包裝檔。如果包裝檔的Debian修正版本號不是-0-1,你在使 用dpkg-buildpackage命令需要加上“-sa”選項。換句話 說,“-sd”選項將會除去orig.tar.gz檔案。


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


Debian新維護人員手冊

version 1.2.3, 2005年4月3日.

Josip Rodin joy-mg@debian.org
華文版翻譯:李凌 lilingv@gmail.com
華文版翻譯:鄭原真 ycheng@slat.org