4.2 取得原始的 source 檔

取得原始的 source 檔(通常檔名是 foo.tar.gzfoo.tar.Z 之類的壓縮檔),然後會把抓下來的檔案放在 DISTDIR 內。 記得:抓的時候,儘量使用『該軟體主要的正式網站』上面的來源檔 ,以確保檔案有效、可信。

需要設 MASTER_SITES 以指定原始檔案是放在何處。 相關網址在 bsd.sites.mk 內有一些方便的速記表可以使用。 請盡可能多用對應這些網址的變數, 以避免同樣的一堆網址有重複很多次出現在 port tree 內。 否則,這些網址只要一有改變的話,那麼就會成為維護 port 的夢魘。

如果該檔並沒有放在公開的 FTP 站或網站(HTTP)上, 或者該檔並非一般標準格式的話, 那麼可以考慮複製該檔,然後放到你可掌握、可信任的 FTP 站或網站(HTTP) 上,比如:你自己的網頁空間。

若找不到地方(方便、可信任)來放檔案的話, 那麼可以 ``house(暫放)'' 在 ftp.FreeBSD.org 上的 committer 自屬空間內; 然而,這是最不理想的解法。 檔案要放到該 committer 的 freefall 上的 ~/public_distfiles/ 目錄內才可以。 請與協助 commit 你的 port 的那位 committer 聯繫, 以便把檔案放到他的目錄內。 那位 committer 同時也會把 MASTER_SITES 設為 MASTER_SITE_LOCAL,並且把 MASTER_SITE_SUBDIR 設為他自己的 freefall 帳號名稱。

若該 port 的原始檔打包會經常重包,但原作者卻沒更新版號的話, 請考慮把該檔改放到自己的網頁空間,並且把自己網頁空間列為 MASTER_SITES 的第一順位。 或者請與原作者聯繫:請他不要這樣做(不斷重包同樣的檔案);如此一來, 才有助於建立一定程度的 source code 版本控制。 把檔案另外複製一份放到自屬網頁空間的話,不但可有效防止使用者會發生 “checksum mismatch(檔案經檢查有問題)” 的錯誤訊息,也可降低我們 FTP 站維護者的工作量。此外,若該 port 的檔案僅有一個主要網址, 那麼建議:請在自屬網站上放上備份檔,並修改 MASTER_SITES 把你的網址列為第二順位。

若該 port 需要一些額外 `patches'(可透過 Internet 下載),並放在 DISTDIR 內,不必擔心這些 patch 檔是否得都跟原始檔一樣來自同一網站, 這些情況有另外的解法(請看下面的 PATCHFILES 介紹部分)。

For questions about the FreeBSD ports system, e-mail <ports@FreeBSD.org>.
For questions about this documentation, e-mail <doc@FreeBSD.org>.