# Top level scripts to build basic setup for the host
#
-# Copyright 2015 OPNFV
+# Copyright 2015 OPNFV, Intel Corporation.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
exit 1
}
-# determine this machine's distro-version
-# replacing 'lsb_release' tool to detect OS distro name with using systemd distribution release file /etc/os-release
-# 'lsb_release' is not available by default on Fedora.
-
+# Detect OS name and version from systemd based os-release file
. /etc/os-release
+# Get OS name (the First word from $NAME in /etc/os-release)
+OS_NAME=`echo "$NAME" | cut -d ' ' -f1`
+
# check if root
if [ "$UID" -ne "$ROOT_UID" ]
then
SUDO="sudo -E"
fi
-# Get distro name from variables imported; Special case for 'Fedora 22' - we need to get versions as well
-if [ "$NAME" == 'Fedora' -a $VERSION_ID -gt 21 ]
-then
- distro_dir="$NAME$VERSION_ID"
+# If there is version specific dir available then set distro_dir to that
+if [ -d "$OS_NAME/$VERSION_ID" ]; then
+ distro_dir="$OS_NAME/$VERSION_ID"
else
- distro_dir=`echo "$NAME" | cut -d ' ' -f1`
+ # Fallback - Default distro_dir = OS name
+ distro_dir="$OS_NAME"
fi
-# build base system
-if [ -d "$distro_dir" ] && [ -e $distro_dir/build_base_machine.sh ]; then
- $SUDO $distro_dir/build_base_machine.sh
+# build base system using OS specific scripts
+if [ -d "$distro_dir" ] && [ -e "$distro_dir/build_base_machine.sh" ]; then
+ $SUDO $distro_dir/build_base_machine.sh || die "$distro_dir/build_base_machine.sh failed"
else
die "$distro_dir is not yet supported"
fi
-if [ -d "$distro_dir" ] && [ -e $distro_dir/prepare_python_env.sh ] ; then
- $distro_dir/prepare_python_env.sh
+if [ -d "$distro_dir" ] && [ -e "$distro_dir/prepare_python_env.sh" ] ; then
+ $distro_dir/prepare_python_env.sh || die "prepare_python_env.sh failed"
else
die "$distro_dir is not yet supported"
fi
# download and compile DPDK, OVS and QEMU
if [ -f ../src/Makefile ] ; then
cd ../src
- make
+ make || die "Make failed"
cd -
+else
+ die "Make failed; No Makefile"
fi