一个静态包列表是在Ports Collection 中作为 pkg-plist(带有或不带有变量替换)或嵌入到 Makefile 中通过 PLIST_FILES 和 PLIST_DIRS 的包列表。即使内容是由工具或目标在包含到Ports Collection 之前由提交者在 Makefile 中自动生成的(例如,使用 make makeplist ),这仍被视为静态列表,因为可以在不必下载或编译 distfile 的情况下审查它。
动态软件包列表是在port编译时生成的软件包列表,基于已安装的文件和目录。在下载和编译移植应用程序的源代码之前,或在运行 make clean 之后,无法检查它。
虽然使用动态软件包列表并非禁止,但维护者应尽可能使用静态软件包列表,因为这使用户能够通过可用的ports使用 grep(1)来发现,例如,哪个port安装了某个文件。动态列表应主要用于复杂的ports,其中软件包列表根据port的可选功能发生 drastical 变化(因此维护静态软件包列表是不可行的),或者根据使用的依赖软件版本更改软件包列表的ports。例如,使用 Javadoc 生成文档的ports。