Если ваш порт устанавливает конфигурационные файлы в каталог
(или куда-то еще),
не делайте их простого перечисления в файле
PREFIX
/etcpkg-plist
. Это приведёт к тому, что по команде
pkg_delete(1) или при новой установке файлы,
тщательно отредактированные и настроенные пользователем, будут
уничтожены.
Вместо этого установите файл(ы) с примерами с расширением
.
Затем скопируйте файл с примером на место настоящего файла
конфигурации, если таковой ещё не существует. При деинсталляции
удаляйте файл конфигурации только в том случае, если он идентичен
файлу с расширением filename
.sample.sample
. Вам
нужно управлять этим в Makefile
и в
pkg-plist
(для установки из пакета).
Пример части Makefile
:
Добавьте по три строки в pkg-plist
для
каждого конфигурационного файла, как показано ниже:
Данные строки являются упорядоченными. На этапе удаления
файл с примером сравнивается с рабочим конфигурационным файлом.
Полное совпадение означает отсутствие каких-либо изменений в
рабочем файле со стороны пользователя, и следовательно этот файл
может быть безопасно удалён. Так как файл с примером всё ещё
должен существовать для сравнения, строка @unexec
следует перед именем файла с примером конфигурации. На этапе
установки, если рабочий файл конфигурации отсутствует, он
копируется из файла с примером. Файл с примером обязательно
должен быть установлен до операции копирования, поэтому строка
@exec
следует после имени файла с примером
конфигурации.
Для получения дополнительного отладочного вывода на экран
можно временно удалить параметр -s
из команды
cmp(1).
Для получения дополнительной инфорации по использованию
%D
и прочих маркеров подстановки обратитесь
к странице Справочника pkg_create(1).
Если существует действительно стоящая причина не устанавливать
рабочий файл конфигурации по умолчанию, уберите строку
@exec
из pkg-plist
и
добавьте сообщение,
указывающее на то, что пользователь обязан скопировать и
отредактировать этот файл перед тем, как программное обеспечение
начнёт работать.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.