8.4.动态与静态软件包列表

静态包列表 是指在 Ports 中以 pkg-plist (包括或不包括变量替换) 的形式存在,或通过 PLIST_FILESPLIST_DIRS 嵌入到 Makefile 中的包列表。即使在提交者将其纳入 Ports 之前 其内容是由工具或 Makefile 中的目标自动生成的 (例如,使用 make makeplist),这仍然被视为一份静态列表,因为无需下载或编译 distfile 就可以检查它。

动态包列表 是在编译 port 时根据所安装的文件和目录生成的包列表。在下载和编译 port 应用程序的源代码之前,或在运行 make clean 之后,是不可能检查它的。

虽然不禁止使用动态包列表, 但维护者应尽可能使用静态包列表, 因为它使用户能够通过 grep(1) 来发现, 例如,哪个 port 安装了某个文件。动态列表应该主要用于复杂的 port,即根据 port 的可选功能,软件包列表会有很大的变化 (因此,维护静态软件包列表是不可行的),或者根据所使用的依赖软件的版本来改变软件包列表。例如,使用 Javadoc 产生文档的 port。

最后更新于

FreeBSD 中文社区