パッケージ作成環境の設定

ディレクトリ構成

 パッケージ作成環境は、以下のディレクトリ構成となっています。
#/usr/redhat/srcにrootの環境としてすでに作成されています

SOURCES ソースのアーカイブ、パッチ格納用
RPMパッケージを生成するためのソースファイルを置いておく。

rpm -i *.src.rpmでソースをインストールをすると、specファイル以外はここに含まれる
SPECS rpmの定義ファイル(*.spec)格納用
RPMパッケージをどのようなディレクトリ先,アンインストールを行う際の振る舞いなど,すべての動きを記述するファイルspecが置かれる
BUILD 作業用(ソースの展開、メイクで使用)
最終的にRPMパッケージを作成する際に使用される。

パッケージ作成(ビルド)途中にエラーが生じた場合には,このBUILD/下にあるファイルで状況判断ができる
RPMS 作成したバイナリパッケージ格納用
BUILDにエラーが無かった場合, このディレクトリ下にあるi386/,i686/,noarch/にバイナリパッケージ(*.rpm)が作成される。
SRPMS 作成したソースパッケージ格納用
BUILDにエラーが無かった場合, このディレクトリ下にはソースパッケージ(*.src.rpm)が作成される

ファイル名の命名規則

 パッケージを作成する場合のファイル名は、以下の規則に従います。

<パッケージ名>-<バージョン番号>.<リリース番号>.spec
<パッケージ名>-<バージョン番号>.<リリース番号>.<アーキテクチャ>.rpm

ディレクトリの作成

 rootではないユーザがパッケージを作成するためには、 作業ディレクトリをホームディレクトリ内の.rpmmacros(RPM2の場合.rpmrc)で指定します。

まず以下のディレクトリを作成する必要があります。 $RPM_BUILD_ROOTは、/tmpなどを指定する場合が多いですが、 ここでは、topdir配下のROOTを指定しています。

      unix# vi $HOME/.rpmmacros
%_topdir /home/joe/

unix# mkdir rpm; cd rpm
unix# mkdir BUILD RPMS SOURCES SPECS SRPMS
unix# mkdir RPMS/i386
unix# mkdir ROOT