aboutsummaryrefslogtreecommitdiffstats
path: root/autobuild.sh
diff options
context:
space:
mode:
authorAshlee Young <ashlee@wildernessvoice.com>2015-11-16 21:42:21 -0800
committerAshlee Young <ashlee@wildernessvoice.com>2015-11-16 21:42:21 -0800
commite794488a513df0ddea2c5c6816cb2dd69e06fa7d (patch)
tree153719aa5b8e63e24b70f433265bef463202b638 /autobuild.sh
parentcc41982e75ce0726faa32ae42ae21246ec2ea0b8 (diff)
Going to re-check it in
Change-Id: I1fbff52a9b41b48dfbe59391ca423768f86efd24 Signed-off-by: Ashlee Young <ashlee@wildernessvoice.com>
Diffstat (limited to 'autobuild.sh')
-rwxr-xr-xautobuild.sh359
1 files changed, 0 insertions, 359 deletions
diff --git a/autobuild.sh b/autobuild.sh
deleted file mode 100755
index faee7b95..00000000
--- a/autobuild.sh
+++ /dev/null
@@ -1,359 +0,0 @@
-#!/bin/bash
-
-# autobuild.sh
-#
-#
-# Copyright 2015, Yunify, Inc. All rights reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-
-# http://www.apache.org/licenses/LICENSE-2.0
-
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##### Settings #####
-VERSION=1.0.0
-AUTHOR="Ashlee Young"
-MODIFIED="November 16, 2015"
-GERRITURL="git clone ssh://im2bz2pee@gerrit.opnfv.org:29418/onosfw"
-ONOSURL="https://github.com/opennetworkinglab/onos"
-SURICATAURL="https://github.com/inliniac/suricata"
-ONOSGIT="git clone --recursive $ONOSURL"
-JAVA_VERSION=1.8
-ANT_VERSION=1.9.6
-MAVEN_VERSION=3.3.3
-KARAF_VERSION=4.0.2
-##### End Settings #####
-
-##### Platform detection #####
-detectOS()
-{
- if [ -f "/etc/centos-release" ]; then
- export OS=centos
- export JAVA_HOME=/etc/alternatives/java_sdk
- export JRE_HOME=/etc/alternatives/java_sdk/bin
- elif [ -f "/etc/lsb-release" ]; then
- export OS=ubuntu
- export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- export JRE_HOME=$JAVA_HOME/bin
- elif [[ -f "/etc/SuSE-release" ]]; then
- export OS=suse
- export JAVA_HOME=/usr/lib64/jvm/java-1.8.0-openjdk
- export JRE_HOME=$JAVA_HOME/bin
- else
- export OS=other
- fi
- printf "We have detected a derivitive OS of $OS.\n\n"
-}
-##### End Platform detection #####
-
-##### Set build environment #####
-export GERRITROOT="$(pwd)"
-export BUILDROOT=$GERRITROOT/framework/build
-export ONOSRC=$GERRITROOT/framework/src/onos
-export ONOSROOT=$BUILDROOT/onos
-export ONOS_ROOT=$BUILDROOT/onos
-export ANT_HOME=$BUILDROOT/ant/apache-ant-1.9.6
-export M2_HOME=$BUILDROOT/maven/build
-export M2=$M2_HOME/bin
-export PATH=$PATH:$ANT_HOME/bin:$M2:$JAVA_HOME/bin
-export KARAF_ROOT=$BUILDROOT/karaf/$KARAF_VERSION
-export ONOS_USER=root
-export ONOS_GROUP=root
-export ONOS_CELL=sdnds-tw
-export RPMBUILDPATH=~/rpmbuild
-##### End Set build environment #####
-
-##### Patches #####
-PATCHES=$GERRITROOT/framework/patches
-BUILDS=$GERRITROOT/framework/build # Pretty much the same as BUILDROOT.
-PATCH_PATH_1=onos/apps/vtn/vtnrsc/src/main/java/org/onosproject/vtnrsc/sfc #patches should be labled as #PATCH_PATH_n beginning with 1.
-##### End Patches #####
-
-##### Ask Function #####
-# ask()
-# {
-# while true; do
-# if [ "${2:-}" = "Y" ]; then
-# prompt="Y/n"
-# default=Y
-# elif [ "${2:-}" = "N" ]; then
-# prompt="y/N"
-# default=N
-# else
-# prompt="y/n"
-# default=
-# fi
-# # Ask the question
-# read -p "$1 [$prompt] " REPLY
-# # Default?
-# if [ -z "$REPLY" ]; then
-# REPLY=$default
-# fi
-# # Check if the reply is valid
-# case "$REPLY" in
-# Y*|y*) return 0 ;;
-# N*|n*) return 1 ;;
-# esac
-# done
-# }
-##### End Ask Function #####
-
-##### Version #####
-displayVersion()
-{
- clear
- printf "You are running installer script Version: %s \n" "$VERSION"
- printf "Last modified on %s, by %s. \n\n" "$MODIFIED" "$AUTHOR"
- sleep 2
-}
-##### End Version #####
-
-##### Update ONOS #####
-# This function will pull the ONOS upstream project and then update the
-# repository in this project with just the diffs.
-# updateONOS()
-# {
-# printf "NOTE: Updating upstream src is a PTL function. Please use this function locally, only. \n"
-# printf "If you need the main repo updated to pick up ONOS upstream features, please email \n"
-# printf "me at ashlee AT onosfw.com. \n\n"
-# printf "Thanks! \n\n"
-# if ask "Do you still wish to update your local ONOS source tree?"; then
-# freshONOS
-# printf "\n"
-# cd $BUILDROOT
-# git clone $ONOSURL onosproject
-# rsync -arvP --delete --exclude=.git --exclude=.gitignore --exclude=.gitreview onosproject/ ../src/onos/
-# cd onosproject
-# git log > ../onos_update.$(date +%s)
-# cd ../
-# rm -rf onosproject
-# cd $GERRITROOT
-# # End applying patches
-# fi
-# printf "\n"
-# }
-##### End Update ONOS #####
-
-##### Check Java #####
-checkJRE()
-{
- INSTALLED_JAVA=`java -version 2>&1 | head -n 1 | cut -d\" -f 2` # | awk -F "." '{print $1"."$2}'`
- JAVA_NUM=`echo $INSTALLED_JAVA | awk -F "." '{print $1"."$2}'`
- if [ "$JAVA_NUM" '<' "$JAVA_VERSION" ]; then
- echo -e "Java version $INSTALLED_JAVA is lower than the required version of $JAVA_VERSION. \n"
- if [ "$OS" = "centos" ]; then
- # printf "It is recommended that you run \"sudo yum -y install java-$JAVA_VERSION.0-openjdk-devel\".\n"
- # if ask "May we perform this task for you?"; then
- sudo yum -y install java-$JAVA_VERSION.0-openjdk-devel
- # fi
- elif [[ "$OS" = "ubuntu" ]]; then
- # printf "It is recommended that you run \"sudo apt-get -y install openjdk-8-jdk\".\n"
- # if ask "May we perform this task for you?"; then
- sudo add-apt-repository ppa:openjdk-r/ppa
- sudo apt-get update
- sudo apt-get -y install openjdk-8-jdk
- # fi
-
- elif [[ "$OS" = "suse" ]]; then
- # printf "It is recommended that you run \"sudo zypper --non-interactive install java-1_8_0-openjdk-devel\".\n"
- # if ask "May we perform this task for you?"; then
- sudo zypper --non-interactive install java-1_8_0-openjdk-devel
- # fi
- fi
- else
- printf "Installed Java version meets the requirements. \n\n"
- fi
-}
-
-checkJDK()
-{
- if [ ! -d "$JAVA_HOME" ]; then
- if [ "OS" = "centos" ]; then
- # printf "It doesn't look there's a valid JDK installed.\n"
- # if ask "May we install one?"; then
- sudo yum -y install java-$JAVA_VERSION.0-openjdk-devel
- # else
- # printf "You should run \"sudo yum -y install java-$JAVA_VERSION.0-openjdk-devel\". \n\n"
- # fi
- elif [[ "$OS" = "ubuntu" ]]; then
- # printf "It doesn't look there's a valid JDK installed.\n"
- # if ask "May we install one?"; then
- sudo add-apt-repository -y ppa:openjdk-r/ppa
- sudo apt-get -y update
- sudo apt-get -y install openjdk-8-jdk
- # else
- # printf "You should run \"sudo apt-get -y install openjdk-8-jdk\". \n\n"
- # fi
- elif [[ "$OS" = "suse" ]]; then
- # printf "It doesn't look there's a valid JDK installed.\n"
- # if ask "May we install one?"; then
- sudo zypper --non-interactive install java-1_8_0-openjdk-devel
- # else
- # printf "You should run \"sudo zypper --non-interactive install java-1_8_0-openjdk-devel\". \n\n"
- # fi
- fi
- fi
-}
-##### End Check Java #####
-
-##### Install Ant #####
-installAnt()
-{
- if [ ! -d "$ANT_HOME/bin" ]; then
- printf "You may have Ant installed on your system, but to avoid build issues, we'd like \n"
- printf "to use our own. It will be installed at $ANT_HOME. \n"
- # if ask "May we proceed with installing ant here?"; then
- if [ ! -d "$GERRITROOT/framework/build/ant" ]; then
- mkdir -p $GERRITROOT/framework/build/ant
- cd $GERRITROOT/framework/build/ant
- wget http://mirror.olnevhost.net/pub/apache/ant/source/apache-ant-$ANT_VERSION-src.tar.gz
- tar xzvf apache-ant-$ANT_VERSION-src.tar.gz
- fi
- cd $ANT_HOME
- sh build.sh install
- # fi
- else
- printf "Ant looks to be properly installed at $ANT_HOME. \n\n"
- fi
-}
-##### Install Ant #####
-
-##### Install Maven #####
-installMaven()
-{
- if [ ! -d $M2_HOME ]; then
- # printf "While you may or may not have Maven installed, our supported version is not yet installed.\n"
- # if ask "May we install it?"; then
- clear
- mkdir -p $GERRITROOT/framework/build/maven
- cd $GERRITROOT/framework/build/maven
- printf "Maven version $MAVEN_VERSION is being installed in: \n"
- printf "$GERRITROOT/framework/build/maven.\n\n"
- sleep 3
- wget http://supergsego.com/apache/maven/maven-3/3.3.3/source/apache-maven-3.3.3-src.tar.gz
- tar xzvf apache-maven-3.3.3-src.tar.gz
- cd $GERRITROOT/framework/build/maven/apache-maven-$MAVEN_VERSION
- ant
- cd $GERRITROOT
- # fi
- else
- printf "Maven looks to be properly installed at $M2_HOME. \n\n"
- fi
-}
-##### End Install Maven #####
-
-##### Install karaf #####
-installKaraf()
-{
- if [ ! -d $KARAF_ROOT ]; then
- # printf "While you may or may not have Karaf installed, our supported version is not yet installed.\n"
- # if ask "May we install it?"; then
- clear
- mkdir -p $BUILDROOT/karaf/$KARAF_VERSION
- cd $KARAF_ROOT
- wget http://download.nextag.com/apache/karaf/$KARAF_VERSION/apache-karaf-$KARAF_VERSION-src.tar.gz
- tar xzvf apache-karaf-$KARAF_VERSION-src.tar.gz
- cd apache-karaf-$KARAF_VERSION
- mvn -Pfastinstall
- # fi
- fi
-}
-##### End Install karaf #####
-
-##### Delete ONOS Build #####
-# freshONOS()
-# {
-# if [ -d $ONOSROOT ]; then
-# printf "ONOS has previously been built.\n"
-# if ask "Would you like to build fresh? This involves deleting the old build."; then
-# rm -rf $ONOSROOT
-# fi
-# fi
-# }
-##### End Delete ONOS Build #####
-
-##### Build ONOS #####
-buildONOS()
-{
- if [ ! -d $ONOSROOT ]; then
- # if ask "May we proceed to build ONOS?"; then
- clear
- mkdir -p $ONOSROOT
- cp -rv $ONOSRC/* $ONOSROOT/
- # if ask "Would you like to apply ONOSFW unique patches?"; then
- mkdir -p $BUILDROOT/$PATCH_PATH_1 # Begin applying patches
- cp $PATCHES/$PATCH_PATH_1/* $BUILDROOT/$PATCH_PATH_1/
- # fi
- cd $ONOSROOT
- ln -sf $KARAF_ROOT/apache-karaf-$KARAF_VERSION apache-karaf-$KARAF_VERSION
- mvn clean install
- if [ -f "$ONOSROOT/tools/build/envDefaults" ]; then
- export ONOSVERSION="`cat $ONOSROOT/tools/build/envDefaults | grep "export ONOS_POM_VERSION" \
- | awk -F "=" {'print $2'} | sed -e 's/^"//' -e 's/"$//' | awk -F "-" {'print $1'}`-onosfw-$(date +%s)"
- printf "ONOSFW ONOS version is $ONOSVERSION. \n\n"
- fi
- # fi
- else
- # if ask "Would you like us to re-run building ONOS?"; then
- # if ask "Would you like to apply ONOSFW unique patches?"; then
- mkdir -p $BUILDROOT/$PATCH_PATH_1 # Begin applying patches
- cp -v $PATCHES/$PATCH_PATH_1/* $BUILDROOT/$PATCH_PATH_1/
- # fi
- cd $ONOSROOT
- ln -sf $KARAF_ROOT/apache-karaf-$KARAF_VERSION apache-karaf-$KARAF_VERSION
- mvn clean install
- if [ -f "$ONOSROOT/tools/build/envDefaults" ]; then
- export ONOSVERSION="`cat $ONOSROOT/tools/build/envDefaults | grep "export ONOS_POM_VERSION" \
- | awk -F "=" {'print $2'} | sed -e 's/^"//' -e 's/"$//' | awk -F "-" {'print $1'}`-onosfw-$(date +%s)"
- printf "ONOSFW ONOS version is $ONOSVERSION. \n\n"
- fi
- # fi
- fi
-}
-##### End Build ONOS #####
-
-##### Check for RPMBUILD tools #####
-checkforRPMBUILD() # Checks whether RPMBUILD is installed
-{
- if [ -z "$(command -v rpmbuild)" ]; then
- # printf "RPM Development support is not installed. We need it to build the RPM packages. \n"
- # if ask "May we install it?"; then
- if [ "$OS" = "centos" ]; then
- sudo yum -y install rpm-build
- sudo yum -y install rpm-devel
- elif [ "$OS" = "suse" ]; then
- sudo zypper --non-interactive install rpm-build
- sudo zypper --non-interactive install rpm-devel
- elif [ "$OS" = "ubuntu" ]; then
- sudo apt-get -y install rpm
- fi
- # fi
- fi
-}
-##### End Check for RPMBUILD tools #####
-
-##### Execution order #####
-main()
-{
- displayVersion
- detectOS
- # updateONOS
- checkJRE
- checkJDK
- installAnt
- installMaven
- installKaraf
- # freshONOS
- buildONOS
- checkforRPMBUILD
-}
-##### End Execution order #####
-
-main # Launches the build process