FreeBSD Porter 手册
上一页 | 第4章 　复杂的 Porting | 下一页

# 4.2 获取源代码

获取源代码的 tar 包 (通常是 ``foo`.tar.gz` 或者 ``foo`.tar.Z`) 并把它们放进 `DISTDIR`。 最好使用 主流 的版本。

您需要设置变量 `MASTER_SITES` 来指向原始 tar 包的获取位置。 您可以在 `bsd.sites.mk` 里找到一些速度较快的主流站点。 请使用这些站点 ── 和相关的定义 ── 如果可能的话， 应尽量避免在同一个源代码树里出现大量重复的信息。 这些站点会随着时间而变化， 如果每个人都随意加入的话会使维护变得非常困难。

如果您找不到一个有很好网络连接的 FTP/HTTP 站点， 或者它们使用了非标准的格式， 您也许就会想在您自己的 FTP 或 HTTP 服务器上放上一份副本。

如果您找不到可靠的地方放置 distfiles， 我们也可以提供给您一些空间来保存它。 我们自己的 `ftp.FreeBSD.org`； 然而这只是一个折衷的办法。 distfile 必须放进某人在 `freefall` 上的 `~/public_distfiles/` 目录中。 可以要求帮助您 commit port 的人来放这个 distfile， 而这个人也需要把 `MASTER_SITES`、 `MASTER_SITE_LOCAL` 以及 `MASTER_SITE_SUBDIR` 的设置， 改为在 `freefall` 上的用户名。

如果您的 port 的 distfile 一直在变化， 而作者拒绝改变其版本号， 您可以考虑把 distfiles 放在自己的主页， 并在 `MASTER_SITES` 里把原作者的列为首选位置。 如果可能， 试着与 port 的作者沟通一下让他不要这么做， 这将有助于建立对源代码的控制。 在您的主页上放置您自己的 distfile 会避免用户得到 “`checksum mismatch`” 的错误， 而且能减轻我们 FTP 站点维护人员的工作量。 如果您的port只有一个主站点的话， 我们建议您在自己的网站上做一份备份， 并他列为 `MASTER_SITES`的第2项。

如果您的 port 需要来自网络上的一些补丁， 请把它们放到 `DISTDIR`里。 不用担心它们跟源代码不是来自同一站点。 我们有办法处理 (参阅下面的 补丁文件)。

上一页 | 起始页 | 下一页
复杂的 Porting | 上一级 | 修改 port

若您有关于 FreeBSD ports 系统的问题， 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题， 请致函 <doc@FreeBSD.org>。