Commit 93533c20 authored by Hailiang Wang's avatar Hailiang Wang Committed by Daniel Verkamp
Browse files

script: add pkgdep.sh to install dependencies automatically.



Change-Id: I7447a28fa8ecd8395a85b66952d19aa25683876c
Signed-off-by: default avatarHailiang Wang <hailiangx.e.wang@intel.com>
Reviewed-on: https://review.gerrithub.io/374946


Reviewed-by: default avatarDaniel Verkamp <daniel.verkamp@intel.com>
Reviewed-by: default avatarJim Harris <james.r.harris@intel.com>
Tested-by: default avatarSPDK Automated Test System <sys_sgsw@intel.com>
parent a7b62cc4
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -54,6 +54,8 @@ lib: $(DPDKBUILD)
app: lib
test: lib
examples: lib
pkgdep:
	sh ./scripts/pkgdep.sh

$(DIRS-y): mk/cc.mk config.h

+9 −37
Original line number Diff line number Diff line
@@ -36,43 +36,6 @@ The development kit currently includes:
well as a [Porting Guide](http://www.spdk.io/doc/porting.html) for porting SPDK to different frameworks
and operating systems.

<a id="prerequisites"></a>
## Prerequisites

Note: The requirements for building the docs can take a while to
install so you may want to skip them unless you need them.

Fedora/CentOS:

~~~{.sh}
sudo dnf install -y gcc gcc-c++ make CUnit-devel libaio-devel openssl-devel \
	git astyle-devel python-pep8 lcov python clang-analyzer
# Additional dependencies for RDMA (NVMe over Fabrics)
sudo dnf install -y libibverbs-devel librdmacm-devel
# Additional dependencies for building docs
sudo dnf install -y doxygen mscgen
~~~

Ubuntu/Debian:

~~~{.sh}
sudo apt-get install -y gcc g++ make libcunit1-dev libaio-dev libssl-dev \
	git astyle pep8 lcov clang
# Additional dependencies for RDMA (NVMe over Fabrics)
sudo apt-get install -y libibverbs-dev librdmacm-dev
# Additional dependencies for building docs
sudo apt-get install -y doxygen mscgen
~~~

FreeBSD:

~~~{.sh}
sudo pkg install gmake cunit openssl git devel/astyle bash devel/pep8 \
	python
# Additional dependencies for building docs
sudo pkg install doxygen mscgen
~~~

<a id="source"></a>
## Source Code

@@ -82,6 +45,15 @@ cd spdk
git submodule update --init
~~~

<a id="prerequisites"></a>
## Prerequisites

The dependencies can be installed automatically by `scripts/pkgdep.sh`.

~~~{.sh}
./scripts/pkgdep.sh
~~~

<a id="libraries"></a>
## Build

scripts/pkgdep.sh

0 → 100755
+34 −0
Original line number Diff line number Diff line
#!/bin/sh
# Please run this script as root.

SYSTEM=`uname -s`

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-devel python-pep8 lcov python clang-analyzer
	# Additional dependencies for NVMe over Fabrics
	yum install -y libibverbs-devel librdmacm-devel
	# Additional dependencies for building docs
	yum install -y doxygen mscgen
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
	# Additional dependencies for NVMe over Fabrics
	apt-get install -y libibverbs-dev librdmacm-dev
	# Additional dependencies for building docs
	apt-get install -y doxygen mscgen
elif [ $SYSTEM = "FreeBSD" ] ; then
	pkg install gmake cunit openssl git devel/astyle bash devel/pep8 \
		python
	# Additional dependencies for building docs
	pkg install doxygen mscgen
else
	echo "pkgdep: unknown system type."
	exit 1
fi

scripts/vagrant/build.sh

100644 → 100755
+1 −8
Original line number Diff line number Diff line
@@ -32,15 +32,8 @@ echo DISTRIB_RELEASE: $DISTRIB_RELEASE
echo DISTRIB_CODENAME: $DISTRIB_CODENAME
echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION

if [ -f /etc/lsb-release ]; then
    apt-get install -y gcc g++ make libcunit1-dev libaio-dev libssl-dev
elif [ -f /etc/redhat-release ]; then
    # Add EPEL repository for CUnit-devel
    yum --enablerepo=extras install -y epel-release
    yum install -y gcc gcc-c++ CUnit-devel libaio-devel openssl-devel
fi

cd $SPDK_DIR
$SUDOCMD ./scripts/pkgdep.sh
$SUDOCMD ./configure --enable-debug
$SUDOCMD make clean
$SUDOCMD make -j2