aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/ja/books/porters-handbook/porting-manpages/_index.adoc
blob: 786ff1ce2ff704d6f33434f1ac41b30a33352b29 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
---
title: 第9章 マニュアルページ
prev: books/porters-handbook/shared
next: books/porters-handbook/porting-motif
showBookMenu: true
weight: 9
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) のマニュアルページを指すシンボリックリンクが作成されます。