3.2.编写描述文件

对于任何port,都需要两个描述文件,无论它们实际上是否打包。它们是 pkg-descr 和 pkg-plist。它们的 pkg-前缀使它们与其他文件区分开来。

3.2.1. pkg-descr

这是一个关于 port 的较长描述。简洁地解释 port 的功能即可。

这不是一个关于如何使用或编译 port 的手册或深入描述!请小心复制 README 或 man 手册。太多时候它们不是对 port 的简明描述,或者格式不合适。例如,man 手册使用了两端对齐的间距,在等宽字体下看起来特别糟糕。 另一方面,pkg-descr 的内容必须比 Makefile 中的 COMMENT 行长。它必须更深入地解释 port 是关于什么的。

一个写得很好的 pkg-descr 完全描述了 port,让用户无需查阅文档或访问网站即可了解软件的功能、用途以及特别好的功能。提到某些要求,如图形工具包、重要的依赖项、运行时环境或实现语言,有助于用户决定这个 port 是否适合他们。

3.2.2. pkg-plist

此文件列出了port安装的所有文件。它也被称为“包装清单”,因为该软件包是通过打包在此处列出的文件而生成的。路径名是相对于安装前缀(通常为/usr/local)。

这里有一个小例子:

bin/oneko
man/man1/oneko.1.gz
lib/X11/app-defaults/Oneko
lib/X11/oneko/cat1.xpm
lib/X11/oneko/cat2.xpm
lib/X11/oneko/mouse.xpm

有关包装清单的详细信息,请参阅 pkg-create(8) 手册页。

只有一种情况可以省略 pkg-plist 。如果 port 只安装少量文件,请将它们列在 PLIST_FILES 中,位于 port 的 Makefile 内。例如,我们可以通过将这些行添加到 Makefile 中而无需在上述 oneko port 中使用 pkg-plist:

PLIST_FILES=	bin/oneko \
		man/man1/oneko.1.gz \
		lib/X11/app-defaults/Oneko \
		lib/X11/oneko/cat1.xpm \
		lib/X11/oneko/cat2.xpm \
		lib/X11/oneko/mouse.xpm
PLIST_FILES=	"@sample ${ETCDIR}/oneko.conf.sample"

稍后我们将看到如何使用 pkg-plist 和 PLIST_FILES 来实现更复杂的任务。

最后更新于

FreeBSD 中文社区 2024