Rework to identify OS:
Same approach followed by Makefiles and building scripts in the VPP
repository. It is much cleaner and easier to simply use the environment
variables in /etc/os-release
openSUSE support:
Some of the code added to the scripts can be removed once a separate
patch from Vanessa is merged. The purpose here is to save the changes
made since they will be lost otherwise.
Change-Id: I06a041bbc5f5b7e3fa3510db43acf7d1462ec24c
Signed-off-by: Marco Varlese <[email protected]>
Signed-off-by: Vanessa Rene Valderrama <[email protected]>
#!/bin/bash
set -e -o pipefail
-# Figure out what system we are running on
-if [ -f /etc/lsb-release ];then
- . /etc/lsb-release
-elif [ -f /etc/redhat-release ];then
- sudo yum install -y redhat-lsb
- DISTRIB_ID=`lsb_release -si`
- DISTRIB_RELEASE=`lsb_release -sr`
- DISTRIB_CODENAME=`lsb_release -sc`
- DISTRIB_DESCRIPTION=`lsb_release -sd`
-fi
-echo DISTRIB_ID: $DISTRIB_ID
-echo DISTRIB_RELEASE: $DISTRIB_RELEASE
-echo DISTRIB_CODENAME: $DISTRIB_CODENAME
-echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
+OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
+OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
function setup {
if ! [ -z ${REPO_NAME} ]; then
REPO_URL="${NEXUSPROXY}/content/repositories/fd.io.${REPO_NAME}"
echo "REPO_URL: ${REPO_URL}"
# Setup by installing vpp-dev and vpp-lib
- if [ $DISTRIB_ID == "Ubuntu" ]; then
+ if [ "$DISTRIB_ID" == "ubuntu" ]; then
echo "deb ${REPO_URL} ./" | sudo tee /etc/apt/sources.list.d/99fd.io.list
sudo apt-get update || true
sudo apt-get -y --force-yes install vpp-dpdk-dev || true
sudo apt-get -y --force-yes install vpp-dpdk-dkms || true
- elif [[ $DISTRIB_ID == "CentOS" ]]; then
+ elif [ "$DISTRIB_ID" == "centos" ]; then
sudo cat << EOF > fdio-master.repo
[fdio-master]
name=fd.io master branch latest merge
#!/bin/bash
# basic build script example
set -xe -o pipefail
+
+OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
+OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
+
+echo OS_ID: $OS_ID
+echo OS_VERSION_ID: $OS_VERSION_ID
+
# do nothing but print the current slave hostname
hostname
export CCACHE_DIR=/tmp/ccache
if (git log --oneline | grep 37682e1 > /dev/null 2>&1) && \
[ "x${IS_CSIT_VPP_JOB}" != "xTrue" ]
then
- echo "Building using \"make verify\""
- [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify
+ if [ "$OS_ID" == "opensuse" ]; then
+ echo "Building for openSUSE"
+ [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh
+ else
+ echo "Building using \"make verify\""
+ [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes verify
+ fi
else
- echo "Building using \"make build-root/vagrant/build.sh\""
- [ "x${DRYRUN}" == "xTrue" ] || make install-dep
- [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes dpdk-install-dev
- [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh
+ if [ "$OS_ID" == "opensuse" ]; then
+ echo "Building for openSUSE"
+ [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh
+ else
+ echo "Building using \"make build-root/vagrant/build.sh\""
+ [ "x${DRYRUN}" == "xTrue" ] || make install-dep
+ [ "x${DRYRUN}" == "xTrue" ] || make UNATTENDED=yes dpdk-install-dev
+ [ "x${DRYRUN}" == "xTrue" ] || build-root/vagrant/build.sh
+ fi
fi
if [ "x${VPP_REPO}" == "x1" ]; then
build-root/scripts/checkstyle.sh
else
echo "Cannot find cat build-root/scripts/checkstyle.sh - skipping checkstyle"
-fi
\ No newline at end of file
+fi