3 # Copyright 2016,2017 RIFT.IO Inc
5 # Licensed under the Apache License, Version 2.0 (the "License");
6 # you may not use this file except in compliance with the License.
7 # You may obtain a copy of the License at
9 # http://www.apache.org/licenses/LICENSE-2.0
11 # Unless required by applicable law or agreed to in writing, software
12 # distributed under the License is distributed on an "AS IS" BASIS,
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 # See the License for the specific language governing permissions and
15 # limitations under the License.
17 # Author(s): Jeremy Mordkoff, Lezz Giles
18 # Creation Date: 08/29/2016
24 # This is a top-level build script for OSM SO or UI
26 # Arguments and options: use -h or --help
28 # dependencies -- requires sudo rights
32 # Defensive bash programming flags
33 set -o errexit
# Exit on any error
34 trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR
35 set -o nounset
# Expanding an unset variable is an error. Variables must be
36 # set before they can be used.
38 ###############################################################################
39 # Options and arguments
42 params
="$(getopt -o h -l install,help --name "$0" -- "$@
")"
43 if [ $?
!= 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
47 installFromPackages
=false
51 --install) installFromPackages
=true
; shift;;
59 echo " $0 [--install] [PLATFORM_VERSION]"
62 echo " Prepare current system to run $MODULE. By default, the system"
63 echo " is set up to support building $MODULE; optionally, "
64 echo " $MODULE can be installed from a Debian package repository."
66 echo " --install: install $MODULE from package"
67 echo " PLATFORM_VERSION (optional): version of the platform packages to be installed."
71 *) echo "Not implemented: $1" >&2; exit 1;;
75 # Turn this on after handling options, so the output doesn't get cluttered.
76 set -x # Print commands before executing them
78 ###############################################################################
79 # Set up repo and version
81 PLATFORM_VERSION
=${1:-5.2.0.3.73627}
83 ###############################################################################
86 # must be run from the top of a workspace
89 # enable the right repos
90 curl http
://repos.riftio.com
/public
/xenial-riftware-public-key | sudo apt-key add
-
92 # always use the same file name so that updates will overwrite rather than enable a second repo
94 echo "deb https://artifactory.riftio.com/debian-OSM xenial main" >/etc
/apt
/source.list.d
/rift.list
96 sudo apt
install -y --allow-downgrades rw.tools-container-tools
=${PLATFORM_VERSION} rw.tools-scripts
=${PLATFORM_VERSION}
98 if $installFromPackages; then
100 # Install module and platform from packages
101 sudo
-H /usr
/rift
/container_tools
/mkcontainer
--modes $MODULE --rw-version ${PLATFORM_VERSION}
105 # Install environment to build module
106 sudo
-H /usr
/rift
/container_tools
/mkcontainer
--modes $MODULE-dev --rw-version ${PLATFORM_VERSION}
108 # Build and install module
114 if [[ $MODULE == SO
]]; then
115 echo "Creating Service ...."
116 sudo
/usr
/rift
/bin
/create_launchpad_service