#!/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
+ if ! [ -z ${REPO_NAME} ]; then
echo "INSTALLING VPP-DPKG-DEV from apt/yum repo"
- REPO_URL="${NEXUSPROXY}/content/repositories/fd.io.${REPO_NAME}"
+ REPO_URL="https://packagecloud.io/fdio/${STREAM}"
echo "REPO_URL: ${REPO_URL}"
# Setup by installing vpp-dev and vpp-lib
- if [ $DISTRIB_ID == "Ubuntu" ]; then
- echo "deb ${REPO_URL} ./" | sudo tee /etc/apt/sources.list.d/99fd.io.list
- sudo apt-get update || true
+ if [ "$OS_ID" == "ubuntu" ]; then
+ if ! [ "${STREAM}" == "master" ]; then
+ echo "tree not master deleting packagecloud repo pointer"
+ sudo rm -f /etc/apt/sources.list.d/fdio_master.list
+ curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.deb.sh | sudo bash
+ fi
+ if [ -f /etc/apt/sources.list.d/99fd.io.list ];then
+ echo "Deleting: /etc/apt/sources.list.d/99fd.io.list"
+ sudo rm /etc/apt/sources.list.d/99fd.io.list
+ fi
+ sudo apt-get update -qq || true
sudo apt-get -y --force-yes install vpp-dpdk-dev || true
- elif [[ $DISTRIB_ID == "CentOS" ]]; then
+ sudo apt-get -y --force-yes install vpp-dpdk-dkms || true
+ sudo apt-get -y --force-yes install vpp-ext-deps || true
+ elif [ "$OS_ID" == "centos" ]; then
+ if [ -f /etc/yum.repos.d/fdio-master.repo ]; then
+ echo "Deleting: /etc/yum.repos.d/fdio-master.repo"
+ sudo rm /etc/yum.repos.d/fdio-master.repo
+ fi
+ if ! [ "${STREAM}" == "master" ]; then
+ echo "tree not master deleting packagecloud repo pointer"
+ sudo rm -f /etc/yum.repos.d/fdio_master.repo
+ curl -s https://packagecloud.io/install/repositories/fdio/${STREAM}/script.rpm.sh | sudo bash
+ fi
+ sudo yum -y install vpp-dpdk-devel || true
+ sudo yum -y install vpp-ext-deps || true
+ elif [ "$OS_ID" == "opensuse" ]; then
+ REPO_URL="${NEXUSPROXY}/content/repositories/fd.io.${REPO_NAME}"
+ echo "REPO_URL: ${REPO_URL}"
sudo cat << EOF > fdio-master.repo
[fdio-master]
name=fd.io master branch latest merge
enabled=1
gpgcheck=0
EOF
- sudo mv fdio-master.repo /etc/yum.repos.d/fdio-master.repo
- sudo yum -y install vpp-dpdk-dev || true
+ sudo mv fdio-master.repo /etc/yum/repos.d/fdio-master.repo
+ sudo yum -y install vpp-dpdk-devel || true
+ sudo yum -y install vpp-ext-deps || true
+ elif [ "$OS_ID" == "opensuse-leap" ]; then
+ REPO_URL="${NEXUSPROXY}/content/repositories/fd.io.${REPO_NAME}"
+ echo "REPO_URL: ${REPO_URL}"
+ sudo cat << EOF > fdio-master.repo
+[fdio-master]
+name=fd.io master branch latest merge
+baseurl=${REPO_URL}
+enabled=1
+gpgcheck=0
+EOF
+ sudo mv fdio-master.repo /etc/yum/repos.d/fdio-master.repo
+ sudo yum -y install vpp-dpdk-devel || true
+ sudo yum -y install vpp-ext-deps || true
fi
fi
}
-setup
\ No newline at end of file
+setup