src.rpmからのrpmパッケージ作成手順

前回rpmパッケージの作成手順を紹介しました。

今回はsrc.rpmからのrpmパッケージの作成です。

ちなみに後々気づいたのですが、自分が行っていた方法はとってもオバカな方法でした。

なので、先に通常の方法を紹介いたします。

作成時に使用するsrc.rpmguymagerという、デジタルフォレンジックを行う時などに使用するHDDのダンプツールです。

DEFTLinuxなどに導入されています。それを、我が環境Fedora15へ入れてみようと思います。

 

 

通常方法

 

1.src.rpmをダウンロードしてきます

Fedora15用src.rpm ← ここからダウンロードします。(guymager-0.6.5-1.fc15.src.rpm

guymager以外にもいろいろなツールのsrc.rpmが置いてあります。

 

2.rpmパッケージ作成用ディレクトリ作成

前回の記事参照

パッケージ作成前手順と同じように5つのディレクトリを作成し、手順の用に作業用ディレクトリを指定する

 

3.src.rpm → rpm作成

rpmbuild --rebuild guymager-0.6.5-1.fc15.src.rpm

以上で手順で作成したディレクトRPMS/noach内にrpmパッケージが作成される。

その後は、通常通り「rpm -i *.rpm」コマンドでインストールする。

 

※作成時に、必要だけどインストールされていないライブラリなどがある場合はこのようにメッセージが出る。
エラー: ビルド依存性の失敗:
libewf-devel = 20100226 は guymager-0.6.5-1.fc15.i386 に必要とされています

これは個々にインストールする。yumやsrc.rpmからrpmパッケージを作ってインストールしたり。

 

 

かなり遠回りな作成方法

 

通常方法の手順は遠回りな方法と一緒です。

 

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パッケージを作成することができる。

上記yumでインストールできるものは、

BuildRequires: qt4-devel
BuildRequires: openssl-static
BuildRequires: openssl-devel

 

libewf-devel==20100226はサイト(ここから)からrpmパッケージをダウンロードしてきてインストールする。

yumでできるかもしれない…なぜかチャレンジはしていないが…。

 

guymagerインストールのイメージ。

 

 

このようにわざわざ自分で展開して配置してからコマンドを一個一個たたかなくても、一発で作成することができたらしい。

とりあえずは、ちょっとした勉強と、「へぇーこうなってるんだぁ…」的な気分が味わえるぐらいでした。