Centos 6.4打包tengine的rpm安装包教程

1 安装CentOS的开发环境集成包及tengine的依赖包nginx

yum groupinstall "Development Tools"
yum install pcre-devel
yum install openssl openssl-devel

2 建立tengine rpm包,用非root用户testshell

su - testmkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

3 在家目录编写.rpmmacros(就是上一篇说的自定义制做路径的文件)centos

#.rpmmacros
%_topdir /home/test/rpmbuild
%_tmppath /home/test/rpmbuild/tmp
%buildroot /home/test/rpmbuild/BUILDROOT
%_prefix   /

4 在家目录里建立制做目录rpmbuildui

rpmbuild/
├── BUILD
├── RPMS
├── SOURCES
│   └── tengine-1.5.0.tar.gz
├── SPECS
│   └── tengine.spec
├── SRPMS
└── tmp

5 tengine.spec内容code

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进行修改ip

编辑/usr/lib/rpm/macros文件:ssl

%_topdir                %{getenv:HOME}/rpmbuild
修改成:
%_topdir                %{_usrsrc}/

6 开始生产rpm包开发

#在test家目录get

rpmbuild -ba ./rpmbuild/SPECS/tengine.spec

若是没有错误,则会在rpmbuild/RPMS目录下生成相关rpm包。这只是简单的制做过程,若是要作深度定制,能够针对安装先后执行的脚本作定制。openssl

相关文章
相关标签/搜索