Руководство FreeBSD по созданию портов
Пред. |  | След.

# Глава 6. Особые соглашения

Имеется ещё несколько вещей, которые вы должны иметь в виду при создании порта. Этот раздел описывает наиболее часто встречающиеся из них.

# 6.1. Динамические библиотеки

Если ваш порт устанавливает одну или несколько динамических библиотек, определите переменную `INSTALLS_SHLIB`, которая приведёт к запуску из `bsd.port.mk` команды `${LDCONFIG} -m` относительно каталога, в который устанавливается новая библиотека (как правило, это ``PREFIX`/lib`), во время выполнения цели `post-install` для её регистрации в кэше динамических библиотек. Эта переменная, если она определена, также приведёт к добавлению соответствующей пары команд `@exec /sbin/ldconfig -m` и `@unexec /sbin/ldconfig -R` в ваш файл `pkg-plist`, так что пользователь, устанавливающий пакет, сможет сразу же использовать динамическую библиотеку, а удаление пакета не приведёт к тому, что система будет предполагать, что библиотека всё ещё имеется в наличии.

Если нужно, вы можете переопределить каталог, в который по умолчанию устанавливается библиотека, задав переменную `LDCONFIG_DIRS`, в которой должны быть перечислены каталоги, в которые устанавливаются динамические библиотеки. Например, если ваш порт устанавливает динамические библиотеки в каталоги ``PREFIX`/lib/foo` и ``PREFIX`/lib/bar`, то вы можете в файле `Makefile` указать следующее:

    INSTALLS_SHLIB= yes
    LDCONFIG_DIRS=  %%PREFIX%%/lib/foo %%PREFIX%%/lib/bar

Заметьте, что значение переменной `LDCONFIG_DIRS` передаётся через sed(1), как и всё остальное в `pkg-plist`, так что подстановка значения `PLIST_SUB` также происходит здесь. Рекомендуется использовать `%%PREFIX%%` для `PREFIX`, `%%LOCALBASE%%` для `LOCALBASE` и `%%X11BASE%%` для `X11BASE`.

Пред. | Начало | След.
Механизмы построения |  | Порты с ограничениями на распространение

По вопросам связанным с системой портов для FreeBSD, пишите по адресу <ports@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите по адресу <doc@FreeBSD.org>.