Time-stamp: "1999-12-02 02:40:54 yasuhide"

一般 user 権限で src.rpm を rebuild する

私の所では、rpm-2.5.5-5.2vl4 という、 Vine-1.1 の標準添付パッケージをそのまま使っているので、 [vine-users:02170] の記事を参考に、

$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,noarch}}
$ echo "topdir: $HOME/rpm" > ~/.rpmrc
としておいて、一般ユーザーでも rebuild 出来るように設定しています。

rpm-2.9 以降を使っている人は、

$ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,noarch}}
$ echo "%_topdir $HOME/rpm" > ~/.rpmmacros
としましょう。
参考資料:http://www.best.com/%7Ehoshina/linux/redhat-50.html

たかが rebuild で root 権限になる必要はありません。
ごくふつうのアプリなのに root 権限を要求する src.rpm がありますが、 「腐ってるぞタコ!」と罵倒してもいいんじゃないかなぁ…。
サーバ用で、ユーザ・グループ追加処理が面倒なら気持ちは分かるけど…。

だいたいの場合は、%install セクションの仮想インストールで、 変なところに入れようとしたり、chgrp/chown しようとしているんだよね。

%install では、${RPM_BUILD_ROOT} 以下に入れるべきだし、 ファイルの owner や所属 group は、%files セクションの %attr や %defattr で指定すべきでしょう。

…というような内容のページを 一般 user 権限で rebuild 出来る SRPM を作るには? のページに今後増やしていく予定です。

自作インストールスクリプトで謎めいたことを行っている場合は…。 私はもうあきらめます…。
autoconf/automake の使える人なら、自分で書き換えそうですが。

PS: %config(noreplace) ってどうやって使うんだろう…?
iproute2 の spec file に入っていたんですけどね。

って思っていたら、 /usr/doc/rpm-3.0.3/spec に書いてあるじゃん。調べろよ>自分

%config(noreplace) は、CHANGES によれば、 rpm-2.4.2 以降なら使えるようですね。

戻るtop へ

メールは dasen@typhoon.co.jp まで。