zhangli-s 发表于 2018-10-19 11:22:11

Ceph Calamari Server RPM编译

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

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

  2、安装依赖软件
  

#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
  

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


  4、修改源文件,重新打包
  这里主要修改get-flavor.sh文件。
  

# tar -xzf SOURCES/calamari-server_1.5.7.tar.gz  
# cd calamari-server-1.5.7
  

  因我使用的系统为Oracle Linux 7,所以在编译的时候,当执行到get-flavor.sh命令时,会退出。因为此脚本里只有CentOS和RedHatEnterpriseServer,如下图:

  将其更改成以下内容:

  更改完成后,重新打包并替换掉SOURCES里的calamari-server_1.5.7.tar.gz软件包。
  

# tar -czf calamari-server_1.5.7.tar.gz calamari-server-1.5.7  
# cp calamari-server_1.5.7.tar.gz SOURCES/
  

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

# 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编译
  

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




页: [1]
查看完整版本: Ceph Calamari Server RPM编译