欢迎光临
专业Linux运维二十年

Centos打包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</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包。这只是简单的制作过程,如果要做深度定制,可以针对安装前后执行的脚本做定制。

脚本之家
赞(0) 打赏
未经允许不得转载:Linux老运维 » Centos打包tengine制作rpm安装包教程

觉得文章有用就打赏一下文章作者

非常感谢你的打赏,我们将继续提供更多优质内容,让我们一起创建更加美好的网络世界!

支付宝扫一扫

微信扫一扫