如果 Port 将配置文件安装到 PREFIX/etc(或其他目录),不要在 pkg-plist 中列出这些文件。这样做会导致 pkg delete 删除用户精心编辑过的文件,而重新安装时也会将其覆盖。
pkg delete
正确做法是安装带有 filename.sample 扩展名的示例文件。@sample 宏可以自动完成这一过程,详见 扩展关键字处理的文件列表arrow-up-right。对于每个示例文件,在 pkg-plist 中添加如下行:
@sample
@sample etc/orbit.conf.sample
如果确有充分理由不默认安装一个可用的配置文件,仅在 pkg-plist 中列出示例文件名,不添加 @sample 前缀,并添加 消息提示arrow-up-right,告知用户必须手动复制并编辑该文件以使软件正常工作。
技巧如果 Port 的配置文件安装在 ${PREFIX}/etc 的某个子目录中,应使用 ETCDIR。该变量默认值为 ${PREFIX}/etc/${PORTNAME},但可以在 Port 的 Makefile 中重定义,以遵循 Port 所采用的目录规范。在 pkg-plist 中用 %%ETCDIR%% 来代替路径。
技巧
如果 Port 的配置文件安装在 ${PREFIX}/etc 的某个子目录中,应使用 ETCDIR。该变量默认值为 ${PREFIX}/etc/${PORTNAME},但可以在 Port 的 Makefile 中重定义,以遵循 Port 所采用的目录规范。在 pkg-plist 中用 %%ETCDIR%% 来代替路径。
ETCDIR
${PREFIX}/etc/${PORTNAME}
%%ETCDIR%%
注意示例配置文件应始终使用 .sample 后缀。如果出于历史原因无法使用标准后缀,或示例文件位于其他目录中,可以使用如下格式:复制@sample etc/orbit.conf-dist etc/orbit.conf或复制@sample %%EXAMPLESDIR%%/orbit.conf etc/orbit.conf格式为 @sample sample-file actual-config-file。
注意
示例配置文件应始终使用 .sample 后缀。如果出于历史原因无法使用标准后缀,或示例文件位于其他目录中,可以使用如下格式:
@sample etc/orbit.conf-dist etc/orbit.conf
或
@sample %%EXAMPLESDIR%%/orbit.conf etc/orbit.conf
格式为 @sample sample-file actual-config-file。
@sample sample-file actual-config-file
最后更新于8个月前
这有帮助吗?