JM RPM/SRPM パッケージ

ここでは、 JM Project (以下 JM) が配布している rpm パッケージについて説明します。

ダウンロード

JM で配布している rpm パッケージは、以下のリンクより取得できます。

パッケージの種類

noarch.rpm

JM で配布している man page を全て含んでいます。 インストールすることで日本語 man page を利用できます。 インストール先は FHS 2.x に従って、/usr/share/man/ja_JP.eucJP 配下です。

注: 従来、FSSTND に従ったディレクトリ構成 (インストール先が /usr/man 配下) で配布していましたが、 FHS に従ったインストール先に変更になりました。 man page を使用するに当たり、 この変更を特にユーザが意識する必要はありませんが、 symbolic link を張っていた場合などは、注意が必要です。

/usr/share/man/ja_JP.eucJP 以外のディレクトリにインストールするなどの 変更を加えたい場合は、 別配布の src.rpm を自身の合わせて適宜修正した後、 build 作業によってバイナリパッケージ (noarch.rpm) を作成し、 インストールします(後述)。

src.rpm

JM で配布している man page のソース、 および noarch.rpm を構築するのに必要な spec ファイルを含みます。 noarch.rpm のデフォルトを変更したい場合などに使用するパッケージです。

インストール

JM で配布している man page をインストールするには、 noarch.rpm をroot 権限でインストールします。 sudo あるいは su で root 権限に移行してインストール作業を行ってください。

カレントディレクトリに取得した rpm パッケージを置き、 以下のコマンドを実行します。

$ su
(パスワード の入力)
# rpm -Uvh jman_pages-0.5-xxx.noarch.rpm
# exit

man page は、/usr/share/man/ja_JP.eucJP/ 配下にインストールされます。 また必要な場合にのみ、ja_JP.eucJP に対し、 自動的に ja という symblic link が張られます。

FHS から FSSTND への変更 (src.rpm の rebuild)

FHS なインストール先 (/usr/share/man )ではなく FSSTND なインストール先 (/usr/man) としたい場合は、 src.rpm の rebuild だけで対応可能です。

rebuild 時に RPM が /usr/lib/rpm/macros を読み、 システムが FHS か FSSTND かを判断する仕組みを利用しているため、 ほとんどの環境で spec ファイルの修正は不要です。

以下に src.rpm の rebuild についての手順を示します。

注: 以下の例は、RPM のバージョンが 3.0.x 以降の場合です。

1. 準備

rebuild 作業自体は、root あるいはユーザ権限でのどちらでも可能です。 root 権限で作業する場合は、/usr/src/redhat 以下 (RPM のデフォルト。既に存在しているはずです) での作業になります。

注: ただし、root 権限で作業を行うリスク(システム損傷など) を考えた場合、 ユーザ権限での作業を強く勧めます。

ユーザ権限で行う場合は、 ホームディレクトリに以下のファイル/ディレクトリがどちらも存在することを確認し、 無ければ作成します。

~/.rpmmacros
%_topdir                /home/ユーザ名/rpm
%_builddir              %{_topdir}/BUILD
%_rpmdir                %{_topdir}/RPMS
%_sourcedir             %{_topdir}/SOURCES
%_specdir               %{_topdir}/SPECS
%_srcrpmdir             %{_topdir}/SRPMS

ユーザ名にはあなたの login name を記述します。

~/rpm/ 以下のディレクトリ構成
~/rpm/BUILD
     /RPMS/
     /SOURCES
     /SPECS
     /SRPMS

2. rebuild

以下のコマンドを実行します。

$ rpm --rebuild jman_pages-0.5-xxx.src.rpm      (ユーザ権限の場合)
# rpm --rebuild jman_pages-0.5-xxx.src.rpm      (root 権限の場合)

3. 作成したパッケージのインストール

パッケージはそれぞれ以下のディレクトリに作成されます。

~/rpm/RPMS/noarch               (ユーザ権限の場合)
/usr/src/redhat/RPMS/noarch     (root 権限の場合)

あとは、通常のバイナリパッケージと同様にインストールします。

パッケージが適切に作成されたかは、 以下のコマンドライン・オプションで判断可能です。

$ rpm -qlp <作成したパッケージ>

パッケージのカスタマイズ

FHS、FSSTND 以外のインストール先や、 その他 noarch.rpm のデフォルトを変更したい場合は、 src.rpm の build が必要です。

まず jman_pages-0.5-xxx.src.rpm を展開します。

$ rpm -Uvh jman_pages-0.5-xxx.src.rpm   (ユーザ権限の場合)
# rpm -Uvh jman_pages-0.5-xxx.src.rpm   (root 権限の場合)

~/rpm/SPECS (ユーザ権限で実行した場合) あるいは /usr/src/redhat/SPECS (root 権限で実行した場合) に spec ファイルが、 また ~/rpm/SOURCES あるいは /usr/src/redhat/SOURCES にソースファイルが、 それぞれインストールされます。

希望する変更を spec ファイルに行った後、パッケージを build します。

$ rpm -bb jman_pages.spec               (ユーザ権限の場合)
# rpm -bb jman_pages.spec               (root 権限の場合)

オプションには以下のようなものがあります。適宜使い分けてください。

-bb     バイナリパッケージを build      (noarch.rpm ができます)
-bs     ソースパッケージを build        (src.rpm ができます)
-ba     上記 2つを同時に build          (noarch.rpm + src.rpm ができます)

詳細については、ディストリビューション付属のマニュアルや、 JF の RPM-BUILD-HOWTO などを参照してください。

rpm パッケージの naming に関して

パッケージ名は man-pages-ja にしようという案がありましたが、 man-pages-ja というのはあくまでも英語の man-pages パッケージに対応した 日本語man ページのパッケージ名であるべきで、 JM の配布物はそれ以外のものも多く含んでいるので、 このような naming になっています。

謝辞

RPM を作成した PJE プロジェクト、 ならびに(株)レーザーファイブ、 そしてマニュアル作成に携わった多くの人々に感謝します。 また、linux-users ML/JM ML において、 rpm パッケージ作成に関してご助言くださった皆様に感謝します。


JM Project や配布マニュアルページに関わるご意見ご要望は JM@linux.or.jp までお願いします。

* マニュアルアーカイブのダウンロードに戻る

* JM Project のメインページへ戻る