7.4. Dynamic vs. static package list
前一頁 | 章 7. Advanced `pkg-plist` practices | 下一頁

## 7.4. Dynamic vs. static package list

A static package list is a package list which is available in the Ports Collection either as a `pkg-plist` file (with or without variable substitution), or embedded into the `Makefile` via `PLIST_FILES` and `PLIST_DIRS`. Even if the contents are auto-generated by a tool or a target in the Makefile before the inclusion into the Ports Collection by a committer, this is still considered a static list, since it is possible to examine it without having to download or compile the distfile.

A dynamic package list is a package list which is generated at the time the port is compiled based upon the files and directories which are installed. It is not possible to examine it before the source code of the ported application is downloaded and compiled, or after running a `make clean`.

While the use of dynamic package lists is not forbidden, maintainers should use static package lists wherever possible, as it enables users to grep(1) through available ports to discover, for example, which port installs a certain file. Dynamic lists should be primarily used for complex ports where the package list changes drastically based upon optional features of the port (and thus maintaining a static package list is infeasible), or ports which change the package list based upon the version of dependent software used (e.g. ports which generate docs with Javadoc).

Maintainers who prefer dynamic package lists are encouraged to add a new target to their port which generates the `pkg-plist` file so that users may examine the contents.

前一頁 | 上一層 | 下一頁
7.3. Configuration files | 起始頁 | 7.5. 自動產生 package list

本文及其他文件，可由此下載： ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。