本文介绍如何使用redhat官方提供的源代码rpm包编译成Calamari Server二进制RPM软件包。编译过程很简单,一条命令便可。这里主要记录下编译过程出错的解决办法,但愿能帮助有须要的朋友。
一、下载python
[root@hdp04 ~]# wget http://ftp.redhat.com/pub/redhat/linux/enterprise/7Server/en/RHCEPH/SRPMS/calamari-server-1.5.7-1.el7cp.src.rpm
二、安装依赖软件linux
[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
三、安装源代码RPMgit
[root@hdp04 ~]# rpm -i calamari-server-1.5.7-1.el7cp.src.rpm 执行完rpm命令,会在当前root家目录生成rpmbuild文件夹,里面包含了如下内容,以下图所示:
四、修改源文件,从新打包
这里主要修改get-flavor.sh文件。sql
[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软件包。python2.7
[root@hdp04 rpmbuild]# tar -czf calamari-server_1.5.7.tar.gz calamari-server-1.5.7 [root@hdp04 rpmbuild]# cp calamari-server_1.5.7.tar.gz SOURCES/
五、修改SPEC文件
注释掉如下内容:ide
[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
六、执行rpmbuild编译ui
[root@hdp04 SPECS]# rpmbuild -bb calamari-server.spec 执行完成后,会在RPMS里生成二进制rpm软件包,以下图所示: