RPM构建 - 简单实例
来源:互联网 发布:mac可以放ppt 编辑:程序博客网 时间:2024/05/08 22:18
1. RPM构建 - 介绍
2. RPM构建 - SPEC文件参数解析
3. RPM构建 - 简单实例
4. RPM构建 – 源码编译
实例:将小程序pybin.py搬运到/usr/bin目录下,程序代码如下:pybin.py
print "Hello world, I am pybin."
1 构建目录结构
依照 rpmbuild 规范设定一个目录结构,
[root@node0 rpmbuild]# lsBUILD BUILDROOT RPMS SOURCES SPECS SRPMS
2 准备要打包文件
将源代码(理想情况下应为一个 tar.gz压缩文件)复制到 SOURCES 目录中。如果有必要,重命名 tar压缩文件,以包含应用程序的版本号,便于与其他文件区分开。约定的命名格式为包-版本.tar.gz
[root@node0 rpmbuild]# ls SOURCES/pybin-0.0.1pybin.py[root@node0 rpmbuild]# cd SOURCES[root@node0 SOURCES]# tar -zcf pybin-0.0.1.tar.gzpybin-0.0.1[root@node0 SOURCES]# rm -rf pybin-0.0.1;lspybin-0.0.1.tar.gz[root@node0 rpmbuild]#
3 Spec文件
在SPEC目录通过以下命令初始化spec文件:
[root@node0 SPECS]# rpmdev-newspec pybin.spec
根据具体情况进行修改,示例:请参照< RPM构建 - SPEC文件参数解析>
%define debug_package %{nil}#%define _python_bytecompile_errors_terminate_build0%define workdir /usr/bin Name: pybinVersion: 0.0.1Release: 1%{?dist}Summary: Thisis a python script Group: Development/SystemLicense: GPLURL: www.123456789.comSource0: %{name}-%{version}.tar.gz #BuildRequires:#Requires: %descriptionThis is a python script %prep%setup -q %build %installmkdir -p $RPM_BUILD_ROOT/%{workdir}chmod 755 pybin.pycp -rf pybin.py $RPM_BUILD_ROOT/%{workdir} %cleanrm -rf $RPM_BUILD_ROOT/ %files%doc%{workdir}/pybin.py%defattr(0755,root,root) %changelog
4 编译RPM
通过指定spec文件编译RPM包,命令如下:选项含义参加《RPM构建 - 介绍》
[root@node0 SPECS]# rpmbuild -bb pybin.spec
5 测试RPM
测试结果
[root@node0 release]# rpm -q iftoppackage iftop is not installed[root@node0 release]# rpm -ivhx86_64/iftop-0.17-1.el7.centos.x86_64.rpmPreparing... ################################# [100%]Updating / installing... 1:iftop-0.17-1.el7.centos ################################# [100%][root@node0 release]# whereis iftopiftop: /usr/sbin/iftop /usr/man/man8/iftop.8.gz[root@node0 release]# ls -al /usr/sbin/iftop-rwxr-xr-x 1 root root 61370 Nov 10 16:26/usr/sbin/iftop[root@node0 release]# rpm -q iftopiftop-0.17-1.el7.centos.x86_64[root@node0 release]# rpm -e iftop[root@node0 release]# rpm -q iftoppackage iftop is not installed[root@node0 release]#
---轻轻地我走了,正如我轻轻地来---
0 0
- RPM构建 - 简单实例
- rpm制作实例 简单打包
- centos下rpm打包简单实例
- 简单制作RPM二进包实例
- Maximum RPM读书纪要第十章 构建RPM包的一个简单例子
- maven构建struts2+spring项目简单实例
- maven之构建jdbc简单实例
- webpack+vue构建前端框架简单实例
- RPM包的构建
- rpm包构建方法
- RPM构建 - 介绍
- Ceph rpm构建
- rpm包制作实例
- rpm 制作实例
- rpm包制作实例
- rpm命令使用实例
- RPM构建 – 源码编译
- ElasticSearch学习二:构建集群与简单搜索实例应用
- 深入解读ESB与SOA的关系
- linux下查看是否安装apache或者查看apache的版本
- less使用有感
- 虚拟机桥接模式下虚拟机和主机处于对等地位,有独立的IP,它可以访问局域网内任何一台机器
- RecyclerView实现ItemClick事件——两全其美
- RPM构建 - 简单实例
- 窗口函数之排名函数与分析函数
- 大型网站技术架构—架构要素和高性能架构
- 使用UE4开发VR项目_性能优化(一)_常用工具
- 关于opencv中RotatedRect的角度疑问
- java集合13--WeakHashMap源码详解
- Activity向Fragment中传值
- 将 impute 之后的文件转化为 tped 的 plink 格式
- eclipse neon Java编辑器页面字体更改