一般ユーザーの権限で rpmbuild (゚Д゚ )ウマー

  Linux

rpmbuild の実行権限

rpm を作成する rpmbuild を root で実行してる?ぜひ、一般ユーザ権限での rpmbuild に移行しよう。
rpmbuild は、root で実行すると “/usr/src/redhat/…” にファイルが保存される。要は、このディレクトリに対して一般ユーザーは書き込み権限を持っていないので、rpmbuild が実行できない。,,,ということは、rpmbuild が書き込むディレクトリ先を変更してやればよいわけである。(/usr/src/redhat のパーミッションを変更すればいいってゆーやつはアホだ)
まずは、自分専用のディレクトリを掘る。”$HOME/src/rpms” あたりが妥当じゃないかな?,,,で、その中に BUILD, RPMS, SOURCES, SPECS, SRPMS という 5 つのディレクトリを作成する。rpmbuild に対する変更(設定)は、「.rpmmacros」というファイルで行う。「%_topdir」マクロがデフォルトだと “/usr/src/redhat” と定義されているので、これを “$HOME/src/rpms” に変更するだけ。
RPM ファイルが保存されるのは、”$HONE/src/rpms/…” である。gcc や rpmbuild コマンドがない(インストールされていない)とかいうのは、知らんよ…

sudo yum -y install gcc sudo rpm-build

dot rpmmacros (.rpmmacros) を設定してディレクトリを掘るコマンド

ややこしいことはおいといて、以下のコマンドを実行すれば、一般ユーザでも rpmbuild できる。

echo "%_topdir $HOME/src/rpms" > $HOME/.rpmmacros
mkdir -p $HOME/src/rpms/{BUILD,RPMS,SOURCES,SPECS,SRPMS}