numam-spdk/scripts/pkgdep.sh
Seth Howell b6770c73cc pkgdep: minor fixes
CHange double brackets to single brackets for compatibility with
freebsd, also added -y to a pkgdep call to avoid the script hanging when
called programmatically.

Change-Id: I9a851005efae77b9146f14cac8079e2d448143d4
Signed-off-by: Seth Howell <seth.howell@intel.com>
Reviewed-on: https://review.gerrithub.io/423936
Chandler-Test-Pool: SPDK Automated Test System <sys_sgsw@intel.com>
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Ben Walker <benjamin.walker@intel.com>
Reviewed-by: Shuhei Matsumoto <shuhei.matsumoto.xt@hitachi.com>
2018-08-29 23:49:12 +00:00

89 lines
3.4 KiB
Bash
Executable File

#!/bin/sh
# Please run this script as root.
SYSTEM=`uname -s`
scriptsdir=$(readlink -f $(dirname $0))
rootdir=$(readlink -f $scriptsdir/..)
if [ -s /etc/redhat-release ]; then
# Includes Fedora, CentOS
if [ -f /etc/centos-release ]; then
# Add EPEL repository for CUnit-devel
yum --enablerepo=extras install -y epel-release
fi
yum install -y gcc gcc-c++ make CUnit-devel libaio-devel openssl-devel \
git astyle python-pep8 lcov python clang-analyzer libuuid-devel \
sg3_utils libiscsi-devel pciutils
# Additional (optional) dependencies for showing backtrace in logs
yum install -y libunwind-devel
# Additional dependencies for NVMe over Fabrics
yum install -y libibverbs-devel librdmacm-devel
# Additional dependencies for DPDK
yum install -y numactl-devel nasm
# Additional dependencies for building docs
yum install -y doxygen mscgen graphviz
# Additional dependencies for building pmem based backends
yum install -y libpmemblk-devel || true
# Additional dependencies for SPDK CLI
yum install -y python-configshell python-pexpect python3-configshell python3-pexpect
elif [ -f /etc/debian_version ]; then
# Includes Ubuntu, Debian
apt-get install -y gcc g++ make libcunit1-dev libaio-dev libssl-dev \
git astyle pep8 lcov clang uuid-dev sg3-utils libiscsi-dev pciutils
# Additional (optional) dependencies for showing backtrace in logs
apt-get install -y libunwind-dev
# Additional dependencies for NVMe over Fabrics
apt-get install -y libibverbs-dev librdmacm-dev
# Additional dependencies for DPDK
apt-get install -y libnuma-dev nasm
# Additional dependencies for building docs
apt-get install -y doxygen mscgen graphviz
# Additional dependencies for SPDK CLI
apt-get install -y python-pip python3-pip
pip install configshell_fb pexpect
pip3 install configshell_fb pexpect
elif [ -f /etc/SuSE-release ]; then
zypper install -y gcc gcc-c++ make cunit-devel libaio-devel libopenssl-devel \
git-core lcov python-base python-pep8 libuuid-devel sg3_utils pciutils
# Additional (optional) dependencies for showing backtrace in logs
zypper install libunwind-devel
# Additional dependencies for NVMe over Fabrics
zypper install -y rdma-core-devel
# Additional dependencies for DPDK
zypper install -y libnuma-devel nasm
# Additional dependencies for building pmem based backends
zypper install -y libpmemblk-devel
# Additional dependencies for building docs
zypper install -y doxygen mscgen graphviz
elif [ $SYSTEM = "FreeBSD" ] ; then
pkg install -y gmake cunit openssl git devel/astyle bash py27-pycodestyle \
python misc/e2fsprogs-libuuid sysutils/sg3_utils nasm
# Additional dependencies for building docs
pkg install -y doxygen mscgen graphviz
else
echo "pkgdep: unknown system type."
exit 1
fi
# Only crypto needs nasm and this lib but because the lib requires root to
# install we do it here.
nasm_ver=$(nasm -v | sed 's/[^0-9]*//g' | awk '{print substr ($0, 0, 5)}')
if [ $nasm_ver -lt "21202" ]; then
echo Crypto requires NASM version 2.12.02 or newer. Please install
echo or upgrade and re-run this script if you are going to use Crypto.
else
ipsec="$(find /usr -name intel-ipsec-mb.h 2>/dev/null)"
if [ "$ipsec" == "" ]; then
if [ -d "$rootdir/intel-ipsec-mb" ]; then
cd $rootdir/intel-ipsec-mb
make
make install
cd -
else
echo "The intel-ipsec-mb submodule has not been cloned and will not be installed."
echo "To enable crypto, run 'git submodule update --init' and then run this script again."
fi
fi
fi