欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Centos打包tengine制作rpm安装包教程

程序员文章站 2022-06-06 15:43:17
这篇文章主要介绍了Centos打包tengine制作rpm安装包教程,本文使用6个步骤实现rpm包的生成,需要的朋友可以参考下... 15-02-09...

最近又在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</p> <p>
%prep
%setup -q
./configure --prefix=/etc/nginx/ </p> <p>make
%install
make destdir=$rpm_build_root install
%clean
[ "$rpm_build_root" != "/" ] && rm -rf "$rpm_build_root"
make clean</p> <p>%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包。这只是简单的制作过程,如果要做深度定制,可以针对安装前后执行的脚本做定制。