RPMの使い方は Vine-Linuxならオンラインマニュアル中に、あるいはWeb上に RPMによるパッケージ管理があります。 とくに「5.3. RPM - RPM Package Manager」、 「5.4. ソースパッケージからバイナリパッケージを再構築(rebuild)する」などが参考になるでしょう。
*.src.rpm、*.nosrc.rpm などのソースパッケージ(SRPM)をリビルドすることにより、*.i386.rpm、*.noarc.rpm などのバイナリパッケージ(RPM)を作ることができます。 できあがったバイナリパッケージを root権限でインストーするのが基本的な手順となります。
ソースパッケージを rebuild するためには、rpmbuild というコマンドが必要になります。 (古いシステムでは rpm --rebuild コマンドで代用される。) その他にもコンパイル作業に必要となるコマンドなどを含んださまざまなパッケージが必要となります。 Vine Linux では、これらのパッケージをまとめてインストールするために、build-essential というパッケージが用意されています。root ユーザーでインストールしてください。
# apt-get install build-essential
Vine Linux 以外の RedHat系OS(少なくとも rpm コマンドが使える)では、 「開発ツール」などに分類されているパッケージ群となります。
Vine Linuxでは問題ありませんが、 一部のシステムではSRPMのリビルドに root権限を要求するものがあります。 そのようなシステムでは一般ユーザーでリビルドできる環境を整えることをお勧めします。
$ cp -r /usr/src/redhat ~/rpm/usr/src/redhat のところはシステムにより異ります。
$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}}
%_topdir /home/tako/rpm %packager My name <myaccound@mydomain> %_sysconfdir /etc
ppxp-2001051623-1.src.rpm を適当なディレクトリにダウンロードし、ユーザー権限で
$ rpmbuild --rebuild ppxp-2001051623-1.src.rpm
としてバイナリを作ります。
古いシステムでは rpmbuild --rebuild ではなく rpm --rebuild の場合もあります。
できたバイナリはVine2.0で標準のままだと/usr/src/redhat/RPMS/i386に、
Vine2.1では~/rpm/RPMS/i386にあるはず。
リビルドのときにたくさん出てくるメッセージの最後のほうに
「書き込み中:/home/tako/rpm/RPMS/i386/ppxp-2001051623-1.i386.rpm」
あるいは
「Writing...」などで表示されます。
コピーしてくるか、そのディレクトリへ移り、root権限でインストールします。
$ su $ Password: (rootパスワード) # cd /usr/src/redhat/RPMS/i386 # rpm -Uvh ppxp-2001051623-1.i386.rpm
インストールの確認は
$ rpm -q ppxp として
ppxp-2001051623-1
とでてくればOK。
一部のシステムではRPMのリビルドのroot権限が必要ですが、 RPMを一般ユーザーでリビルドできる環境を整えることをお勧めします。 以下、そのような環境を想定して説明します。
$ rpmbuild --rebuild *.nosrc.rpm古いシステムでは rpmbuild --rebuild ではなく rpm --rebuild の場合もあります。
$ su $ password: ルートのパスワードを入力 # rpm -Uvh *.i386.rpm
古いシステムでは rpmbuild --rebuild ではなく rpm --rebuild の場合もあります。 rpmbuild コマンドは rpm-build パッケージに納められている場合があります。 これをインストールするか、 Vine Linuxの場合は build-essential パッケージをインストールしてください。
+ make /var/tmp/rpm-tmp.74455: make: command not found /var/tmp/rpm-tmp.74455 の不正なステータス (%build)のようなメッセージが出てエラー終了します。
makeやautoconfなどコンパイル作業に必要なコマンドがインストールされていません。 Vine Linuxの場合は build-essential パッケージをインストールしてください。 あるいは「開発ツール」などに分類されているパッケージ群をごっそり入れてください。
# rpm -Uvh ppxp-2001051623-1.i386.rpmとしてアップデートしようとすると、 ppxp-0.0012.923-8がすでにインストールされていて、 しかもそっちの方が新しいからインストールできない、というメッセージが出て進めません。
A. ppxp-0.0012.923-8というのが何だかわかりませんが
# rpm -Uvh --oldpackage ppxp-2001051623-1.i386.rpmと、--oldpackageオプションを加えて入れてください。