Centos6.4製做Tengine的rpm包

    最近又在centos6.4下折騰tengine了,恰好不久前看了rpm包的製做方法,因此又有了搞個rpm包的想法。 python

1 安裝centos的開發環境集成包及tengine的依賴包 nginx

yum groupinstall "Development Tools"
yum install pcre-devel
yum install openssl openssl-devel
2 建立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
└── tmp
5 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

相關文章
相關標籤/搜索