--- 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# に加えては__いけません__- <>を参照してください)。 また、[.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) のマニュアルページを指すシンボリックリンクが作成されます。