第6章 特殊情况

目录
第6.1节 共享库
第6.2节 Ports的发行限制
第6.3节 使用 perl
第6.4节 使用 X11
第6.5节 使用 automakeautoconf, 以及 libtool
第6.6节 使用 GNOME
第6.7节 使用 KDE
第6.8节 使用 Java
第6.9节 使用 Apache 和 PHP
第6.10节 使用 Python
第6.11节 使用 Emacs
第6.12节 使用 Ruby
第6.13节 使用 SDL

有一些您在创建port时的特殊情况,我们在这里提一下。

6.1 共享库

如果您的port安装了一个或多个共享库,那么请定义一个 INSTALLS_SHLIB make 变量, 在post-install标记把它注册进共享库 缓冲时会调用bsd.port.mk去运行 ${LDCONFIG} -m来指向新库的安装目录。 (通常是 PREFIX/lib) 同样,您也可以适当的在您的 pke-plist文件 中定义一组@exec /sbin/ldconfig -m@unexec /sbin/ldconfig -R, 那么用户可以在安装后马上 就能使用,并且在卸载软件包后系统也不会认为这些共享库仍然存在。

如果您需要把共享库安装在缺省的位置之外, 可以定义 LDCONFIG_DIRS make 变量,它包含安装共享库的目录列表 例如: 如果您的共享库安装到 PREFIX/lib/fooPREFIX/lib/bar directories目录,您可以在您的 Makefile中这样设置:

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

值得注意的是这里 LDCONFIG_DIRS 的内 容就像 pkg-plist 的其他部分一样要通过sed(1)过滤,所 以 PLIST_SUB 置换也会应用。我们推荐您使用 %%PREFIX%% 替换 PREFIX%%LOCALBASE%% 替换LOCALBASE%%X11BASE%% 替换X11BASE.

若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <ports@FreeBSD.org>。
关于此文档的任何问题, 请致函 <doc@FreeBSD.org>。