分类: BSD
2006-08-08 23:22:49
FreeBSD Porter 手册 | ||
---|---|---|
第3章 简单的 port |
有 2 个描述文件对于任何一个 port 来说是必须的, 不论它是不是打算成为 package。 它们是 pkg-descr 和 pkg-plist。 这两个文件使用 pkg- 前缀以区别于其它文件。
这是 port 里一个较长的描述文件。 使用一段或几段文件文字来简明的描述这个 ports 是用来做什么的。
注意: 这 不是 手册或者对如何 深入使用/编译这个port的说明! 要是您从 README 或者联机手册里面中复制文字的话, 请务必小心; 通常, 它们不是对这个 port 简明扼要的描述, 或者用了难以使用的格式 (比如, 联机手册里有迫使两端对齐的空格)。 如果要移植的软件有官方的WWW网页, 您应该在这里列出来。 使用 WWW: 作为前缀来表示 一个网站, 这样其它的自动工具就能正常工作了。
下面是一个简单的 pkg-descr 例子:
This is a port of oneko, in which a cat chases a poor mouse all over
the screen.
:
(etc.)
WWW:
这份文件列出了 port 所要安装的所有文件。 由于 package 也是据此进行打包, 因此它也被称作 “装箱单(packing list)”. 这个文件中, 路径是相对于安装的路径的 (通常是 /usr/local 或 /usr/X11R6)。 如果您使用 MANn 变量的话, 请不要在这里列出任何联机手册。 假如 port 在安装过程中会创建一些目录, 请务必增加对应的 @dirrm 行, 以便在 package 被卸载时予以自动删除。
下面是一个简单的例子:
bin/oneko
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
lib/X11/oneko/mouse.xpm
@dirrm lib/X11/oneko
参考 的联机手册以获得更多有关装箱单的细节
注意: 建议您将这个文件里的所有的文件名按字母排序。 这样, 在升级这个port的时候就能够更方便地核实所做的修改。
注意: 手工创建这样一份列表可能是一件非常枯燥的事情。 如果您的 port 需要安装大量的文件, 会帮您省下不少时间。
只有一种情况可以不用 pkg-plist文件。 如果这个 port 只安装很少量的一些文件或目录的话, 这些文件和目录就可以分别列在 Makefile 的 PLIST_FILES和PLIST_DIRS 变量里。 举个例子来说, 我们可以在上面那个 oneko port 里面不用 pkg-plist, 而把下面的这几行加到 Makefile 里面:
PLIST_FILES= bin/oneko \
lib/X11/app-defaults/Oneko \
lib/X11/oneko/cat1.xpm \
lib/X11/oneko/cat2.xpm \
lib/X11/oneko/mouse.xpm
PLIST_DIRS= lib/X11/oneko
当然, 如果一个 port 不需要给它自己创建目录的话, 就不用设置 PLIST_DIRS 变量了。
不过, 如果用这种方式来列出 port 要安装的文件和目录的话, 也就无法利用在 里介绍的命令来制作 package 了。 因此, 这种方法只适用于那些简单的 port, 使它们更为简化。 同时, 这种做法也有助于减少 ports collection 中的文件数量。 在采用 pkg-plist 之前, 请考虑一下使用这种方法。
稍后我们将看到 pkg-plist 以及 PLIST_FILES 如何处理 。
简单的 port | 创建校验和文件 |