一般ユーザーでRPMパッケージをビルドするには

今更な感じがしますが、Vine 環境ではデフォルトだったので備忘録。

環境 : CentOS release 5.2 (Final)


参考 → 一般ユーザーでRPMパッケージをビルドするには

パッケージがあった。


# yum install rpmdevtools
....
Dependencies Resolved
=============================================================================
 Package                 Arch       Version          Repository        Size 
=============================================================================
Installing:
 rpmdevtools             noarch     5.3-2.el5        epel               46 k
Installing for dependencies:
 elfutils                i386       0.125-3.el5      base              163 k
 elfutils-libs           i386       0.125-3.el5      base              105 k
 gcc-c++                 i386       4.1.2-42.el5     base              3.4 M
 libstdc++-devel         i386       4.1.2-42.el5     base              2.9 M
 redhat-rpm-config       noarch     8.0.45-24.el5    base               54 k
 rpm-build               i386       4.4.2-48.el5     base              553 k
Transaction Summary
=============================================================================
Install      7 Package(s)         
Update       0 Package(s)         
Remove       0 Package(s)         
....
$ source ~/.bashrc
$ fedora-buildrpmtree


関連するパッケージがインストールされた。

その後、一般ユーザで 『 fedora-buildrpmtree 』 コマンド実行。

何をしてるかというと。


$ ls rpmbuild/
BUILD  RPMS  SOURCES  SPECS  SRPMS
$ cat ~/.rpmmacros
%_topdir      %(echo $HOME)/rpmbuild
%_smp_mflags  -j3
%__arch_install_post   /usr/lib/rpm/check-rpaths   /usr/lib/rpm/check-buildroot


参照元にはこんな事が書いてあったので一応書いておく。(『 ~/rpm 』dir を 『 ~/rpmbuild 』に読み替えた。

$ mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPEC,SRPMS}

$ cat <<EOL
> %_topdir    %(echo $HOME)/rpmbuild
> %_builddir    %{_topdir}/BUILD
> %_rpmdir    %{_topdir}/RPMS
> %_sourcedir     %{_topdir}/SOURCES
> %_specdir    %{_topdir}/SPECS
> %_srcrpmdir    %{_topdir}/SRPMS
> EOL > .rpmmacros