在 FC5 上打包 rpm 套件
為了在 FC5 上打包 gcin 套件
以前習慣用 root 來執行 rpmbuild
結果,現在不行了
查了一下 RELEASE-NOTES
Do Not Build Packages as Super-user
因此,要先安裝 fedora-rpmdevtools 這個套件
# sudo yum install fedora-rpmdevtools
接著再執行 fedora-buildrpmtree 來建立打包的環境
# fedora-buildrpmtree
於是在 $HOME 目錄下就會產生 rpmbuild 的目錄
而裡面有 BUILD RPMS SOURCES SPECS SRPMS 等子目錄
另外,還有產生一個 ~/.rpmmacros 內容包含底下三行:
%_topdir %(echo $HOME)/rpmbuild
%_smp_mflags -j3
%__arch_install_post /usr/lib/rpm/check-rpaths /usr/lib/rpm/check-buildroot
而我自己的 ~/.rpmmacros 則會再加上底下這幾行:
%_signature gpg
%_gpg_path ~/.gnupg
%_gpg_name Chung-Yen Chang (candyz)
%_gpgbin /usr/bin/gpg
%packager Chung-Yen Chang
%vendor Chinese Linux Extensions
%distribution Chinese Linux Extensions
%_unpackaged_files_terminate_build 0
接下來,就可以直接用 rpm -ivh xxx.src.rpm 了
而 source code 及 patch files 等就放到 ~/rpmbuild/SOURCES 目錄底下
spec file 則放到 ~/rpmbuild/SPECS 目錄底下
最後執行 rpmbuild -ba –sign xxx.spec 即可開始打包套件了