5.9 联机手册

  MAN[1-9LN] 这些变量, 会自动地将联机手册加到 pkg-plist (这也意味着 不能pkg-plist 中列出联机手册 ── 参见 PLIST 的生成 来了解更多细节)。 此外, 这也会让安装阶段自动地根据在 /etc/make.conf 中所作的 NO_MANCOMPRESS 设置来自动对联机手册文件执行压缩或解压缩操作。

  如果 port 尝试通过使用符号连接或硬连接将联机手册安装为多个名字, 就必须使用 MLINKS 变量来予以明示。 由 port 创建的连接, 将由 bsd.port.mk 删除和重建, 以确认它们指向了正确的文件。 任何在 MLINKS 中列出的文件都不应在 pkg-plist 中再出现。

  要指定是否在安装时对联机手册进行压缩, 可以使用 MANCOMPRESSED 变量。 这一变量可以取三种值, yesnomaybe 之一。 yes 表示联机手册已经以压缩的形式安装, no 表示还没有, 而 maybe 则表示所安装的软件会尊重 NO_MANCOMPRESS 的设置值, 因此 bsd.port.mk 不需要特别做什么事情。

  如果设置了 USE_IMAKE 而未定义 NO_INSTALL_MANPAGESMANCOMPRESSED 会自动设为 yes, 反之则是 no。 除非默认值不合适, 否则就不需要在 port 中明确地加以改变。

  如果 port 将联机手册放到了 PREFIX 之外的其它目录, 则应使用 MANPREFIX 来加以设置。 此外, 如果只有某些部分的联机手册会安装到不标准的位置, 例如某些 perl 模块的 port, 还可以使用 MANsectPREFIX (此处 sect1-9LN 之一) 来指定。

  如果您的联机手册需要装入专用于某一语言专用的子目录, 需要将 MANLANG 设为那种语言的名字。 此变量的默认值是 "" (也就是只有英语)。

  下面是一个综合的例子。

MAN1=          foo.1
MAN3=          bar.3
MAN4=          baz.4
MLINKS=        foo.1 alt-name.8
MANLANG=       "" ja
MAN3PREFIX=    ${PREFIX}/share/foobar
MANCOMPRESSED= yes

  这表示 port 会安装六个文件;

${MANPREFIX}/man/man1/foo.1.gz
${MANPREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/share/foobar/man/man3/bar.3.gz
${PREFIX}/share/foobar/man/ja/man3/bar.3.gz
${MANPREFIX}/man/man4/baz.4.gz
${MANPREFIX}/man/ja/man4/baz.4.gz

  此外, ${MANPREFIX}/man/man8/alt-name.8.gz 可能会通过您的 port 安装, 也可能不会。 无论如何, 都会创建一个符号连接, 把 foo(1) 和 alt-name(8) 联机手册连起来。

  假如只有部分联机手册是翻译过的, 则可以使用一些根据 MANLANG 内容动态生成的变量:

MANLANG=       "" de ja
MAN1=          foo.1
MAN1_EN=       bar.1
MAN3_DE=       baz.3

  这相当于下列文件:

${MANPREFIX}/man/man1/foo.1.gz
${MANPREFIX}/man/de/man1/foo.1.gz
${MANPREFIX}/man/ja/man1/foo.1.gz
${MANPREFIX}/man/man1/bar.1.gz
${MANPREFIX}/man/de/man3/baz.3.gz
若您有关于 FreeBSD ports 系统的问题, 请发送电子邮件至 <[email protected]>。
关于此文档的任何问题, 请致函 <[email protected]>。