Ceph Calamari Server RPM编译

本文介绍如何使用redhat官方提供的源代码rpm包编译成Calamari Server二进制RPM软件包。编译过程很简单,一条命令即可。这里主要记录下编译过程出错的解决办法,希望能帮助有需要的朋友。
1、下载

[root@hdp04 ~]#  wget http://ftp.redhat.com/pub/redhat/linux/enterprise/7Server/en/RHCEPH/SRPMS/calamari-server-1.5.7-1.el7cp.src.rpm

2、安装依赖软件

[root@hdp04 ~]#  yum -y install httpd python-setuptools python-virtualenv redhat-lsb-core cairo pycairo logrotate openssl sqlite checkpolicy selinux-policy-devel selinux-policy-doc rpm-build git python2-pip

3、安装源代码RPM

[root@hdp04 ~]#  rpm -i calamari-server-1.5.7-1.el7cp.src.rpm
执行完rpm命令,会在当前目录生成rpmbuild文件夹,里面包含了以下内容,如下图所示:

Ceph Calamari Server RPM编译
4、修改源文件,重新打包
这里主要修改get-flavor.sh文件。

[root@hdp04 rpmbuild]# tar -xzf SOURCES/calamari-server_1.5.7.tar.gz
[root@hdp04 rpmbuild]# cd calamari-server-1.5.7

因我使用的系统为Oracle Linux 7,所以在编译的时候,当执行到get-flavor.sh命令时,会退出。因为此脚本里只有CentOS和RedHatEnterpriseServer,如下图:
Ceph Calamari Server RPM编译
将其更改成以下内容:
Ceph Calamari Server RPM编译
更改完成后,重新打包并替换掉SOURCES里的calamari-server_1.5.7.tar.gz软件包。

[root@hdp04 rpmbuild]# tar -czf calamari-server-1.5.7 calamari-server_1.5.7.tar.gz
[root@hdp04 rpmbuild]# cp calamari-server_1.5.7.tar.gz SOURCES/

5、修改SPEC文件
注释掉以下内容:

[root@hdp04 SPECS]# vi calamari-server.spec 
chmod -R go-w ${RPM_BUILD_ROOT}/opt/calamari/venv/lib/python2.7/site-packages/setuptools-0.9.8-py2.7.egg-info

6、执行rpmbuild编译

[root@hdp04 SPECS]# rpmbuild -bb calamari-server.spec 
执行完成后,会在RPMS里生成二进制rpm软件包,如下图所示:

Ceph Calamari Server RPM编译

猜你喜欢

转载自blog.51cto.com/candon123/2112077