src.rpmからのrpmパッケージ作成手順
前回rpmパッケージの作成手順を紹介しました。
ちなみに後々気づいたのですが、自分が行っていた方法はとってもオバカな方法でした。
なので、先に通常の方法を紹介いたします。
作成時に使用するsrc.rpmはguymagerという、デジタルフォレンジックを行う時などに使用するHDDのダンプツールです。
DEFTLinuxなどに導入されています。それを、我が環境Fedora15へ入れてみようと思います。
通常方法
1.src.rpmをダウンロードしてきます
Fedora15用src.rpm ← ここからダウンロードします。(guymager-0.6.5-1.fc15.src.rpm)
guymager以外にもいろいろなツールのsrc.rpmが置いてあります。
パッケージ作成前手順2と同じように5つのディレクトリを作成し、手順4の用に作業用ディレクトリを指定する
rpmbuild --rebuild guymager-0.6.5-1.fc15.src.rpm
以上で手順2で作成したディレクトリRPMS/noach内にrpmパッケージが作成される。
その後は、通常通り「rpm -i *.rpm」コマンドでインストールする。
※作成時に、必要だけどインストールされていないライブラリなどがある場合はこのようにメッセージが出る。
エラー: ビルド依存性の失敗:
libewf-devel = 20100226 は guymager-0.6.5-1.fc15.i386 に必要とされています
これは個々にインストールする。yumやsrc.rpmからrpmパッケージを作ってインストールしたり。
かなり遠回りな作成方法
通常方法の手順1,2は遠回りな方法と一緒です。
3.ダウンロードしてきたsrc.rpmパッケージを展開する
guymager-0.6.5-1.fc15.src.rpmを展開すると、guymager-0.6.5-1.fc15.srcディレクトリが作成される。中身は、
|-- guymager-0.6.5-patch-001.el5
|-- guymager-0.6.5-patch-001.el6
|-- guymager-0.6.5-patch-001.fc12
|-- guymager-0.6.5-patch-001.fc13
|-- guymager-0.6.5-patch-001.fc14
|-- guymager-0.6.5-patch-001.fc15
|-- guymager-0.6.5-patch-001.fc16
|-- guymager-0.6.5-patch-002
|-- guymager-0.6.5-patch-003
|-- guymager-0.6.5.tar.gz
`-- guymager.spec
この中で、specファイルとtar.gzファイルは前回作成時に使ったファイルと同じであるので、見覚えのあるファイルである。
さっそくこの両ファイルを指定のディレクトリに格納する
- guymager.spec → SPECS
- gyumager-0.6.5.tar.gz → SOURCES
4.格納したら、specファイルの内容を書き換える
BuildRootを書き換える。(自分の環境に合わせて)
BuildRoot: /home/kiyoto/kyonta/rpm/ROOT
BuildRequireの項目から指定されているようなライブラリが必要であるとわかる。
BuildRequires: qt4-devel
BuildRequires: openssl-static
BuildRequires: openssl-devel
BuildRequires: libewf-devel == 20100226
5.rpmbuildを行ってみる
とりあえず、ライブラリは必要になったらインストールすればいいので、rpmbuildをしてみる
「パッチファイルがありません」と出る。
ソースファイルだけでなくパッチファイルもSOURCEディレクトリにいれてあげなければいけなかったらしいので、展開したときにあったファイル
patch-00*.*系を全部SOURCEディレクトリに放り込む。
さきほどのBuildRequiresで指定されているライブラリを全部インストールすれば、問題なくrpmパッケージを作成することができる。
BuildRequires: qt4-devel
BuildRequires: openssl-static
BuildRequires: openssl-devel
libewf-devel==20100226はサイト(ここから)からrpmパッケージをダウンロードしてきてインストールする。
yumでできるかもしれない…なぜかチャレンジはしていないが…。
guymagerインストールのイメージ。
このようにわざわざ自分で展開して配置してからコマンドを一個一個たたかなくても、一発で作成することができたらしい。
とりあえずは、ちょっとした勉強と、「へぇーこうなってるんだぁ…」的な気分が味わえるぐらいでした。