8.3.配置文件

如果 port 将配置文件安装到 PREFIX/etc (或其他地方) 就 不要pkg-plist 中列出它们。这将导致 pkg delete 删除那些被用户精心编辑过的文件, 而重新安装时又会把它们抹掉。

相反,安装以 filename.sample 为扩展名的样本文件。@sample 宏可以自动完成这项工作,具体操作见 @sample file [ file ]。对于每个样本文件,在 pkg-plist 中添加一行。

@sample etc/orbit.conf.sample

如果有非常充分的理由在默认情况下不安装可以工作的配置文件,则只在 pkg-plist 中列出样本文件名,而不在 @sample 后面加上空格部分,并加上一条消息,指出用户必须在软件工作之前复制并编辑该文件。

技巧

当一个 port 将其配置安装在 ${PREFIX}/etc 的子目录中时,应使用 ETCDIR,其默认值为 ${PREFIX}/etc/${PORTNAME},如果 port 有使用其他目录的惯例 则可以在 port 的 Makefile 中覆盖它。在 pkg-plist 中会使用 %%ETCDIR%% 宏来代替它。

注意

样本配置文件的后缀应该是 .sample 。如果由于某些历史原因无法使用标准的后缀,或者样本文件来自其他目录,则应使用这种结构:

@sample etc/orbit.conf-dist etc/orbit.conf<

@sample %%EXAMPLESDIR%%/orbit.conf etc/orbit.conf

其格式是 @sample sample-file actual-config-file

最后更新于

FreeBSD 中文社区