6.2. Ports 的发行限制

众多协议,并且其中的一些致力于 限制怎样的应用程序能被打包, 是否能用于销售赢利等等。

重要:

做为一名porter您有义务去阅读软件的协议 并且确保FreeBSD 项目不必为通过FTP/HTTP 或CD-ROM重新发布源码或编译的二进制而解释 什么。如果有任何疑问, 请联系 FreeBSD ports 邮件列表

处于这种情况,就可以设置以下描述 的变量。

6.2.1. NO_PACKAGE (禁止编译结果打包)

这个变量表示我们可能不能生成这个应用 程序的二进制文件。例如,他的协议不允许 二进制文件的再次发行,或者他可能禁止从 补丁过的源代码打包的发行。

不管怎么样,port的 DISTFILES 可以 随意的镜像到FTP/HTTP。除非NO_CDROM 变量也被设置,软件包也可以发行在一张CD-ROM (或类似的媒介上)。

NO_PACKAGE也能用在当二进制包 不是非常有用,并且这个应用软件经常要 从源代码编译。例如:当这个应用软件在 编译的时候要在配置信息中指定特定的硬件 代码时,可以设置NO_PACKAGE

NO_PACKAGE应该设置成字符串 来描述为什么这个软件 不能打包。

6.2.2. NO_CDROM (禁止以 CDROM 发行预编译包)

这个变量仅仅指出虽然我们允许 生成二进制包,但也许我们既不能把这个 软件包也不能把port的DISTFILES 放在光盘(或类似的媒介)上销售。但不管怎么样, 二进制包和port的DISTFILES 可以从FTP/HTTP上获得。

如果这个变量和 NO_PACKAGE一起被设置, 那么这个port的DISTFIELS 将只能从FTP/HTTP上获得。

NO_CDROM 应该被设置成一个字符串 来描述为什么这个port不能重新发布在CD-ROM上。 例如:如果这个port的协议仅仅是用于非商业活动 ,那么这个变量就能设置了。

6.2.3. NOFETCHFILES (不自动抓取指定的文件)

NOFETCHFILES 变量中定义的文件, 不会自动从 MASTER_SITES 抓取。 一种典型的用例是, 使用来自某个软件供应商提供的 CD-ROM 上的文件。

用于检查在 MASTER_SITES 上是否包含了所需文件的工具, 应忽略这些文件, 而不是报告它们不存在。

6.2.4. RESTRICTED (禁止任何形式的再分发)

如果应用程序既不允许镜像其 DISTFILES, 也不允许发布其预编译版本的包, 设置它就可以了。

NO_CDROMNO_PACKAGE 不应与 RESTRICTED 同时设置, 因为它包含了这些情形。

RESTRICTED 应设置为一个说明 port 为何不能发布的串。 典型情况可能是由于 port 包含了专有的软件, 因而用户需要自行下载 DISTFILES, 可能是注册或者同意某一 EULA 的条款。

6.2.5. RESTRICTED_FILES (禁止某些文件的再分发)

当设置了 RESTRICTEDNO_CDROM 时, 这个变量会默认设置为 ${DISTFILES} ${PATCHFILES}, 否则它会为空。 如果只有某些源码包文件是受限的, 则可以用这个变量来指明它们。

注意, port committer 应该在 /usr/ports/LEGAL 中为每一个源码包文件撰写对应的项目, 并介绍这些限制的原因。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.