Move vagrant stuff to extras/
[vpp.git] / extras / vagrant / build.sh
diff --git a/extras/vagrant/build.sh b/extras/vagrant/build.sh
new file mode 100755 (executable)
index 0000000..76838e2
--- /dev/null
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+# Get Command Line arguements if present
+VPP_DIR=$1
+if [ "x$1" != "x" ]; then
+    VPP_DIR=$1
+else
+    VPP_DIR=`dirname $0`/../../
+fi
+
+if [ "x$2" != "x" ]; then
+    SUDOCMD="sudo -H -u $2"
+fi
+echo 0:$0
+echo 1:$1
+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`
+fi
+KERNEL_OS=`uname -o`
+KERNEL_MACHINE=`uname -m`
+KERNEL_RELEASE=`uname -r`
+KERNEL_VERSION=`uname -v`
+
+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
+
+# Install dependencies
+cd $VPP_DIR
+make UNATTENDED=yes install-dep
+
+# Really really clean things up so we can be sure
+# that the build works even when switching distros
+$SUDOCMD make wipe
+(cd build-root/;$SUDOCMD make distclean)
+rm -f build-root/.bootstrap.ok
+
+if [ $DISTRIB_ID == "CentOS" ]; then
+    echo rpm -V apr-devel
+    rpm -V apr-devel
+    if [ $? != 0 ]; then sudo yum reinstall -y apr-devel;fi
+    echo rpm -V ganglia-devel
+    rpm -V ganglia-devel
+    if [ $? != 0 ]; then sudo yum reinstall -y ganglia-devel;fi
+    echo rpm -V libconfuse-devel
+    rpm -V libconfuse-devel
+    if [ $? != 0 ]; then sudo yum reinstall -y libconfuse-devel;fi
+fi
+
+# Build and install packaging
+$SUDOCMD make bootstrap
+if [ $DISTRIB_ID == "Ubuntu" ]; then
+    $SUDOCMD make pkg-deb
+elif [ $DISTRIB_ID == "CentOS" ]; then
+    (cd $VPP_DIR/vnet ;$SUDOCMD aclocal;$SUDOCMD automake -a)
+    $SUDOCMD make pkg-rpm
+fi
+