Linux Tips

ソースファイルからRPMファイルを作成するには

北浦訓行
2003/12/11

 インストールしたいプログラムが、tarボールのみで配布されていることも多い。しかし、ソースファイルをそのままコンパイル/インストールすると、RPMによる恩恵(インストール済みプログラムの検索やプログラムのアップグレードなど)が得られないので、プログラムはできるだけRPMファイルでインストールしたいものだ。

 「tarボールからRPMファイルを作成するには」で説明したとおり、SPECファイルが用意されていればrpmbuildコマンドでtarボールからRPMファイルを作成できる。しかし、ここで紹介するCheckInstallを使うと、SPECファイルが用意されていなくてもRPMファイルを作成できる。

 まず、CheckInstallのWebサイト(http://asic-linux.com.mx/~izto/checkinstall/)からソースファイルをダウンロードしてインストールする。原稿執筆時点での最新版は、checkinstall-1.6.0beta2だ。

$ tar zxvf checkinstall-1.6.0beta2.tgz
$ cd checkinstall-1.6.0beta2
$ make
$ su
Password:
# make install
# /usr/local/sbin/checkinstall
(省略)
Slackware [S], RPM [R] or Debian [D]?r ←「r」を入力して[Enter]キーを押す

This package will be built according to these values:

1 -  Summary: [ CheckInstall installations tracker, version 1.6.0beta2 ]
2 -  Name:    [ checkinstall ]
3 -  Version: [ 1.6.0beta2 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ checkinstall-1.6.0beta2 ]
9 -  Alternate source location: [  ]
10 - Provides: [ checkinstall ]
11 - Requires: [  ]

Enter a number to change any of them or press ENTER to continue: ←[Enter]キーを押す

 以上で、/usr/src/redhat/RPMS/i386ディレクトリにcheckinstall-1.6.0beta2-1.i386.rpmというファイルが作成されるので、これをインストールする。

# rpm -ihv checkinstall-1.6.0beta2-1.i386.rpm
Preparing...            ####################################### [100%]
   1:checkinstall       ####################################### [100%]

 これでCheckInstallのインストール作業は終了だ。ここでは、checkinstallコマンドの動作確認のため、SylpheedのRPMファイルを作成してみる。Sylpheedのtarボールを展開したら、./configureコマンドを実行してMakefileを作成し、checkinstallコマンドを実行する。

$ tar jxf sylpheed-0.9.7.tar.bz2
$ cd sylpheed-0.9.7
$ ./configure
$ su
Password:
# /usr/local/sbin/checkinstall
(省略)
The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs? [y]:y ←「y」を入力して[Enter]キーを押す
(省略)
Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]?r ←「r」を入力して[Enter]キーを押す

Please write a description for the package.
End your description with an empty line or EOF.
>> ←[Enter]キーを押す

This package will be built according to these values:

1 -  Summary: [ Package created with checkinstall 1.6.0beta2 ]
2 -  Name:    [ sylpheed ]
3 -  Version: [ 0.9.7 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ sylpheed-0.9.7 ]
9 -  Alternate source location: [  ]
10 - Provides: [ sylpheed ]
11 - Requires: [  ]

Enter a number to change any of them or press ENTER to continue: ←[Enter]キーを押す

 以上で、/usr/src/redhat/RPMS/i386ディレクトリにsylpheed-0.9.7-1.i386.rpmが作成される。

# ls -l /usr/src/redhat/RPMS/i386/
合計 13072
(省略)
-rw-r--r--    1 root     root      1533239 11月 30 02:44 sylpheed-0.9.7-1.i386.rpm

Linux Tips Index



 Linux Squareフォーラム Linux Tipsカテゴリ別インデックス
インストール/RPM ブート/ブートローダ
ファイル操作 環境設定
ユーザー管理 コンソール/ターミナル
X Window System セキュリティ
トラブルシューティング 他OS関係
ネットワーク ハードウェア
Webサーバ Samba
GNOME KDE
OpenOffice.org エミュレータ
ソフトウェア そのほか/FAQ
全Tips公開順インデックス Linux Tips月間ランキング
Linux Squareフォーラム全記事インデックス

MONOist組み込み開発フォーラムの中から、Linux関連記事を紹介します


Linux & OSS フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Linux & OSS 記事ランキング

本日 月間