歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.4制作Tengine的rpm包

CentOS 6.4制作Tengine的rpm包

日期:2017/2/28 14:37:56   编辑:Linux教程

最近又在CentOS 6.4下折騰tengine了,剛好不久前看了rpm包的制作方法,所以又有了搞個rpm包的想法。

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

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: [email protected]
%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上測試通過

Copyright © Linux教程網 All Rights Reserved