安装依赖包

在编译容器中安装编译Ceph所需要的依赖包。

  1. 进入编译容器。

    1
    podman exec -it openeuler2203sp4_build /bin/bash
    

  2. 在容器中配置代理等环境变量,不建议配置到bashrc中。

    1
    2
    3
    export TMOUT=0
    export http_proxy=http://xxx// 按需配置
    export https_proxy=http://xxx // 按需配置
    

  3. 安装通用组件。

    1
    yum install CUnit-devel boost-random checkpolicy cmake cryptsetup-devel expat-devel fmt-devel fuse-devel gperf java-devel junit keyutils-libs-devel libaio-devel libbabeltrace-devel libblkid-devel libcap-ng-devel libcurl-devel numactl-devel libicu-devel libnl3-devel liboath-devel librabbitmq-devel librdkafka-devel librdmacm-devel libtool libxml2-devel lttng-ust-devel lua-devel luarocks lz4-devel make nasm ncurses-devel ninja-build nss-devel openldap-devel openssl-devel libudev-devel python3-Cython python3-devel python3-prettytable python3-pyyaml python3-setuptools python3-sphinx re2-devel selinux-policy-devel sharutils snappy-devel sqlite-devel sudo thrift-devel valgrind-devel xfsprogs-devel xmlstarlet doxygen meson python3-pyelftools libatomic gperftools-devel -y
    

  4. 定义RPM包编译路径。

    1. 打开/root/.rpmmacros文件。
      1
      vi /root/.rpmmacros
      
    2. “i”进入编辑模式,将%_topdir路径设置为编译RPM包的路径(本例中以新建路径“/root/rpmbuild”为例),并将其他行的内容全部注释掉。
      1
      %_topdir /root/rpmbuild
      
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
    4. 创建rpmbuild下的构建目录。
      1
      rpmdev-setuptree
      

  5. 编译ceph-mgr-cephadm依赖包。

    1. git配置。
      1
      2
      3
      4
      5
      git config --global http.proxy http://***** // 按需配置
      git config --global http.sslVerify "false"
      git config --global https.proxy http://***** // 按需配置
      git config --global https.sslVerify "false"
      git config --global http.postBuffer 1048576000 //将Git缓冲区大小增加到repo的最大单个文件大小:1G
      
    2. 编译python-asyncssh依赖(推荐使用python-asyncssh 2.7)。
      1
      2
      3
      4
      git clone https://gitee.com/src-oepkgs/python-asyncssh.git
      cp python-asyncssh/* /root/rpmbuild/SOURCES/
      cp python-asyncssh/* /root/rpmbuild/SPECS/
      rpmbuild -bb /root/rpmbuild/SPECS/python-asyncssh.spec
      
    3. 编译python-natsort依赖。
      1
      2
      3
      4
      5
      git clone https://gitee.com/src-openeuler/python-natsort.git
      yum install python3-coverage python3-hypothesis python3-pytest python3-pytest-cov python3-pytest-mock -y
      cp python-natsort/* /root/rpmbuild/SOURCES/
      cp python-natsort/* /root/rpmbuild/SPECS/
      rpmbuild -bb /root/rpmbuild/SPECS/python-natsort.spec
      
    4. 安装RPM包。
      1
      2
      3
      4
      mkdir -p /home/local_rpm/
      mv /root/rpmbuild/RPMS/noarch/* /home/local_rpm/
      cd /home/local_rpm/
      yum install python-asyncssh-help-2.7.0-2.noarch.rpm python3-asyncssh-2.7.0-2.noarch.rpm python3-natsort-8.4.0-3.noarch.rpm -y