标签:Ceph
本文介绍如何使用redhat官方提供的源代码rpm包编译成Calamari Server二进制RPM软件包。编译过程很简单,一条命令即可。这里主要记录下编译过程出错的解决办法,希望能帮助有需要的朋友。[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文件夹,里面包含了以下内容,如下图所示:
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,如下图:
将其更改成以下内容:
更改完成后,重新打包并替换掉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
原文地址:http://blog.51cto.com/candon123/2112077