上一節:Makefile 慣例,上一層:管理發布 [目錄][索引]
您應該使用一對版本號來識別每個發布版本,包括主要版本號和次要版本號。我們不反對使用兩個以上的號碼,但您實際上不太可能需要那麼多。
將 Foo 版本 69.96
的發行包打包成名為 foo-69.96.tar.gz 的 gzip 壓縮 tar 檔案。它應該解壓縮到名為 foo-69.96 的子目錄中。
建置和安裝程式絕不應修改發行包中包含的任何檔案。這表示以任何方式構成程式一部分的所有檔案都必須分類為原始碼檔案和非原始碼檔案。原始碼檔案是由人類編寫且永遠不會自動變更的檔案;非原始碼檔案是由程式根據 Makefile 的控制,從原始碼檔案產生的。
發行包應包含一個名為 README 的檔案,其中包含套件的總體概述
當然,所有原始碼檔案都必須在發行包中。可以將非原始碼檔案與它們產生的原始碼檔案一起包含在發行包中,前提是它們與產生的原始碼同步更新,並且與機器無關,以便發行包的正常建置永遠不會修改它們。我們通常包含由 Autoconf、Automake、Bison、flex
、TeX 和 makeinfo
產生的非原始碼檔案;這有助於避免我們的發行包之間不必要的依賴關係,以便使用者可以安裝他們喜歡的任何版本的任何套件。不要輕易引入對其他軟體的新依賴關係。
可能實際上會被程式的建置和安裝修改的非原始碼檔案絕不應包含在發行包中。因此,如果您確實發行非原始碼檔案,請始終確保在製作新發行包時它們是最新的。
請確保發行包中的所有檔案都是世界可讀的,並且目錄是世界可讀和世界可搜尋的(八進制模式 755)。我們過去建議發行包中的所有目錄也都是世界可寫的(八進制模式 777),因為舊版本的 tar
在以非特權使用者身份解壓縮封存檔時,否則無法應對。然而,這很容易在建立封存檔時導致安全問題,因此現在我們不建議這樣做。
不要在發行包本身中包含任何符號連結。如果 tar 檔案包含符號連結,那麼人們甚至無法在不支援符號連結的系統上解壓縮它。此外,不要在不同的目錄中為一個檔案使用多個名稱,因為某些檔案系統無法處理這種情況,這會阻止解壓縮發行包。
盡量確保所有檔案名稱在 MS-DOS 上都是唯一的。MS-DOS 上的名稱最多包含 8 個字元,可選地後跟一個句點和最多三個字元。MS-DOS 將截斷句點之前和之後的額外字元。因此,foobarhacker.c 和 foobarhacker.o 並不模稜兩可;它們被截斷為 foobarha.c 和 foobarha.o,它們是不同的。
在您的發行包中包含一份您用於測試列印任何 *.texinfo 或 *.texi 檔案的 texinfo.tex 副本。
同樣地,如果您的程式使用像 regex、getopt、obstack 或 termcap 這樣的小型 GNU 軟體套件,請將它們包含在發行檔案中。將它們遺漏會使發行檔案小一點,但可能會對不知道要取得哪些其他檔案的使用者造成不便。
上一節:Makefile 慣例,上一層:管理發布 [目錄][索引]