最近又在centos6.4下折腾tengine了,刚好不久前看了rpm包的制作方法,所以又有了搞个rpm包的想法。

1 安装centos的开发环境集成包及tengine的依赖包

1 yum groupinstall "Development Tools"
2 yum install pcre-devel
3 yum install openssl openssl-devel

2 创建tengine rpm包,用非root用户test

1 su - test
2 mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}

3 在家目录编写.rpmmacros(就是上一篇说的自定义制作路径的文件)

1 #.rpmmacros
2 %_topdir /home/test/rpmbuild
3 %_tmppath /home/test/rpmbuild/tmp
4 %buildroot /home/test/rpmbuild/BUILDROOT
5 %_prefix   /

4 在家目录里创建制作目录rpmbuild

1 rpmbuild/
2 ├── BUILD
3 ├── RPMS
4 ├── SOURCES
5 │   └── tengine-1.5.0.tar.gz
6 ├── SPECS
7 │   └── tengine.spec
8 ├── SRPMS
9 └── tmp

5 tengine.spec内容

01 Name:       tengine
02 Version:    1.5.0
03 Release:    1
04 Vendor:     Taobao
05 Summary:    GUN Tengine X86_64
06 License:    GPL
07 Source:     tengine-1.5.0.tar.gz
08 Group:      System Enviroment/Daemons
09 URL:        http://tengine.taobao.org/
10 Packager:   guol@oschina.com
11 %description
12 Taobao tengine package
13  
14  
15 %prep
16 %setup -q
17 ./configure  --prefix=/etc/nginx/
18  
19 make
20 %install
21 make DESTDIR=$RPM_BUILD_ROOT install
22 %clean
23 [ "$RPM_BUILD_ROOT" != "/" ] && rm -rf "$RPM_BUILD_ROOT"
24 make clean
25  
26 %files
27 %defattr (-,root,root)
28 /etc/nginx/

注意:在centos 6.0上使用rpmbuild制作rpm包如果出现File not found: /root/rpmbuild/BUILDROOT/…的错误,看是centos 6中的rpmbuild topdir已经改变,为了能兼容centos 5的spec文件,需要对topdir进行修改

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

6 开始生产rpm包

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

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

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

tengine rpm制作的更多相关文章

  1. fpm rpm制作

    使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...

  2. pypcap rpm制作

    1.下载地址 https://pypi.org/project/pypcap/#history 2.下载后,解压并制作rpm tar -xvf pypcap-1.2.3.tar.gz python s ...

  3. MySQL5.6.12 rpm制作及及自动化部署安装

    转自:http://blog.itpub.net/29254281/viewspace-1268918/ 首先,下载rpmbuildyum install rpm-build -y它是Red Hat用 ...

  4. kernel 4.18.18 rpm 制作

    1.下载kernel源码: wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.18.18.tar.gz 2.解压源码 ...

  5. RPM制作

    http://blog.csdn.net/justlinux2010/article/details/9905425

  6. 一步步制作RPM包

    一步步制作RPM包 来源 http://blog.51cto.com/laoguang/1103628 一.RPM制作步骤 我们在企业中有的软件基本都是编译的,我们每次安装都得编译,那怎么办呢?那就根 ...

  7. RPM包制作教程

    一.RPM介绍 RPM 前是Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理:现在应为RPM Package M ...

  8. 制作rpm包步骤

    由于项目需要,需要自行制作rpm包.比较全面的可以参考如下链接: http://blog.chinaunix.net/uid-23069658-id-3944462.html 大致框架如下: 1,安装 ...

  9. 烂泥:Linux源码包制作RPM包之Apache

    本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器比较多,需要把apache源码包制作成rpm包,然后放到公司内网yum源上进行下载安装.apache的rpm包安装方式比源码安装方式比较快,这能 ...

随机推荐

  1. Python之路,Day26-----暂无正在更新中

    Python之路,Day26-----暂无正在更新中

  2. Day12 - 堡垒机开发

    Python之路,Day12 - 那就做个堡垒机吧   本节内容 项目实战:运维堡垒机开发 前景介绍 到目前为止,很多公司对堡垒机依然不太感冒,其实是没有充分认识到堡垒机在IT管理中的重要作用的,很多 ...

  3. javabean、DTO、VO

    一.javabean 一. javabean 是什么? Bean的中文含义是“豆子”,顾名思义,JavaBean是指一段特殊的Java类, 就是有默然构造方法,只有get,set的方法的java类的对 ...

  4. SQL Server强制删除发布

    今日发现SQL Server 中 存在以前(系统还原前)的发布内容,使用鼠标->右键,选择删除,失败.   可使用语句: EXEC SP_REMOVEDBREPLICATION '发布数据库名称 ...

  5. 关于mtk Android打开串口权限问题

    最近在做一个测试串口读写回路的APK,jni代码部分遇到一个小小问题: fd = open(path_utf, O_RDWR);返回值是-1,要么就是权限问题,要么就是文件不存在所以需要打印错误信息, ...

  6. 【HAOI2007】理想的正方形

    [问题描述] 有一个a*b的整数组成的矩阵,现请你从中找出一个n*n的正方形区域,使得该区域所有数中的最大值和最小值的差最小. [输入] 第一行为3个整数,分别表示a,b,n的值第二行至第a+1行每行 ...

  7. javascript定义变量和优先级的问题

    本文链接: javascript定义变量和优先级的问题.转载请保留.   看下面的代码: if (!("aa" in window)) { alert('oh my god'); ...

  8. IE layout详解

    引言: Internet Explorer 中有很多奇怪的渲染问题可以给他一个”layout”得到解决,John Gallant 和 Holly Bergevin把他归类为“dimensional b ...

  9. window 7 C盘整理

    发现两篇不错的文章可以参考一下: http://blog.renren.com/blog/200083873/467545630 http://www.uedbox.com/win7-c-disk-s ...

  10. 深入浅出理解QTimeLine类

    网上找了下QTimeLIne类的介绍,要么就是代码一贴自己看去,要么就是说不到重点,正巧自己项目遇到这个类,在这里写一下,给需要的同学看下. 因为我最近需要有动画方面配合时间间隔触发QGraphics ...