rpm打包

转载 2013年12月04日 14:38:11

1、介绍

 对一个源文件打包,可以打包成一个二进制文件rpm,也可以打包成一个源码包文件.src.rpm文件。只要看打包时的参数来决定。 如:

rpmbuild  -bb   xxx.spec  打包成一个二进制文件。

rpmbuild  -bs   xxx.spec   打包成一个源码文件.

rpmbuild  -bp   xxx.spec  源文件放入到BUILD目录中。

rpmbuild  -ba   xxx.spec  以上三种情况。

2、执行步骤:

以一个简单的源码文件helloworld.c 为了。

1、mkdir   helloworld , cd helloworld

2、编写一个helloworld.c 和 一个Makefile

3、cp -rp helloworld  /usr/src/redhat/SOURCE

4、tar -zcvf helloworld-1.0.0.tar.gz helloworld

5、cd /usr/src/redhat/SPECS

6、编写一个hello-1.0.0.spec脚本

7、进行打包rpmbuild -bb  hello-1.0.0.spec

hello.c

#include <stdio.h>
 
int main(void)
{
    printf("Hello, world !/n");
    return 0;
}

Makefile

cc = gcc 
hello:hello.o
    $(cc) hello.o -o hello
hello.o:hello.c
    $(cc) hello.c -c -g
fresh:
    rm -rf Makefile
clean:
    rm -rf hello hello.o
install:
    cp hello /usr/bin
uninstall:
    rm -rf /usr/bin/hello

helloworld-1.0.0.spec

 

summary: the First RPM of JL
Name:helloworld
Version:1.0
Release:0
Vendor:JL (
jiangle07@gmail.com)
License:Share
Group:Applications/Text
Source0:helloworld-1.0.0.tar.gz
#Patch0:helloworld-0.1-1.patch
%description
My test helloworld
%prep
export RPM_SOURCES_DIR=/usr/src/redhat/SOURCES
export RPM_BUILD_DIR=/usr/src/redhat/BUILD
tar -xvf $RPM_SOURCES_DIR/helloworld-1.0.0.tar.gz
#%patch
%build
cd $RPM_BUILD_DIR/helloworld
make
%install
cd $RPM_BUILD_DIR/helloworld
make install
%clean
rm -rf $RPM_BUILD_DIR/helloworld
%files
#%defattr(-,root,root)
#/usr/bin/helloworld
%doc
/usr/src/redhat/BUILD/helloworld/readme
#%changelog
#* Wed June 20 2009 jiang le
jiangle07@gmail.com
#- le test it

相关文章推荐

Yum离线安装(一) --- RPM 打包技术与典型 SPEC 文件分析

来源:http://blog.csdn.net/chengfei112233/article/details/7641923 一、介绍 RPM全称是 Red Hat Package...

openstack RPM打包

背景: 常见的Linux发行版主要可以分为两类,类ReadHat系列和类Debian系列,这里我们是以其软件包的格式来划分的,这两类系统分别提供了自己的软件包管理系统和相应的工具。类RedHat...

Yum离线安装(一) --- RPM 打包技术与典型 SPEC 文件分析

一、介绍 RPM全称是 Red Hat Package Manager(Red Hat包管理器)。几乎所有的 Linux 发行版本都使用这种形式的软件包管理安装、更新和卸载软件。 RP...

nginx打包rpm

安装rpmbuild,生成目录,编写spec文件 附上自己写的nginx.spec文件。 由于公司需要,nginx需要添加lua等依赖包,就自己通过编译过程打包了rpm。红色部分是根据编译的结果添加上...
  • U___p
  • U___p
  • 2014年08月05日 10:55
  • 1175

用 RPM 打包软件 第 2 部分

内容来自:http://www.ibm.com/developerworks/cn/linux/management/package/rpm/part2/index.html 如果您没有...

rpm 打包原理

rpm打包原理zz 为什么要打包? 制作 rpm 不仅仅是打包,更可以解决菜单创建、打补钉、完成大量预配置、与其他软件包互动等操作。使用源代码安装要求用户了解基本的编译过程、能...
  • taget
  • taget
  • 2013年01月11日 14:28
  • 3971

用 RPM 打包软件

RPM(Red Hat Package Manager)是用于 Linux 分发版(distribution)的最常见的软件包管理器。因为它允许分发已编译的软件,所以用户只用一个命令就可以安装软件。 ...

自定义RPM打包+本地yum仓库 - 学习笔记

一. Memcached相关 ------------------------------------- 1.安装memcached:   yum install libevent libeve...
  • wmj2004
  • wmj2004
  • 2017年01月19日 14:56
  • 527

利用rpmbuild打包定制属于你自己的RPM包

好久没自己写技术日志了,最近在研究rpm打包. 今天把它分享出来哈~~ rpm的优势就是安装和后期升级方便快捷,无需再次手动编译源代码。节省很多时间。. 这里已Nginx 服务器安装包为实例进行试验....
  • blscok
  • blscok
  • 2014年05月29日 12:24
  • 1065

RPM打包技术与典型SPEC文件分析

本文分为两部分,第一部分阐述了 rpm 工具的功能以及 rpmbuild 工具,详细的介绍了 spec文件的书写规则以及关键部分,第二部分对一个典型的 spec 文件做了详细的分析。   为了方...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:rpm打包
举报原因:
原因补充:

(最多只允许输入30个字)