Allow use of /etc/os-release file
The top-level Makefile in VPP already uses the file /etc/os-release to recognize which OS the build is being performed on. The scripts for vagrant images instead were still using different files for different distros and adding a new distro to be supported causes issues with the extra-logic to deal with it. This patch aligns the vagrant scripts to use the same approach followed by the top-level Makefile and simplifies the steps to identify / update the OS and build / run VPP. Change-Id: I539f4a7c27b3fef70ed1c12b0276049bc47dc289 Signed-off-by: Marco Varlese <marco.varlese@suse.com>
This commit is contained in:

committed by
Dave Wallace

parent
e9aebf9db5
commit
c2e63feb62
3
extras/vagrant/Vagrantfile
vendored
3
extras/vagrant/Vagrantfile
vendored
@@ -9,6 +9,9 @@ Vagrant.configure(2) do |config|
|
||||
config.vm.box = "centos/7"
|
||||
config.vm.box_version = "1708.01"
|
||||
config.ssh.insert_key = false
|
||||
elsif distro == 'opensuse'
|
||||
config.vm.box = "opensuse/openSUSE-42.3-x86_64"
|
||||
config.vm.box_version = "1.0.4.20170726"
|
||||
else
|
||||
config.vm.box = "puppetlabs/ubuntu-16.04-64-nocm"
|
||||
end
|
||||
|
@@ -17,22 +17,11 @@ echo 2:$2
|
||||
echo VPP_DIR: $VPP_DIR
|
||||
echo SUDOCMD: $SUDOCMD
|
||||
|
||||
# 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`
|
||||
elif [ -f /etc/os-release ];then
|
||||
. /etc/os-release
|
||||
DISTRIB_ID=$ID
|
||||
DISTRIB_RELEASE=$VERSION_ID
|
||||
DISTRIB_CODENAME=$VERSION
|
||||
DISTRIB_DESCRIPTION=$PRETTY_NAME
|
||||
if [ "$(uname)" <> "Darwin" ]; then
|
||||
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')
|
||||
fi
|
||||
|
||||
KERNEL_OS=`uname -o`
|
||||
KERNEL_MACHINE=`uname -m`
|
||||
KERNEL_RELEASE=`uname -r`
|
||||
@@ -42,10 +31,8 @@ echo KERNEL_OS: $KERNEL_OS
|
||||
echo KERNEL_MACHINE: $KERNEL_MACHINE
|
||||
echo KERNEL_RELEASE: $KERNEL_RELEASE
|
||||
echo KERNEL_VERSION: $KERNEL_VERSION
|
||||
echo DISTRIB_ID: $DISTRIB_ID
|
||||
echo DISTRIB_RELEASE: $DISTRIB_RELEASE
|
||||
echo DISTRIB_CODENAME: $DISTRIB_CODENAME
|
||||
echo DISTRIB_DESCRIPTION: $DISTRIB_DESCRIPTION
|
||||
echo OS_ID: $OS_ID
|
||||
echo OS_VERSION_ID: $OS_ID
|
||||
|
||||
# Install dependencies
|
||||
cd $VPP_DIR
|
||||
@@ -57,7 +44,7 @@ $SUDOCMD make wipe
|
||||
(cd build-root/;$SUDOCMD make distclean)
|
||||
rm -f build-root/.bootstrap.ok
|
||||
|
||||
if [ $DISTRIB_ID == "CentOS" ]; then
|
||||
if [ $OS_ID == "centos" ]; then
|
||||
echo rpm -V apr-devel
|
||||
rpm -V apr-devel
|
||||
if [ $? != 0 ]; then sudo yum reinstall -y apr-devel;fi
|
||||
@@ -72,14 +59,14 @@ fi
|
||||
# Build and install packaging
|
||||
$SUDOCMD make bootstrap
|
||||
|
||||
if [ "$DISTRIB_ID" == "Ubuntu" ]; then
|
||||
if [ "$OS_ID" == "ubuntu" ]; then
|
||||
$SUDOCMD make pkg-deb
|
||||
elif [ "$DISTRIB_ID" == "debian" ]; then
|
||||
elif [ "$OS_ID" == "debian" ]; then
|
||||
$SUDOCMD make pkg-deb
|
||||
elif [ "$DISTRIB_ID" == "CentOS" ]; then
|
||||
elif [ "$OS_ID" == "centos" ]; then
|
||||
(cd $VPP_DIR/vnet ;$SUDOCMD aclocal;$SUDOCMD automake -a)
|
||||
$SUDOCMD make pkg-rpm
|
||||
elif [ "$DISTRIB_ID" == "opensuse" ]; then
|
||||
elif [ "$OS_ID" == "opensuse" ]; then
|
||||
$SUDOCMD make build-release
|
||||
fi
|
||||
|
||||
|
@@ -1,22 +1,21 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Figure out what system we are running on
|
||||
if [ -f /etc/lsb-release ];then
|
||||
. /etc/lsb-release
|
||||
elif [ -f /etc/redhat-release ];then
|
||||
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`
|
||||
if [ "$(uname)" <> "Darwin" ]; then
|
||||
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')
|
||||
fi
|
||||
|
||||
if [ $DISTRIB_ID == "CentOS" ]; then
|
||||
if [ "$OS_ID" == "ubuntu" ]; then
|
||||
$OS_CODENAME=$UBUNTU_CODENAME
|
||||
fi
|
||||
|
||||
if [ "$OS_ID" == "centos" ] || [ "$OS_ID" == "opensuse" ]; then
|
||||
# Install uio-pci-generic
|
||||
modprobe uio_pci_generic
|
||||
fi
|
||||
echo "Starting VPP..."
|
||||
if [ $DISTRIB_ID == "Ubuntu" ] && [ $DISTRIB_CODENAME = "trusty" ] ; then
|
||||
if [ "$OS_ID" == "ubuntu" ] && [ $OS_CODENAME = "trusty" ] ; then
|
||||
start vpp
|
||||
else
|
||||
service vpp start
|
||||
|
@@ -12,19 +12,13 @@ if [ $HUGEPAGES != 1024 ]; then
|
||||
exit
|
||||
fi
|
||||
|
||||
# Figure out what system we are running on
|
||||
if [ -f /etc/lsb-release ];then
|
||||
. /etc/lsb-release
|
||||
elif [ -f /etc/redhat-release ];then
|
||||
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`
|
||||
if [ "$(uname)" <> "Darwin" ]; then
|
||||
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')
|
||||
fi
|
||||
|
||||
# Do initial setup for the system
|
||||
if [ $DISTRIB_ID == "Ubuntu" ]; then
|
||||
if [ "$OS_ID" == "ubuntu" ]; then
|
||||
|
||||
export DEBIAN_PRIORITY=critical
|
||||
export DEBIAN_FRONTEND=noninteractive
|
||||
@@ -41,7 +35,7 @@ if [ $DISTRIB_ID == "Ubuntu" ]; then
|
||||
|
||||
# Install useful but non-mandatory tools
|
||||
apt-get install -y emacs x11-utils git-review gdb gdbserver xfce4-terminal iperf3
|
||||
elif [ $DISTRIB_ID == "CentOS" ]; then
|
||||
elif [ "$OS_ID" == "centos" ]; then
|
||||
if [ "$(echo $DISTRIB_RELEASE | cut -d'.' -f1)" == "7" ]; then
|
||||
rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
|
||||
yum groupinstall "X Window system" -y
|
||||
@@ -50,4 +44,8 @@ elif [ $DISTRIB_ID == "CentOS" ]; then
|
||||
# Standard update + upgrade dance
|
||||
yum check-update
|
||||
yum update -y
|
||||
elif [ "$OS_ID" == "opensuse" ]; then
|
||||
zypper update -y
|
||||
# NASM >= 2.12 is not available in previous openSUSE release; need to install it from TW
|
||||
zypper install -y https://download.opensuse.org/tumbleweed/repo/oss/suse/x86_64/nasm-2.13.01-2.1.x86_64.rpm
|
||||
fi
|
||||
|
@@ -20,7 +20,7 @@ do
|
||||
break
|
||||
fi
|
||||
|
||||
for dir in $(find /usr/lib/jvm/* -maxdepth 0 -type d); do
|
||||
for dir in $(find /usr/lib*/jvm/* -maxdepth 0 -type d); do
|
||||
AC_MSG_CHECKING([${dir} for Java 8 compiler])
|
||||
JAVA_VERSION=$(${dir}/bin/javac -source 8 -version 2>&1)
|
||||
if test 0 -eq "$?"; then
|
||||
|
Reference in New Issue
Block a user