CentOS FPM 打 RPM 包

2021-12-30  本文已影响0人  RoyTien

Reference

Requirements

$ yum install ruby rubygems ruby-devel -y
$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

$ gem install arr-pm fpm

FPM 常用参数:

支持的源类型包:

支持的目标类型包:

网上基本都能查到fpm相关资料,有些参数可能新版的fpm中,变成了不推荐使用。想要了解最新的参数,可以使用命令查看帮助。

fpm -help

Remove Rexml

rexml broken in Ruby versions below 2.3

$ find / -name osxpkg.rb
$ vim osxpkg.rb
# require 'rexml/document'  # stdlib

Shell

All flags should be before the first argument (stray flags found: ["--prefix"]
--post-install 不能放到最后,选项的顺序最好不要随意变换

打包

# daos_pre_install.sh
#!/bin/bash
echo "pre_install.sh"
scl enable devtoolset-9 bash
mkdir /usr/daos
exit $?

# daos_post_install.sh
#!/bin/bash
echo "post_install.sh"
cd /root/daos
scons --config=force --build-deps=yes install
exit $?

$ fpm -s dir -t rpm -n daos -v 1.2 \
-d python3-distro \
-d python-distro \
-d libuuid-devel \
-d openssl-devel \
-d valgrind-devel \
-d libunwind-devel \
-d libpmem-devel \
-d pandoc \
-d texlive \
-d texlive-xetex \
-d texlive-cjk \
-d texlive \
-d texlive-latex \
-d texlive-xetex \
-d texlive-collection-latexrecommended \
-d texlive-collection-latex \
-d texlive-xetex-def \
-d texlive-collection-xetex \
-d libcmocka-devel \
-d numactl-devel \
-d patchelf \
-d hwloc-devel \
-d boost-devel \
-d gcc \
-d gcc-c++ \
-d make \
-d automake \
-d cmake \
-d fuse3-devel \
-d json-c-devel \
-d lz4-devel \
-d libaio-devel \
-d openmpi-devel \
-d mpich-devel \
-d python3-devel \
-d golang \
-d libyaml-devel \
-d ipmctl \
-d libipmctl-devel \
-d devtoolset-9-gcc \
-d devtoolset-9-gcc-plugin-devel \
-d devtoolset-9-gcc-gfortran \
-d devtoolset-9-gcc-gdb-plugin \
-d devtoolset-9-gcc-c++ \
-d pandoc \
-d patchelf \
-d scons \
--pre-install /root/scripts/daos_pre_install.sh \
--post-install /root/scripts/daos_post_install.sh \
-f /root/daos/

安装

$ yum update -y && yum clean all && yum install -y epel-release centos-release-scl
$ yum localinstall -y daos-1.2-1.x86_64.rpm
上一篇 下一篇

猜你喜欢

热点阅读