RPM打包C++程序实例
来源:互联网 发布:js比较字符串大小 编辑:程序博客网 时间:2024/06/01 16:32
1.首先找到打包目录
$ rpm --showrc|grep _topdir-14: _builddir %{_topdir}/BUILD-14: _rpmdir %{_topdir}/RPMS-14: _sourcedir %{_topdir}/SOURCES-14: _specdir %{_topdir}/SPECS-14: _srcrpmdir %{_topdir}/SRPMS-14: _topdir %{_usrsrc}/redhat$ rpm --showrc|grep _usrsrc-14: _topdir %{_usrsrc}/redhat-14: _usrsrc %{_usr}/src$ rpm --showrc|grep _usr-14: _defaultdocdir %{_usr}/share/doc-14: _topdir %{_usrsrc}/redhat-14: _usr /usr-14: _usrsrc %{_usr}/src
一般是在/usr/src/redhat目录下
2.编写spec文件
hello.spec
%define debug_package %{nil}Summary: hello world rpm packageName: helloVersion: 0.1Release: 1Source: hello-0.1.tar.gzLicense: GPLPackager: amoblinGroup: ApplicationURL: http://www.ossxp.com#BuildRoot: /usr/src/redhat/BUILD/hello-0.1/ BuildRoot 代表最终的安装目录。换言之,如果 wget 最终安装在 /usr/local/bin/wget 和 /usr/local 中的其他子目录下,比如文档安装在 /usr/local/man 下,那么在 RPM 构建过程中 BuildRoot 代表 /usr/local。一旦设定了 BuildRoot,就可以使用 RPM_BUILD_ROOT 环境变量访问其值。应该始终在 spec 文件中设置 BuildRoot 并检查该目录的内容,确认包即将安装的内容。%descriptionThis is a software for making your life more beautiful!%prep%setup -q#%setup -q
是一个%prep
宏,用于自动解压 Source 中的特定 tarball 压缩文件
%buildg++ -o hello hello.cpp%installinstall -m 755 hello /usr/local/bin/hello%files/usr/local/bin/hello
把写好的SPEC文件放入SPECS文件夹里
3.编写源程序
随便找个地方新建文件夹 hello-0.1,然后编写hello.cpp。
#include<iostream>using namespace std;int main(){cout<<"Hello World!"<<endl;}
打包hello-0.1文件夹,并把hello-0.1.tar.gz 放在SOURCES文件夹下
$ tar zcvf hello-0.1.tar.gz hello-0.1hello-0.1/hello-0.1/hello.c$ mv hello-0.1.tar.gz /usr/src/redhat/SOURCES
4.打包
在SPECS目录下进行打包
5.验证
验证下是否成功了
参考:https://www.ibm.com/developerworks/cn/linux/l-rpm1/index.html
阅读全文
0 0
- RPM打包C++程序实例
- rpm制作实例 简单打包
- 使用RPM打包QT程序
- centos下rpm打包简单实例
- 如何对程序进行rpm打包发布
- 打包编译Erlang程序为RPM包
- 一个用installshield12.0打包c#winform程序的实例
- rpm打包
- rpm打包
- rpm打包
- RPM打包
- C#WinForm程序打包
- C#.NET程序打包
- C#WinFrom程序打包
- vs2003 WinForm 程序打包实例
- 给C#.NET程序打包
- c#.NET程序打包方法
- C#打包成安装程序
- 412. Fizz Buzz+String与int类型转化
- 分布式开放消息系统(RocketMQ)的原理与实践
- ionic2中使用自定义字体图标
- 如何在Eclipse或者中删除我们复制的代码中含有的行号
- Android MVP模式
- RPM打包C++程序实例
- Linux命令
- EL&JSTL表达式学习笔记 -- day01
- HDU
- JAVA虚拟机系列(四)
- 【今日荐文】七大有效的编程习惯助你成为更好的程序员---Bartlomiej Karalus
- Vue2.0+Webpack项目环境构建到发布
- (个人学习笔记)string 与stringBuilder 的区别
- 2017年codeM资格赛 数码 思维