如何实现ceph-deploy源码制作rpm包
这篇文章主要介绍如何实现ceph-deploy源码制作rpm包,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
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@node ~]# useradd ceph |
设置用户ceph的密码
1 2 3 4 5 6 | [root@node ~]# 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@node ~]# su ceph |
添加一个配置文件,并设置编译的根目录为 ~/rpmbuild
1 | [root@node root]$ vi ~/.rpmmacros |
添加内容
%_topdir /home/ceph/rpmbuild/
:wq保存退出
在编译根目录下创建我们需要的目录
1 2 3 4 5 6 7 8 9 10 | [root@node 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
以上是"如何实现ceph-deploy源码制作rpm包"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!