最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法。
1 安装centos的开发环境集成包及tengine的依赖包
yum groupinstall "Development Tools"yum install pcre-develyum install openssl openssl-devel2 创建tengine rpm包,用非root用户test
su - testmkdir -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: tengineVersion: 1.5.0Release: 1Vendor: TaobaoSummary: GUN Tengine X86_64License: GPLSource: tengine-1.5.0.tar.gzGroup: System Enviroment/DaemonsURL: http://tengine.taobao.org/Packager: guol@oschina.com%descriptionTaobao tengine package%prep%setup -q./configure --prefix=/etc/nginx/ make%installmake 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上测试通过