FreeBSD Porter's Handbook
前一頁 | 章 4. Slow Porting | 下一頁

# 4.2. 取得原始的 source 檔

取得原始的 source 檔(通常檔名是 ``foo`.tar.gz` 或 ``foo`.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 介紹部分)。

前一頁 | 內容 | 下一頁
Slow Porting | 上一層 | 量身打造 port

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