最近又在centos6.4下折騰tengine了,恰好不久前看了rpm包的製做方法,因此又有了搞個rpm包的想法。 python
1 安裝centos的開發環境集成包及tengine的依賴包 nginx
yum groupinstall "Development Tools" yum install pcre-devel yum install openssl openssl-devel2 建立tengine rpm包,用非root用戶test
su - test mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}3 在家目錄編寫.rpmmacros(就是上一篇說的自定義製做路徑的文件)
#.rpmmacros %_topdir /home/test/rpmbuild %_tmppath /home/test/rpmbuild/tmp %buildroot /home/test/rpmbuild/BUILDROOT %_prefix /4 在家目錄裏建立製做目錄rpmbuild
rpmbuild/ ├── BUILD ├── RPMS ├── SOURCES │ └── tengine-1.5.0.tar.gz ├── SPECS │ └── tengine.spec ├── SRPMS └── tmp5 tengine.spec內容
Name: tengine Version: 1.5.0 Release: 1 Vendor: Taobao Summary: GUN Tengine X86_64 License: GPL Source: tengine-1.5.0.tar.gz Group: System Enviroment/Daemons URL: http://tengine.taobao.org/ Packager: guol@oschina.com %description Taobao tengine package %prep %setup -q ./configure --prefix=/etc/nginx/ make %install make DESTDIR=$RPM_BUILD_ROOT install %clean [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT" make clean %files %defattr (-,root,root) /etc/nginx/注意:在centos 6.0上使用rpmbuild製做rpm包若是出現File not found: /root/rpmbuild/BUILDROOT/…的錯誤,看是centos 6中的rpmbuild topdir已經改變,爲了能兼容centos 5的spec文件,須要對topdir進行修改
編輯/usr/lib/rpm/macros文件: %_topdir %{getenv:HOME}/rpmbuild 修改成: %_topdir %{_usrsrc}/6 開始生產rpm包
#在test家目錄 rpmbuild -ba ./rpmbuild/SPECS/tengine.spec若是沒有錯誤,則會在rpmbuild/RPMS目錄下生成相關rpm包。這只是簡單的製做過程,若是要作深度定製,能夠針對安裝先後執行的腳本作定製。
注:以上配置文件在centos6.4上測試經過 centos