summaryrefslogtreecommitdiffstats
path: root/src/spdk/scripts/pkgdep/rhel.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/spdk/scripts/pkgdep/rhel.sh')
-rwxr-xr-xsrc/spdk/scripts/pkgdep/rhel.sh73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/spdk/scripts/pkgdep/rhel.sh b/src/spdk/scripts/pkgdep/rhel.sh
new file mode 100755
index 000000000..af5d4c0b3
--- /dev/null
+++ b/src/spdk/scripts/pkgdep/rhel.sh
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+# Minimal install
+if echo "$ID $VERSION_ID" | grep -E -q 'centos 8'; then
+ # Add PowerTools needed for install CUnit-devel in Centos8
+ yum install -y yum-utils
+ yum config-manager --set-enabled PowerTools
+fi
+yum install -y gcc gcc-c++ make CUnit-devel libaio-devel openssl-devel \
+ libuuid-devel libiscsi-devel ncurses-devel
+if echo "$ID $VERSION_ID" | grep -E -q 'centos 8'; then
+ yum install -y python36
+ #Create hard link to use in SPDK as python
+ ln /etc/alternatives/python3 /usr/bin/python || true
+else
+ yum install -y python
+fi
+yum install -y python3-pip
+pip-3 install ninja
+pip-3 install meson
+
+# Additional dependencies for SPDK CLI - not available in rhel and centos
+if ! echo "$ID $VERSION_ID" | grep -E -q 'rhel 7|centos 7'; then
+ yum install -y python3-configshell python3-pexpect
+fi
+# Additional dependencies for ISA-L used in compression
+yum install -y autoconf automake libtool help2man
+# Additional dependencies for DPDK
+yum install -y numactl-devel nasm
+if [[ $INSTALL_DEV_TOOLS == "true" ]]; then
+ # Tools for developers
+ # Includes Fedora, CentOS 7, RHEL 7
+ # Add EPEL repository for CUnit-devel
+ if echo "$ID $VERSION_ID" | grep -E -q 'rhel 7|centos 7|centos 8'; then
+ if ! rpm --quiet -q epel-release; then
+ yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
+ fi
+
+ if [[ $ID = 'rhel' ]]; then
+ subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms"
+ elif [[ $ID = 'centos' ]]; then
+ yum --enablerepo=extras install -y epel-release
+ fi
+ fi
+ if echo "$ID $VERSION_ID" | grep -E -q 'centos 8'; then
+ yum install -y python3-pycodestyle
+ echo "Centos 8 does not have lcov and ShellCheck dependencies"
+ else
+ yum install -y python-pycodestyle lcov ShellCheck
+ fi
+ yum install -y git astyle sg3_utils pciutils
+ install_shfmt
+fi
+if [[ $INSTALL_PMEM == "true" ]]; then
+ # Additional dependencies for building pmem based backends
+ yum install -y libpmemblk-devel || true
+fi
+if [[ $INSTALL_FUSE == "true" ]]; then
+ # Additional dependencies for FUSE and NVMe-CUSE
+ yum install -y fuse3-devel
+fi
+if [[ $INSTALL_RDMA == "true" ]]; then
+ # Additional dependencies for RDMA transport in NVMe over Fabrics
+ yum install -y libibverbs-devel librdmacm-devel
+fi
+if [[ $INSTALL_DOCS == "true" ]]; then
+ # Additional dependencies for building docs
+ yum install -y mscgen || echo "Warning: couldn't install mscgen via yum. Please install mscgen manually."
+ yum install -y doxygen graphviz
+fi
+if [[ $INSTALL_LIBURING == "true" ]]; then
+ install_liburing
+fi