Некоторые порты, в частности, порты p5-
, должны
менять содержимое своих файлов pkg-plist
в
зависимости от того, с какими параметрами они были отконфигурированы
(или в зависимости от версии языка perl
в случае
портов p5-
). Чтобы облегчить этот
процесс, любые вхождения ключевых слов %%OSREL%%
,
%%PERL_VER%%
и %%PERL_VERSION%%
в файле pkg-plist
будут заменяться соответствующими
значениями. Значением %%OSREL%%
является номер
версии операционной системы (например, 4.9
).
%%PERL_VERSION%%
и %%PERL_VER%%
обозначают полный номер версии perl
(например,
5.8.9
). Некоторые
другие %%
, имеющие
отношение к файлам документации порта, описаны в соответствующем разделе.VARS
%%
Если вам нужно сделать другие подстановки, вы можете указать в
переменной PLIST_SUB
список пар
,
и все вхождения VAR
=VALUE
%%
в файле VAR
%%pkg-plist
будут заменяться на значение
VALUE
.
Например, если у вас имеется порт, который устанавливает много файлов в каталог, зависящий от версии, вы можете задать нечто типа
в файле Makefile
и использовать
%%OCTAVE_VERSION%%
везде, где нужно указать
номер версии в файле pkg-plist
. Таким образом,
при обновлении порта вам не нужно будет менять десятки (а в некоторых
случаях и сотни) строк в файле pkg-plist
.
Если ваш порт устанавливает файлы в соответствии с установленными
в порту опциями, то обычным способом управления является добавление
префиксов %%TAG%%
для строк
pkg-plist
с добавлением этого
TAG
в переменную PLIST_SUB
внутри Makefile
со специальным значением
@comment
, которое указывает пакетным инструментам
игнорировать эти строки:
и в самом pkg-plist
:
Эта подстановка (также, как и добавление любых справочных страниц) будет сделана
между выполнением целей pre-install
и
do-install
, посредством чтения файла
и записью в файл
PLIST
(по умолчанию это файл
TMPPLIST
). Так
что если ваш порт строит WRKDIR
/.PLIST.mktmp
на лету, делайте
это во время или до выполнения цели
PLIST
pre-install
. Кроме того, если вашему порту
требуется отредактировать получающийся файл, делайте это в цели
post-install
изменением файла
.TMPPLIST
Другой способ изменения списка сборки порта основан на
определении значений переменных PLIST_FILES
и
PLIST_DIRS
. Каждое из них рассматривается как
перечень путей для записи в
содержимого
TMPPLIST
. Имена, перечисленные
в PLIST
PLIST_FILES
и PLIST_DIRS
,
подвергаются подстановке
%%
, как описано
выше. За исключением этого, имена из VAR
%%PLIST_FILES
будут появляться в окончательном варианте перечня сборки без
изменений, когда как @dirrm
будет предшествовать
именам из PLIST_DIRS
. Для того, чтобы возыметь
действие, PLIST_FILES
и
PLIST_DIRS
должны задаваться до того, как будет
записываться
, то
есть в цели TMPPLIST
pre-install
или ещё
раньше.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.