5.3 妨碍性的 (Encumbered) 文件

  偶尔可能会需要在 FreeBSD 源代码树上包含某些妨碍性的文件。 例如, 如果某个设备需要首先加载一小段二进制代码才能正常工作, 而我们并没有这些代码的源文件, 则这个二进制文件就被认为是妨碍性的。 在 FreeBSD 源码树上引入这类妨碍性文件时的规则如下。

  1. 由系统 CPU 解释或执行的任何以非源代码格式保存的文件, 都被认为是妨碍性的。

  2. 授权限制多于 BSD 或 GNU 的任何文件都是妨碍性的。

  3. 除非适用 (1) 或 (2) 条款, 包含可以下载到硬件设备的文件并不被认为是妨碍性的。 这些文件必须保存为平台中立的 ASCII 格式 (推荐使用 file2c 或 uuencode 来进行编码)。

  4. 妨碍性的文件, 在加入到代码库之前, 必须获得 核心小组 的明示批准。

  5. 妨碍性文件应置于 src/contribsrc/sys/contrib

  6. 应保持模块的整体性。 除非在非妨碍性代码之间存在代码复用, 否则不应将其割裂开来。

  7. 预编译的目标文件, 应命名为 体系结构名/文件名.o.uu

  8. 内核文件:

    1. 都应在 conf/files.* 中加以引用 (以简化构建过程)。

    2. 都应作为 LINT 的一部分, 但 核心小组 可以根据个案决定是否将其注释掉。 此外, 核心小组 可以在稍后改变这些决定。

    3. 正式发行工程师 (Release Engineer) 有权决定是否允许这些文件进入正式的发行版本。

  9. 用户级文件:

    1. 核心小组 有权决定这些代码是否应成为 make world 的一部分。

    2. 正式发行工程师 有权决定这些代码是否能进入正式发行版。

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

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