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命令,會在當前root家目錄生成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.tar.gz calamari-server-1.5.7
[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編譯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章