手机版
你好,游客 登录 注册
背景:
阅读新闻

CentOS 6.4制作Tengine的rpm包

[日期:2013-12-10] 来源:oschina.net  作者:China_OS [字体: ]

最近又在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:  guol@oschin.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进行修改

编辑/usr/lib/rpm/macros文件:
%_topdir                %{getenv:HOME}/rpmbuild
修改为:
%_topdir                %{_usrsrc}/

6 开始生产rpm包

#在test家目录
rpmbuild -ba ./rpmbuild/SPECS/tengine.spec

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

注:以上配置文件在centos6.4上测试通过

相关阅读:

制作自己的rpm包 http://www.linuxidc.com/Linux/2013-06/86435.htm

Linux 下rpm安装后的目录结构和一些配置 http://www.linuxidc.com/Linux/2013-06/85761.htm

rpm与yum的综合性介绍与示例演示 http://www.linuxidc.com/Linux/2013-05/84480.htm

RedHat Linux---rpm 命令详解 http://www.linuxidc.com/Linux/2013-03/81971.htm

更多CentOS相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

linux
相关资讯       RPM  CentOS 6.4 rpm 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款