| #!/usr/bin/env bash |
| # |
| # Copyright 2017 RIFT.IO Inc |
| # |
| # 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. |
| # |
| # Author(s): Jeremy Mordkoff |
| # Creation Date: 26 April 2017 |
| # |
| # |
| |
| # INSTALL.sh |
| # install launchpad UI and create the service |
| # |
| |
| HERE=$(realpath $(dirname $0)) |
| OSM_JENKINS=$(dirname $HERE) |
| . $OSM_JENKINS/common/install_common |
| |
| |
| |
| # Defensive bash programming flags |
| set -o errexit # Exit on any error |
| trap 'echo ERROR: Command failed: \"$BASH_COMMAND\"' ERR |
| set -o nounset # Expanding an unset variable is an error. Variables must be |
| # set before they can be used. |
| |
| ############################################################################### |
| # Set up repo and version |
| PLATFORM_REPOSITORY=OSM3 |
| PLATFORM_VERSION=5.2.0.2.72254 |
| |
| while getopts ":P:V:h" o; do |
| case "${o}" in |
| P) |
| PLATFORM_REPOSITORY=${OPTARG} |
| ;; |
| V) |
| PLATFORM_VERSION=${OPTARG} |
| ;; |
| h) |
| usage |
| exit 0 |
| ;; |
| *) |
| usage |
| exit 1 |
| ;; |
| esac |
| done |
| |
| function usage() { |
| echo |
| echo "NAME:" |
| echo " $0" |
| echo |
| echo "SYNOPSIS:" |
| echo " $0 -h|--help" |
| echo " $0 -P <PLATFORM_REPOSITORY> -V <PLATFORM_VERSION>" |
| echo |
| echo "DESCRIPTION:" |
| echo " Prepare current system to run SO and UI." |
| echo |
| echo " PLATFORM_REPOSITORY (optional): name of the RIFT.ware repository." |
| echo " PLATFORM_VERSION (optional): version of the platform packages to be installed." |
| echo |
| } |
| |
| |
| ############################################################################### |
| # Main block |
| |
| # enable the right repos |
| curl http://repos.riftio.com/public/xenial-riftware-public-key | apt-key add - |
| curl -o /etc/apt/sources.list.d/rift.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ |
| |
| # Make the Rift repo a higher priority to work around version conflicts. |
| cat <<EOF > /etc/apt/preferences.d/rift |
| Package: * |
| Pin: origin repos.riftio.com |
| Pin-Priority: 600 |
| EOF |
| |
| apt-get update |
| |
| # and install the tools |
| apt-get install -y --allow-downgrades rw.tools-container-tools=${PLATFORM_VERSION} rw.tools-scripts=${PLATFORM_VERSION} python |
| /usr/rift/container_tools/mkcontainer --modes UI-base --rw-version ${PLATFORM_VERSION} |
| |
| |
| # now disable the RIFT OSM repo so that we'll get UI from |
| # the OSM repos |
| rm -f /etc/apt/sources.list.d/rift.list |
| |
| apt-get update |
| apt-get install -y rw.ui-skyquake |
| echo "Creating Service ...." |
| /usr/rift/bin/create_launchpad_service |
| |