最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法。
1 安装centos的开发环境集成包及tengine的依赖包
1 |
yum groupinstall "Development Tools"
|
3 |
yum install openssl openssl - devel
|
2 创建tengine rpm包,用非root用户test
2 |
mkdir - p ~ / rpmbuild / {BUILD,RPMS,SOURCES,SPECS,SRPMS}
|
3 在家目录编写.rpmmacros(就是上一篇说的自定义制作路径的文件)
2 |
% _topdir / home / test / rpmbuild
|
3 |
% _tmppath / home / test / rpmbuild / tmp
|
4 |
% buildroot / home / test / rpmbuild / BUILDROOT
|
4 在家目录里创建制作目录rpmbuild
5 |
│ └── tengine - 1.5 . 0.tar .gz
|
5 tengine.spec内容
05 |
Summary: GUN Tengine X86_64 |
07 |
Source: tengine - 1.5 . 0.tar .gz
|
08 |
Group: System Enviroment / Daemons
|
09 |
URL: http: / / tengine.taobao.org /
|
10 |
Packager: guol@oschina.com |
12 |
Taobao tengine package |
17 |
. / configure - - prefix = / etc / nginx /
|
21 |
make DESTDIR = $RPM_BUILD_ROOT install
|
23 |
[ "$RPM_BUILD_ROOT" ! = "/" ] && rm - rf "$RPM_BUILD_ROOT"
|
27 |
% defattr ( - ,root,root)
|
注意:在centos 6.0上使用rpmbuild制作rpm包如果出现File not found: /root/rpmbuild/BUILDROOT/…的错误,看是centos 6中的rpmbuild topdir已经改变,为了能兼容centos 5的spec文件,需要对topdir进行修改
1 |
编辑 / usr / lib / rpm / macros文件:
|
2 |
% _topdir % {getenv:HOME} / rpmbuild
|
6 开始生产rpm包
2 |
rpmbuild - ba . / rpmbuild / SPECS / tengine.spec
|
如果没有错误,则会在rpmbuild/RPMS目录下生成相关rpm包。这只是简单的制作过程,如果要做深度定制,可以针对安装前后执行的脚本做定制。
注:以上配置文件在centos6.4上测试通过