博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ceph-deploy源码制作rpm包 <转>
阅读量:6457 次
发布时间:2019-06-23

本文共 2143 字,大约阅读时间需要 7 分钟。

  hot3.png

ceph-deploy源码制作rpm包

原文:

rpm编译打包的步骤:

  • 修改代码中的setup.cfg文件中的版本号
  • 代码setup.cfg同级目录下增加PKG-INFO文件,并修改版本号与setup.cfg中保持一致(PKG-INFO文件可以从项目的.egg-info文件夹获取,或者从centsos的rpm源码参考)
  • 将代码加上版本号重名并打成.tar.gz包
  • 将.tar.gz文件、spec脚本项目下的文件(.spec文件除外)copy到用户的rpmbuild/SOURCES目录
  • 将.spec文件copy到用户的rpmbuild/SPECS
  • 执行 rpmbuild –ba [spec文件] 来打包二进制包和源码包

 

环境准备

  • CentOS Linux release 7.2.1511 (Core)
  • ceph-deploy-1.5.36-0.src.rpm

创建用户

为了安全单独创建一个用户ceph来制作rpm

 

1

 

[root ~]# useradd ceph

 

设置用户ceph的密码

 

1

2

3

4

5

6

 

[root ~]# passwd ceph

Changing password for user ceph.

New password:

BAD PASSWORD: The password fails the dictionary check - it is too simplistic/systematic

Retype new password:

passwd: all authentication tokens updated successfully.

 

创建rpmbuild目录

切换帐号

 

1

 

[root ~]# su ceph

 

添加一个配置文件,并设置编译的根目录为 ~/rpmbuild

 

1

 

[root root]$ vi ~/.rpmmacros

 

添加内容

%_topdir /home/ceph/rpmbuild/
:wq保存退出

在编译根目录下创建我们需要的目录

 

1

2

3

4

5

6

7

8

9

10

 

[root root]$ cd ~

[root@node ~]$ mkdir rpmbuild

[root@node ~]$ cd ~/rpmbuild

[root@node rpmbuild]$ mkdir -pv {BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS}

mkdir: created directory ‘BUILD’

mkdir: created directory ‘BUILDROOT’

mkdir: created directory ‘RPMS’

mkdir: created directory ‘SOURCES’

mkdir: created directory ‘SPECS’

mkdir: created directory ‘SRPMS’

 

rpmbuild目录下的六个文件目录分别为

BUILD 源代码解压后的存放目录BUILDROOT 编译临时目录RPMS    制作完成后的RPM包存放目录,里面有与平台相关的子目录SOURCES 收集的源材料,补丁的存放位置SPECS   SPEC文件存放目录SRMPS   存放SRMPS生成的目录

编译rpm包

将修改后的代码目录ceph-deploy-1.5.36打成.tar.bz2文件

 

1

2

 

[root@node ~]# cd /opt

[root@node ~]# tar jcf ceph-deploy-1.5.36.tar.bz2 ceph-deploy-1.5.36

 

将ceph-deploy-1.5.36.tar.bz2复制到/home/ceph/rpmbuild/SOURCES目录

 

1

 

[root@node ~]# cp /opt/ceph-deploy-1.5.36/ceph-deploy-1.5.36.tar.bz2 /home/ceph/rpmbuild/SOURCES

 

将ceph-deploy.spec复制到/home/ceph/rpmbuild/SPECS目录

 

1

 

[root@node ~]# cp /opt/ceph-deploy-1.5.36/ceph-deploy.spec /home/ceph/rpmbuild/SPECS

 

编译打包

 

1

2

3

 

[root@node ~]# su ceph

[root@node root]$ cd /home/ceph/rpmbuild/SPECS

[root@node SPECS]$ rpmbuild -ba ceph-deploy.spec

 

执行完成之后,

在/home/ceph/rpmbuild/SRPMS/ 生成源码包
在/home/ceph/rpmbuild/RPMS/noarch/ 生成二进制包ceph-deploy-1.5.36-0.noarch.rpm

 

 

转载于:https://my.oschina.net/banwh/blog/1519171

你可能感兴趣的文章
检查Mysql引擎的方法
查看>>
Elasticsearch 基于ElastAlert发送邮件报警
查看>>
redis运维问题集锦FAQ
查看>>
python IO多路复用之select
查看>>
Hive启动报错: Found class jline.Terminal, but interfac
查看>>
ARM DS-5 Flex网络许可证编译错误“Error: C9933W: Waiting for license...”
查看>>
二层ACL
查看>>
IE应用商店与.net WPF浏览器应用
查看>>
三星i9158刷机教程
查看>>
datax,同步数据,mysql sqlserver 双向
查看>>
SQLServer的索引和统计
查看>>
虚拟机中使linux系统分辨率变大
查看>>
【翻译】MobileWeb开发的性能调优技巧
查看>>
DataRow[] /数组转换datatable!
查看>>
linux中/etc/rc.local脚本的作用
查看>>
vimrc
查看>>
Dissecting the GZIP format
查看>>
H3CSE(路由)学习笔记----下
查看>>
openstack-o版-启动实例
查看>>
Android学习笔记(一)——Android应用的界面编程
查看>>