Centos6.4制作Tengine的rpm包
博客专区 > China_OS 的博客 > 博客详情
Centos6.4制作Tengine的rpm包
China_OS 发表于4年前
Centos6.4制作Tengine的rpm包
  • 发表于 4年前
  • 阅读 5754
  • 收藏 86
  • 点赞 15
  • 评论 15

新睿云服务器60天免费使用,快来体验!>>>   

摘要: tengine rpm

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

编辑/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
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 393
博文 380
码字总数 482896
评论 (15)
南北024
路过...
益达先生
悲剧了,看不懂15
fei
支持,虽然我还是喜欢用source编译
主编
在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?
kevin15
在家目录看得我晕头转向!
pyruby
用ruby的FPM快速生成RPM包的飘过
大尾巴

引用来自“唐僧到哪了”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

否则呢?红帽官方培训说的就是“家目录”
itnihao
这个太简洁了
China_OS

引用来自“唐僧到哪了”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

这个翻译成什么比较好?
主编

引用来自“China_OS”的评论

引用来自“唐僧到哪了”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

这个翻译成什么比较好?

不翻译,/home
codepiano

引用来自“唐僧到哪了”的评论

引用来自“China_OS”的评论

引用来自“唐僧到哪了”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

这个翻译成什么比较好?

不翻译,/home

不是/home吧,/home是用户目录所在,应该是~,也就是用户目录
itnihao

引用来自“codepiano”的评论

引用来自“唐僧到哪了”的评论

引用来自“China_OS”的评论

引用来自“唐僧到哪了”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

这个翻译成什么比较好?

不翻译,/home

不是/home吧,/home是用户目录所在,应该是~,也就是用户目录

home就是用户家目录,我觉得这个是大家习惯问题,没有谁对谁错的问题。
立冰

引用来自“无巢禅师”的评论

在家目录。。。。。这翻译。。。。。感觉翻译者不像是Linux用户那。
home需要翻译成家吗?

这个人爱好而已,再说home翻译成家就错了么。。。。

jefby
tengine依赖其他软件包么?如果依赖这样的spec文件是不是有问题啊??不能解决依赖关系。。。?0
China_OS

引用来自“jefby”的评论

tengine依赖其他软件包么?如果依赖这样的spec文件是不是有问题啊??不能解决依赖关系。。。?0
看你的应用需求了,和nginx一样
×
China_OS
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: