12.4. Изменение содержимого pkg-plist в зависимости от make-переменных

Некоторые порты, в частности, порты p5-, должны менять содержимое своих файлов pkg-plist в зависимости от того, с какими параметрами они были отконфигурированы (или в зависимости от версии языка perl в случае портов p5-). Чтобы облегчить этот процесс, любые вхождения ключевых слов %%OSREL%%, %%PERL_VER%% и %%PERL_VERSION%% в файле pkg-plist будут заменяться соответствующими значениями. Значением %%OSREL%% является номер версии операционной системы (например, 2.2.7). %%PERL_VERSION%% обозначает полный номер версия perl (например, 5.00502), а %%PERL_VER%% - номер версии perl без номера патча (например, 5.005).

Если вам нужно сделать другие подстановки, вы можете указать в переменной PLIST_SUB список пар VAR=VALUE, и все вхождения %%VAR%% в файле pkg-plist будут заменяться на значение VALUE.

Например, если у вас имеется порт, который устанавливает много файлов в каталог, зависящий от версии, вы можете задать нечто типа

    OCTAVE_VERSION= 2.0.13
    PLIST_SUB=  OCTAVE_VERSION=${OCTAVE_VERSION}

в файле Makefile и использовать %%OCTAVE_VERSION%% везде, где нужно указать номер версии в файле pkg-plist. Таким образом, при обновлении порта вам не нужно будет менять десятки (а в некоторых случаях и сотни) строк в файле pkg-plist.

Эта подстановка (так же, как и добавление любых страниц Справочника) будет сделана между выполнением целей do-install и post-install, посредством чтения файла PLIST и записью в файл TMPPLIST (по умолчанию это файл WRKDIR/.PLIST.mktmp). Так что если ваш порт строит PLIST на лету, делайте это во время или до выполнения цели do-install. Кроме того, если вашему порту требуется отредактировать получающийся файл, делайте это в цели post-install изменением файла TMPPLIST.

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <[email protected]>.
По вопросам связанным с этом документацией, пишите по адресу <[email protected]>.