有 2 个描述文件对于任何一个 port 来说是必须的,
不论它是不是打算成为 package。 它们是
pkg-descr
和
pkg-plist
。 这两个文件使用 pkg-
前缀以区别于其它文件。
这是 port 里一个较长的描述文件。 使用一段或几段文件文字来简明的描述这个 ports 是用来做什么的。
这 不是 手册或者对如何
深入使用/编译这个port的说明! 要是您从
README
或者联机手册里面中复制文字的话,
请务必小心; 通常, 它们不是对这个 port
简明扼要的描述, 或者用了难以使用的格式 (比如,
联机手册里有迫使两端对齐的空格)。
如果要移植的软件有官方的WWW网页, 您应该在这里列出来。
使用 WWW:
作为前缀来表示
一个网站,
这样其它的自动工具就能正常工作了。
下面是一个简单的
pkg-descr
例子:
这份文件列出了 port 所要安装的所有文件。 由于 package
也是据此进行打包, 因此它也被称作 “装箱单(packing list)”.
这个文件中, 路径是相对于安装的路径的 (通常是
/usr/local
或
/usr/X11R6
)。 如果您使用
MAN
变量的话, 请不要在这里列出任何联机手册。 假如 port
在安装过程中会创建一些目录, 请务必增加对应的
n
@dirrm
行,
以便在 package 被卸载时予以自动删除。
下面是一个简单的例子:
参考 pkg_create(1) 的联机手册以获得更多有关装箱单的细节
建议您将这个文件里的所有的文件名按字母排序。 这样, 在升级这个port的时候就能够更方便地核实所做的修改。
手工创建这样一份列表可能是一件非常枯燥的事情。 如果您的 port 需要安装大量的文件, 自动创建装箱单 会帮您省下不少时间。
只有一种情况可以不用 pkg-plist
文件。
如果这个 port 只安装很少量的一些文件或目录的话,
这些文件和目录就可以分别列在 Makefile
的
PLIST_FILES
和PLIST_DIRS
变量里。 举个例子来说, 我们可以在上面那个
oneko
port 里面不用
pkg-plist
, 而把下面的这几行加到
Makefile
里面:
当然, 如果一个 port 不需要给它自己创建目录的话,
就不用设置 PLIST_DIRS
变量了。
不过, 如果用这种方式来列出 port 要安装的文件和目录的话,
也就无法利用在 pkg_create(1) 里介绍的命令来制作 package 了。
因此, 这种方法只适用于那些简单的 port, 使它们更为简化。 同时,
这种做法也有助于减少 ports collection 中的文件数量。
在采用 pkg-plist
之前,
请考虑一下使用这种方法。
稍后我们将看到 pkg-plist
以及 PLIST_FILES
如何处理
更复杂的任务。
本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.
如果对于FreeBSD有问题,请先阅读
文档,如不能解决再联系
<questions@FreeBSD.org>.
关于本文档的问题请发信联系
<doc@FreeBSD.org>.