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