gettext
rc
)Имеется ещё несколько вещей, которые вы должны иметь в виду при создании порта. Этот раздел описывает наиболее часто встречающиеся из них.
Если ваш порт устанавливает одну или несколько динамических
библиотек, определите переменную 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
для
форсирования перекомпиляции с новой версией библиотеки.
Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.