当サイトで公開している nosrc.rpm な私家版 rpm パッケージの利用方法を以下に解説します。
前提条件
最近の RHEL、Fedora、CentOS では、以下のパッケージを事前にインストールしておく必要があります。
- rpm
- rpm-build
- redhat-rpm-config
- rpm-sign (Fedora、CentOS-7及びRHEL-7以降)
特に「redhat-rpm-config」をインストールしておかないと、コンパイル時に最適化が効かないので注意しましょう。 その他のディストリビューションについてはよく知りません。ご存知の方はコメントで情報ください。
準備
自分が普段使用している一般権限アカウント (非 root) で作業します。次のように実行しましょう。
$ cd $ mkdir -p rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS} $ echo '%_topdir %(echo $HOME)/rpmbuild' > .rpmmacros
RHEL / CentOS をお使いの方は、さらに以下のようにしておいて下さい。
$ echo '%dist .el5' >> .rpmmacros
「.el5」のところは CentOS-5 を使っている方用です。CentOS-4 をお使いの方は「.el4」などとしておいて下さい。
最近の Fedora / RHEL 用の rpm ファイルは自分のディストリビューションが何であるか検出して、生成される rpm ファイル名に「fc9」とか「el5」とかをくっつけるのですが、2008/07/18 現在 CentOS ではこの検出スクリプトで自分が CentOS であることを検出できず、おかしなことになってしまうためです。
もちろん、当サイトの私家版 rpm も同じことをしていますので、上記必ず行って下さい。
さらに、以下のようにしておくと使用している CPU に合わせて最適化されて幸せになれるかもしれません。もっとも最適化が邪魔して不幸せになる場合もなくはありませんが。
$ cd $ echo 'buildarchtranslate: i586: i586' > .rpmrc $ echo 'buildarchtranslate: i686: i686' >> .rpmrc $ echo 'buildarchtranslate: athlon: athlon' >> .rpmrc
PowerPC その他は私はよく知りません。/usr/lib/rpm/redhat/rpmrc あたりを参考にしてみてください。
ファイルを入手
各記事中の「ソース rpm」と書かれた箇所の rpm ファイルを先ほど作成した ~/rpmbuild/SRPMS に、「ソースファイル」と書かれた欄のすべてのファイルを同じく ~/rpmbuild/SOURCES にダウンロードしてください。
ファイル保存場所に box.net を使用している都合上、ダウンロードしたソース rpm の拡張子が「.download」になってしまう場合があります。その場合は拡張子を「.rpm」に直して使用してください。
ビルド
次のように実行すれば、コンパイルなどが実行され、運がよければ (こら) ~/rpmbuild/RPMS 以下のどこかにバイナリパッケージが生成されます。
$ cd ~/rpmbuild $ rpmbuild --rebuild SRPMS/hoge-x.x.x-x.nosrc.rpm
あとは普通に生成されたバイナリパッケージをインストールしてください。
ご注意
rpmbuild コマンドを実行すると、以下のような警告が出ます。
warning: group matchy does not exist - using root warning: user hideki does not exist - using root
このメッセージは私が一般ユーザーでパッケージを作ったためにでるモノなので、無視してもらって結構です。っつーか、そういうモンです。 ただし、生成された rpm をインストールするときにこのメッセージが出るようであれば、パッケージングの不具合ですのでご連絡下さい。
その他
署名
ここにあるすべての rpm パッケージは GnuPG で署名しています。 僕の公開鍵は各地の鍵サーバーに乗ってるハズです。
お願い
当サイトのパッケージをlinux ディストリビューションに収録されたり、雑誌、書籍等でご紹介して頂ける場合、メール (「_at_ は @ に置き換えて下さい」) なり各ページのコメント欄なりで御一報いただけると嬉しいです。いやもちろんライセンス的にその必要はないんだけれども、そのなんだ、突然アクセス数が増えてびっくりしたりしますんでね。心構えがね。それなりにやる気にもなりますしね。
追記 (2008/06/23)
一部 typo があったようなので修正。
どーでもいいけど、この程度のハナシをさくっとまとめたサイトはないものかいな。
ヒトに説明するトキに、テメーのサイトを引用するのはこっぱずかしいワケですが。
追記 (2008/07/18)
%{dist} マクロに関する記述を追加。
コメント