Chapter 4. rpmパッケージをつくるための準備

Table of Contents

4.1. 環境設定
4.2. makeの準備

4.1. 環境設定

Vine Linuxでは、インストール直後から一般ユーザ権限でrpmパッケージの作成が行えるように配慮されています。 以下は、必要なファイルやディレクトリを削除してしまった場合の参考です。

Note

以下の作業は、Vine Linux特有のvutilsパッケージに含まれるmkrpmdirを使う事により、 一度に行えます。端末上で

$ mkrpmdir ~

を実行するとホームディレクトリ配下に必要なrpmディレクトリツリーと.rpmmacrosを作成できます。

なお、言語設定は LANG=ja_JP.eucJP もしくは LANG=C にしてください。

まず、以下のように、rpmパッケージを作るための環境を整えましょう。

以下のようにディレクトリを準備します。

Vine Linuxのデフォルトでは/usr/src/vine/以下に、 BUILD, RPMS/i386, SOURCES, SPECS, SRPMS のディレクトリが用意されてます。 (/usr/lib/rpm/rpmrcにデフォルトの記述がある。 architectureによって、i386のかわりに、sparcだったりする)

  • RPMS/i386:できあがったrpmパッケージが収納されます。

  • SRPMS:できあがったsrpmパッケージが収納されます。

  • SPECS:srpmをrpm -ivhで展開したとき、specファイルはここに出力されます。

  • SOURCES:rpmパッケージをつくるのに必要なソースやパッチのデフォルトの置場所です。 また、srpmパッケージを展開したとき、ソースファイルはここに出力されます。

  • BUILD:rpmパッケージをつくるときに、rpmコマンドがソースを展開したり、makeしたりするための作業に使うディレクトリ。 tmpみたいなところです。

このディレクトリの位置を変更したいときには、 /etc/rpm/macros~/.rpmmacrosで設定します。 例えば、上にあげたディレクトリを全て/usr/public/rpm以下に用意するときには、 以下のように設定します。

%_topdir   /usr/public/rpm/

また、個別に以下のように設定することもできます。

%_rpmdir    /usr/public/rpm/RPMS
%_srcrpmdir /usr/public/rpm/SRPMS
%_specdir   /usr/public/rpm/SPECS
%_sourcedir /usr/public/rpm/SOURCES
%_builddir  /usr/public/rpm/BUILD

rpmdirやtopdirを設定したときには、RPMS/i386(architectureによってはRPMS/sparcなど) という名前の書き込み可なディクレトリを作っておくのを忘れないようにしましょう。 rpmパッケージを作る時はroot権限で行うといろいろ便利なのですが、同時に危険でもあります。 可能な限り、一般ユーザで作成することを推奨します。そのときには、~/.rpmmacrosを設定して、 自分のホームディレクトリなどにこれらのディレクトリを用意しましょう。

以下では、上で説明したディレクトリを単にBUILDとか、SOURCESと呼びます。