---
title: 第9章 マニュアルページ
prev: books/porters-handbook/shared
next: books/porters-handbook/porting-motif
showBookMenu: true
weight: 9
params:
  path: "/books/porters-handbook/porting-manpages/"
---

[[porting-manpages]]
= マニュアルページ
:doctype: book
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:sectnumoffset: 9
:partnums:
:source-highlighter: rouge
:experimental:
:images-path: books/porters-handbook/

ifdef::env-beastie[]
ifdef::backend-html5[]
:imagesdir: ../../../../images/{images-path}
endif::[]
ifndef::book[]
include::shared/authors.adoc[]
include::shared/mirrors.adoc[]
include::shared/releases.adoc[]
include::shared/attributes/attributes-{{% lang %}}.adoc[]
include::shared/{{% lang %}}/teams.adoc[]
include::shared/{{% lang %}}/mailing-lists.adoc[]
include::shared/{{% lang %}}/urls.adoc[]
toc::[]
endif::[]
ifdef::backend-pdf,backend-epub3[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]
endif::[]

ifndef::env-beastie[]
toc::[]
include::../../../../../shared/asciidoctor.adoc[]
endif::[]

`MAN[1-9LN]` 変数に指定したマニュアルは 自動的に [.filename]#pkg-plist# に追加されます (つまり、マニュアルを [.filename]#pkg-plist# に加えては__いけません__- <<porting-plist,pkg-plist の生成>>を参照してください)。 また、[.filename]#/etc/make.conf# 中の `NOMANCOMPRESS` の設定に従って、インストール時に マニュアルを自動的に圧縮したり復元したりします。

その port が、シンボリックリンクやハードリンクを用いて、 複数のファイル名を持つマニュアルをインストールする場合には、 それらを識別するために `MLINKS` 変数を使用しなければなりません。 port によってインストールされたリンクは、 意図したファイルをきちんと指しているかどうか確認するため、 [.filename]#bsd.port.mk# によって削除されたり、 再作成されたりします。 MLINKS に指定されたマニュアルも、 [.filename]#pkg-plist# に含めてはいけません。

マニュアルをインストール時に圧縮するかどうかを指定するには、 `MANCOMPRESSED` 変数を使用します。 この変数は `yes`, `no` そして `maybe` の三つの値をとることができます、 `yes` はマニュアルが既に圧縮されてインストールされていること、 `no` は圧縮されていないこと、 `maybe` は既にそのソフトウェアが `NOMANCOMPRESS` の値に従っていて、 [.filename]#bsd.port.mk# は特別なにもする必要がないことを意味します。

`USE_IMAKE` がセットされていて、 `NO_INSTALL_MANPAGES` がセットされていなければ、 `MANCOMPRESSED` は自動的に `yes` に設定されます。それ以外の場合には、`MANCOMPRESSED` は `no` に設定されます。 その port にとって、デフォルトの設定が適切でない場合以外には、 明示的に設定する必要はありません。

`PREFIX` 以外のディレクトリの下にマニュアルを置くような port では、そのディレクトリを `MANPREFIX` で指定することができます。 さらに、いくつかの `perl` モジュールの ports のように、 特定のセクションのマニュアルだけを非標準の場所にインストールする場合、 個々のマニュアルのパスを `MAN_sect_PREFIX` (ここで _sect_ は `1-9`, `L`, または `N` のいずれか) により指定することができます。

マニュアルが言語特有のサブディレクトリに置かれる場合には、 その言語名を `MANLANG` に設定してください。 この変数のデフォルト値は `""` になっています (つまり、英語のみ)。

これは、全部をまとめた例です。

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

これは、この port により以下の 6 個のファイルがインストールされることを表しています。

[.programlisting]
....
${PREFIX}/man/man1/foo.1.gz
${PREFIX}/man/ja/man1/foo.1.gz
${PREFIX}/shared/foobar/man/man3/bar.3.gz
${PREFIX}/shared/foobar/man/ja/man3/bar.3.gz
${PREFIX}/man/man4/baz.4.gz
${PREFIX}/man/ja/man4/baz.4.gz
....

さらに [.filename]#${PREFIX}/man/man8/alt-name.8.gz# がこの port によってインストールされるかどうかわかりませんが、 それとは無関係に foo(1) と alt-name(8) のマニュアルページを指すシンボリックリンクが作成されます。
