linux-rpm 打包之helloworld
2011-12-31 21:18
309 查看
关于linux下rpm打包的一个小例子,称为helloworld吧。
本文受 这个同志启发 : http://www.worldhello.net/2011/04/02/2405.html :此处致敬~
另外,本文会不断修改。
目录结构:
BUILD, BUILDROOT, RPMS, SOURCES, SPECS, SRPMS
创建该目录命令: mkdir -pv ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS},其中,这些目录放在rpmbuild目录下。
接下来需要对rpm进行配置
echo ~/rpmbuild > ~/.rpmmacros,该命令将"~/rpmbuild"作为rpm打包目录
编写helloworld源文件(hello.c)
编写helloworld的spec文件(hello.spec)
将文件放入相应位置并执行打包命令
打包
打包后文件
执行打包命令后,这时会逐个运行hello.spec文件的内容,最终生成两个文件,一个包含源码的rpm包和一个二进制rpm包。
rpmbuild/SRPMS/hello-0.1-1.src.rpm
rpmbuild/RPMS/i386/hello-0.1-1.i386.rpm
本文受 这个同志启发 : http://www.worldhello.net/2011/04/02/2405.html :此处致敬~
另外,本文会不断修改。
一、rpm打包准备工作
rpm打包需要一个独立的打包目录目录结构:
BUILD, BUILDROOT, RPMS, SOURCES, SPECS, SRPMS
创建该目录命令: mkdir -pv ~/rpmbuild/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS},其中,这些目录放在rpmbuild目录下。
接下来需要对rpm进行配置
echo ~/rpmbuild > ~/.rpmmacros,该命令将"~/rpmbuild"作为rpm打包目录
二、打包过程
打包helloworld需要程序sources文件,spec文件编写helloworld源文件(hello.c)
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }
编写helloworld的spec文件(hello.spec)
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root # 不明白这样定义啥意思 Summary: hello world rpm package Name: hello Version: 0.1 Release: 1 Source: hello-0.1.tar.gz License: GPL Packager: wangdonglei Group: Application %description This is a simple example for rpm package! %prep %setup -q %build gcc -o hello hello.c %install mkdir -p %{buildroot}/usr/local/bin install -m 755 hello %{buildroot}/usr/local/bin/hello %files # 这里的路径是在buildroot虚拟根基础上的,即%{buildroot}/%{name}-%{version}-%{release}-root/usr/local/bin/hello /usr/local/bin/hello
将文件放入相应位置并执行打包命令
# 将hello.c放入目录hello-0.1并打包该目录 tar zcvf hello-0.1.tar.gz hello-0.1 # 将hello-0.1.tar.gz 放入SOURCES下 mv hello-0.1.tar.gz /root/rpmbuild/SOURCES
打包
rpm -ba rpmbuild/SPECS/hello.spec
打包后文件
执行打包命令后,这时会逐个运行hello.spec文件的内容,最终生成两个文件,一个包含源码的rpm包和一个二进制rpm包。
rpmbuild/SRPMS/hello-0.1-1.src.rpm
rpmbuild/RPMS/i386/hello-0.1-1.i386.rpm
三、总结
相关文章推荐
- linux-rpm 打包之helloworld
- Linux 系统 RPM打包技术和典型SPEC文件分析
- linux-RPM 打包原理 SPEC 编写规范
- 在Linux下通过rpm打包发布Java程序
- linux-RPM 打包原理 SPEC 编写规范
- 【linux】自定义rpm打包路径
- Linux:RPM 打包记录
- Linux笔记(yum更换国内源,yum下载rpm包,源码包安装,把源码包打包成rpm包)
- Linux --rpm 打包
- RPM打包helloworld
- Linux下RPM打包制作过程
- 在Linux(CentOS)上打包应用程序RPM
- linux的tar命令详情;linux多个文件压缩打包到一个压缩文件
- Linux 有问必答:如何使用yum来下载RPM包而不进行安装
- linux 打包和压缩的概念和区别
- Linux 下打包工具
- Linux 中 RPM 命令参数使用详解(转)
- 【linux之软件安装,rpm,yum】
- linux,tar打包中如何排除其他文件
- RPM 打包技术与典型 SPEC 文件分析