7.3 配置文件

  如果 port 需要把一些文件放到 PREFIX/etc不要 简单地安装它们, 并将其列入 pkg-plist, 因为这样会导致 pkg_delete(1) 删除用户精心编辑的文件, 而新安装时则又会把这些文件覆盖。

  因此, 您应把配置文件的例子按其它的后缀来安装 (例如 filename.sample 就是一个不错的选择) 并显示一条 消息 告诉用户如何复制并编辑这个配置文件, 以便让软件能够正确工作。

  因此, 应按其它的后缀来安装配置文件的例子 (filename.sample 就是一个不错的选择)。 如果实际的配置文件不存在, 则将其复制为实际文件的名字。 卸载时, 如果发现用户没有修改配置文件, 则将其删除。 您需要在 port 的 Makefile, 以及 pkg-plist (对于从 package 安装的情形) 进行处理。

  示例的 Makefile 部分:

post-install:
	@if [ ! -f ${PREFIX}/etc/orbit.conf ]; then \
		${CP} -p ${PREFIX}/etc/orbit.conf.sample ${PREFIX}/etc/orbit.conf ; \
	fi

  示例的 pkg-plist 部分:

@unexec if cmp -s %D/etc/orbit.conf.sample %D/etc/orbit.conf; then rm -f %D/etc/orbit.conf; fi
etc/orbit.conf.sample
@exec if [ ! -f %D/etc/orbit.conf ] ; then cp -p %D/%F %B/orbit.conf; fi

  另外, 还应显示一条 消息 指出用户应在何处复制并编辑这个文件, 以便让软件能开始正常工作。

若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题, 请致函 <doc@FreeBSD.org>。