Если ваш порт устанавливает одну или несколько динамических
библиотек, определите переменную
USE_LDCONFIG
, которая приведёт к запуску из
bsd.port.mk
команды
${LDCONFIG} -m
относительно каталога,
в который устанавливается новая библиотека (как правило, это
PREFIX/lib
), во время выполнения цели
post-install
для её регистрации в
кэше динамических библиотек. Эта переменная, если она
определена, также приведёт к добавлению соответствующей пары
команд @exec /sbin/ldconfig -m
и
@unexec /sbin/ldconfig -R
в ваш файл
pkg-plist
, так что пользователь,
устанавливающий пакет, сможет сразу же использовать
динамическую библиотеку, а удаление пакета не приведёт к тому,
что система будет предполагать, что библиотека всё ещё имеется
в наличии.
USE_LDCONFIG= yes
Если нужно, вы можете переопределить каталог по умолчанию,
задав значение USE_LDCONFIG
, в котором
должны быть перечислены каталоги, в которые устанавливаются
динамические библиотеки. Например, если ваш порт устанавливает
динамические библиотеки в каталоги
PREFIX/lib/foo
и
PREFIX/lib/bar
, то вы можете в файле
Makefile
указать следующее:
USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar
Будьте добры перепроверить, т.к. часто это вовсе не
является необходимым и может быть решено иначе с помощью
-rpath
или установки
LD_RUN_PATH
во время компоновки (для примера
смотрите lang/moscow_ml), или с
помощью сценария-обёртки, который выставляет
LD_LIBRARY_PATH
перед запуском исполняемого
файла как это делает www/seamonkey.
При установке 32-разрядных библиотек на 64-разрядной
системе используйте вместо этого
USE_LDCONFIG32
.
Постарайтесь сохранять номера версий динамических библиотек
в формате libfoo.so.0
. Наш компоновщик
позаботится только о старшем (первом) номере.
Если при обновлении порта увеличивается старший номер
версии библиотеки, то для всех портов, компонуемых с затронутой
библиотекой, следует увеличить значение
PORTREVISION
для форсирования перекомпиляции
с новой версией библиотеки.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.