メニューを飛ばして本文へ


Vine Linux

検索

Google

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

4.1. 環境設定

Vine Linuxでは、インストール直後から一般ユーザ権限でrpmパッケージが作れるように配慮されています。 通常ユーザーのホームディレクトリにはrpmパッケージを作る為のディレクトリが以下のように用意されているはずです。

~/rpm
  |-- BUILD
  |-- RPMS
  |   |-- alpha
  |   |-- athlon
  |   |-- i386
  |   |-- i586
  |   |-- i686
  |   |-- noarch
  |   |-- ppc
  |   `-- sparc
  |-- SOURCES
  |-- SPECS
  `-- SRPMS

またユーザー毎のマクロを記述する.rpmmacrosファイルもホームディレクトリに用意されているはずです。 もし必要なファイルやディレクトリが無い、または削除してしまった場合は、端末上で mkrpmdir コマンドを実行してください。

$ mkrpmdir ~

このコマンドによりホームディレクトリ(~)配下に必要なrpmディレクトリツリーと.rpmmacrosを作成できます。 mkrpmdirコマンドは、既存の .rpmmacros ファイルを上書きしません。

Note

上記のコマンドは、Vine Linux特有のvutilsパッケージに含まれています。

言語設定は LANG=ja_JP.eucJP もしくは LANG=C にする必要があります。

各ディレクトリはそれぞれ次のように使われます。

  • RPMS/i386:できあがったrpmパッケージが収納されます。 (architectureによってi386の所がppcやsparcだったりします)

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

  • SPECS :srpmパッケージをrpm -ivhで展開した時のspecファイルがここに出力されます。

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

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

このディレクトリの位置を変更したいときには、 /usr/lib/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権限で行うとなんでもできてしまいますが、 パッケージのビルド中にインストール先を間違って既存のファイルを上書きしてしまったり、 あるいは消去してしまったりという危険を伴います。 可能な限り、一般ユーザ権限で作成することを推奨します。

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