欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

rpm包制作

发布时间:2025/3/20 编程问答 37 豆豆
生活随笔 收集整理的这篇文章主要介绍了 rpm包制作 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

nginx1.7.7 rpm包制作过程

制作环境:centos 6.5 x64  2.6.32-431.el6.x86_64


1、检查是否安装了rpmbuild

   

2、检查是否生成了rpmbuild工作目录,如果没有使用rpmdev-setuptree重新生成

   


各目录功能如下:

SOURCES:放置打包资源,包括源码打包文件和补丁文件等。

SPECS:放置SPEC文档。

BUILD:打包过程中的工作目录。

RPMS:存放生成的二进制包。

SRPMS:目录存放生成的源码包。

3、编写spec文件

    

Summary:High Performance Web Server Name:nginx Version:1.7.7 Release:el6 Source0:%{name}-%{version}.tar.gz License:GPL BuildRoot:%{_tmppath}/%{name}-%{version}-%{release}-root Group:Applications/Server Distribution:Linux Packager:apeter<854999372@qq.com> %description nginx [engine x] is a HTTP and reverse proxy server, as well as a mail proxy server %prep rm -rf $RPM_BUILD_DIR/nginx1.7.7 zcat $RPM_SOURCE_DIR/nginx-1.7.7.tar.gz | tar -xvf - %build cd nginx-1.7.7 ./configure --prefix=/usr/local/nginx make %install cd nginx-1.7.7 make install DESTDIR=%{buildroot} %preun if [ -z "`ps aux | grep nginx | grep -v grep`" ];then killall nginx >/dev/null exit 0 fi %files /usr/local/nginx


4、接下来一步是构建rpm包

      首先安装编译需要的rpm包,如gcc、pcre、pcre-devel,然后复制nginx源码到~/rpmbuild/SOURCES目录,nginx源码复制完成后,进入~/rpmbuild/SPECS目录,使用rpmbuild -bb nginx.spec命令制作RPM包。制作完成后会在~/rpmbuild/RPMS/x86_64生成一个rpm包。

      

在制作过程中遇到了下图中的错误,具体解决方法是这样的:

       编辑/usr/lib/rpm/macros文件:

       %_topdir                %{getenv:HOME}/rpmbuild

       修改为:

       %_topdir                %{_usrsrc}/redhat

       另外还需要定义buildroot

       在spec文件中的make install后面加上DESTDIR=%{buildroot},即:

       make install  DESTDIR=%{buildroot}



转载于:https://blog.51cto.com/apeter/1605071

总结

以上是生活随笔为你收集整理的rpm包制作的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。