interface: fix check in set_interface_name api
[vpp.git] / extras / vagrant / build.sh
1 #!/usr/bin/env bash
2
3 # Get Command Line arguements if present
4 VPP_DIR=$1
5 if [ "x$1" != "x" ]; then
6     VPP_DIR=$1
7 else
8     VPP_DIR=`dirname $0`/../../
9 fi
10
11 if [ "x$2" != "x" ]; then
12     SUDOCMD="sudo -H -u $2"
13 fi
14 echo 0:$0
15 echo 1:$1
16 echo 2:$2
17 echo VPP_DIR: $VPP_DIR
18 echo SUDOCMD: $SUDOCMD
19
20 if [ "$(uname)" <> "Darwin" ]; then
21     OS_ID=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
22     OS_VERSION_ID=$(grep '^VERSION_ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g')
23 fi
24
25 KERNEL_OS=`uname -o`
26 KERNEL_MACHINE=`uname -m`
27 KERNEL_RELEASE=`uname -r`
28 KERNEL_VERSION=`uname -v`
29
30 echo KERNEL_OS: $KERNEL_OS
31 echo KERNEL_MACHINE: $KERNEL_MACHINE
32 echo KERNEL_RELEASE: $KERNEL_RELEASE
33 echo KERNEL_VERSION: $KERNEL_VERSION
34 echo OS_ID: $OS_ID
35 echo OS_VERSION_ID: $OS_VERSION_ID
36
37 # Install dependencies
38 cd $VPP_DIR
39 make UNATTENDED=yes install-dep
40
41 # Really really clean things up so we can be sure
42 # that the build works even when switching distros
43 $SUDOCMD make wipe
44 (cd build-root/;$SUDOCMD make distclean)
45 rm -f build-root/.bootstrap.ok
46
47 if [ $OS_ID == "centos" ]; then
48     echo rpm -V apr-devel
49     rpm -V apr-devel
50     if [ $? != 0 ]; then sudo -E yum reinstall -y apr-devel;fi
51     echo rpm -V ganglia-devel
52     rpm -V ganglia-devel
53     if [ $? != 0 ]; then sudo -E yum reinstall -y ganglia-devel;fi
54     echo rpm -V libconfuse-devel
55     rpm -V libconfuse-devel
56     if [ $? != 0 ]; then sudo -E yum reinstall -y libconfuse-devel;fi
57 fi
58
59 # Build and install packaging
60 $SUDOCMD make bootstrap
61
62 if [ "$OS_ID" == "ubuntu" ]; then
63     $SUDOCMD make pkg-deb
64 elif [ "$OS_ID" == "debian" ]; then
65     $SUDOCMD make pkg-deb
66 elif [ "$OS_ID" == "centos" ]; then
67     (cd $VPP_DIR/vnet ;$SUDOCMD aclocal;$SUDOCMD automake -a)
68     $SUDOCMD make pkg-rpm
69 fi
70