Некоторые порты, в частности, порты 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 на лету, делайте
это во время или до выполнения цели
PLISTpre-install. Кроме того, если вашему порту
требуется отредактировать получающийся файл, делайте это в цели
post-install изменением файла
.TMPPLIST
Другой способ изменения списка сборки порта основан на
определении значений переменных PLIST_FILES и
PLIST_DIRS. Каждое из них рассматривается как
перечень путей для записи в
содержимого
TMPPLIST. Имена, перечисленные
в PLISTPLIST_FILES и PLIST_DIRS,
подвергаются подстановке
%%, как описано
выше. За исключением этого, имена из VAR%%PLIST_FILES
будут появляться в окончательном варианте перечня сборки без
изменений, когда как @dirrm будет предшествовать
именам из PLIST_DIRS. Для того, чтобы возыметь
действие, PLIST_FILES и
PLIST_DIRS должны задаваться до того, как будет
записываться , то
есть в цели TMPPLISTpre-install или ещё
раньше.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.