4.2.获取源代码

以压缩包的形式(通常为 foo.tar.gzfoo.tar.bz2)获取源代码,并将其复制到 DISTDIR 目录中。 在可能的情况下,始终使用 主流 的源码。

设置变量 MASTER_SITES,以反映原始压缩包所在的位置。 在 bsd.sites.mk 中为大多数主流站点提供了速记定义。 请尽可能使用这些站点及其相关定义, 以避免在源代码库中多次重复相同的信息,这有助于解决维护时的困扰。 由于这些站点随时间而变化,对于所有参与者来说,这将成为维护的噩梦。 有关详情,请参阅交叉引用:makefiles[makefile-master_sites,MASTER_SITES]。

如果没有与网络连接良好的FTP/HTTP站点,或者只能找到格式非常不标准的站点,可以将副本放在可靠的FTP或HTTP服务器上(例如,主页)。

如果找不到方便且可靠的地方来放置 distfile,我们可以将其“存放”在 ftp.FreeBSD.org 上; 但这是最不优选的解决方案。distfile 必须放置在某人的 freefall 帐户的 ~/public_distfiles/ 目录中。 请要求提交 Port 的人来执行此操作。这个人还将设置 MASTER_SITESLOCAL/username,其中 username 是他们的 FreeBSD 集群登录名。

如果 Port 的 distfile 经常更改,但作者没有进行任何版本更新,可以考虑将 distfile 放在主页上,并将其列为第一个 MASTER_SITES。 请尽量劝说 Port 作者不要这样做;建立一些源代码控制确实有帮助。 托管特定版本将防止用户出现 checksum mismatch 错误,并减轻我们的 FTP 站点维护者的工作负担。 此外,如果 Port 只有一个主站点,建议在主页上备份一个副本,并将其列为第二个 MASTER_SITES

如果 Port 需要从互联网获取其他可用的补丁,请也将它们获取并放置在 DISTDIR 中。 不必担心它们来自于与主要源码压缩包不同的站点, 我们有一种方法来处理这些情况(请参阅下面交叉引用:makefiles[porting-patchfiles,PATCHFILES] 的描述)。

最后更新于

FreeBSD 中文社区