第 8 章 pkg-* 文件

目录
8.1. pkg-message (安装预编译包时显示的消息文件)
8.2. pkg-install (安装预编译包时执行的脚本文件)
8.3. pkg-deinstall (卸载时执行的脚本文件)
8.4. pkg-req (安装预编译包时检测是否应执行操作的脚本文件)
8.5. 改变 pkg-* 文件的名字
8.6. 使用 SUB_FILESSUB_LIST

前面有一些没有提及的关于 pkg-* 文件的技巧, 它们可以方便地完成许多任务。

8.1. pkg-message (安装预编译包时显示的消息文件)

如果您需要在安装时显示一条消息给用户, 可以把这消息放在 pkg-message 中。 这一特性通常可以用于在 pkg_add(1) 之后显示一些附加的安装步骤, 或显示关于授权的信息。

当需要显示一些编译开关或警告时, 请使用 ECHO_MSGpkg-message 文件只是为显示安装后的执行操作指导使用的。 类似地, 还需要留意 ECHO_MSGECHO_CMD 之间的区别。 前一个是在屏幕上显示消息性的文字, 而后一个则用于在执行命令时使用管道。

下面是用到了这两个宏的例子 shells/bash2/Makefile

update-etc-shells:
	@${ECHO_MSG} "updating /etc/shells"
	@${CP} /etc/shells /etc/shells.bak
	@( ${GREP} -v ${PREFIX}/bin/bash /etc/shells.bak; \
		${ECHO_CMD} ${PREFIX}/bin/bash) >/etc/shells
	@${RM} /etc/shells.bak

注意:

pkg-message 文件, 并不需要明确地加到 pkg-plist 中。 此外, 在用户使用 port 而不是 package 来安装软件时, 它并不会被显示出来。 因此如果需要的话, 您应该在 post-install target 中指定显示它。

本文档和其它文档可从这里下载: ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

如果对于FreeBSD有问题,请先阅读 文档,如不能解决再联系 <questions@FreeBSD.org>.

关于本文档的问题请发信联系 <doc@FreeBSD.org>.