From fefe34d86a1e54300ea17fcb19ff7d22d9e91f68 Mon Sep 17 00:00:00 2001 From: Jeremy Mordkoff Date: Wed, 14 Sep 2016 20:44:29 -0400 Subject: [PATCH] Ubuntu build script Signed-off-by: Jeremy Mordkoff --- BUILD.sh | 7 ++-- BUILD_UB.sh | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+), 3 deletions(-) create mode 100755 BUILD_UB.sh diff --git a/BUILD.sh b/BUILD.sh index 1c4667ca..b62c9b87 100755 --- a/BUILD.sh +++ b/BUILD.sh @@ -29,8 +29,8 @@ # ARGS -PLATFORM_REPOSITORY=${1:-OSM} -PLATFORM_VERSION=${2:-4.3.1.0.48360-1} +PLATFORM_REPOSITORY=${1:-OSM} # change to OSM when published +PLATFORM_VERSION=${2:-4.3.1.0.49165-1} # must be run from the top of a workspace cd $(dirname $0) @@ -67,7 +67,8 @@ yumdownloader rw.toolchain-rwbase-${PLATFORM_VERSION} \ rw.core.rwvx-rwvx-${PLATFORM_VERSION} \ rw.core.rwvx-rwha-1.0-${PLATFORM_VERSION} \ rw.core.rwvx-rwdts-${PLATFORM_VERSION} \ - rw.automation.core-RWAUTO-${PLATFORM_VERSION} \ + rw.automation.core-RWAUTO-${PLATFORM_VERSION} + sudo rpm -i --replacefiles --nodeps *rpm popd rm -rf $temp diff --git a/BUILD_UB.sh b/BUILD_UB.sh new file mode 100755 index 00000000..3f8d3cb7 --- /dev/null +++ b/BUILD_UB.sh @@ -0,0 +1,98 @@ +# +# Copyright 2016 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: 8 Sep 2016 -- cloned from BUILD.sh and adapated for Ubuntu +# +# + +# BUILD_UB.sh +# +# This is a top-level build script for RIFT.io +# +# args none +# +# dependencies -- requires sudo rights + + +# ARGS + +PLATFORM_REPOSITORY=${1:-OSM} +PLATFORM_VERSION=${2:-4.3.1.0.49164} + +# must be run from the top of a workspace +cd $(dirname $0) + +# inside RIFT.io this is an NFS mount +# so just to be safe +test -h /usr/rift && sudo rm -f /usr/rift + +# enable the right repos +curl http://repos.riftio.com/public/xenial-riftware-public-key | sudo apt-key add - +sudo curl -o /etc/apt/sources.list.d/${PLATFORM_REPOSITORY}.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ +sudo apt-get update + +# and install the tools +sudo apt remove -y rw.toolchain-rwbase tcpdump +sudo apt-get install -y rw.tools-container-tools rw.tools-scripts python + +# enable the OSM repository hosted by RIFT.io +# this contains the RIFT platform code and tools +# and install of the packages required to build and run +# this module +sudo -H /usr/rift/container_tools/mkcontainer --modes build --modes ext --repo ${PLATFORM_REPOSITORY} + + + +# install the RIFT platform code: +temp=$(mktemp -d /tmp/rw.XXX) +pushd $temp + +apt-get download rw.toolchain-rwbase=${PLATFORM_VERSION} \ + rw.toolchain-rwtoolchain=${PLATFORM_VERSION} \ + rw.core.mgmt-mgmt=${PLATFORM_VERSION} \ + rw.core.util-util=${PLATFORM_VERSION} \ + rw.core.rwvx-rwvx=${PLATFORM_VERSION} \ + rw.core.rwvx-rwdts=${PLATFORM_VERSION} \ + rw.automation.core-RWAUTO=${PLATFORM_VERSION} \ + rw.core.rwvx-rwha-1.0=${PLATFORM_VERSION} + +sudo dpkg -i --force-overwrite *deb + + +popd +rm -rf $temp + +# this file gets in the way of the one generated by the build +sudo rm -f /usr/rift/usr/lib/libmano_yang_gen.so + + +sudo chmod 777 /usr/rift /usr/rift/usr/share + +# install some base files used to create VNFs +test -d /usr/rift/images || mkdir /usr/rift/images +for file in Fedora-x86_64-20-20131211.1-sda-ping.qcow2 Fedora-x86_64-20-20131211.1-sda-pong.qcow2 Fedora-x86_64-20-20131211.1-sda.qcow2; do + test -f /usr/rift/images/$file || curl -o /usr/rift/images/$file http://repo.riftio.com/releases/open.riftio.com/4.3.1/$file +done + +####### If you are re-building, you just need to run +# these two steps +make -j16 +sudo make install + +# you can now clone and build the UI using just make && sudo make install +# or you can run without the UI, e.g. +# note to start the RIFT.io UI please run +echo 'sudo -H /usr/rift/rift-shell -r -i /usr/rift -a /usr/rift/.artifacts -- ./demos/launchpad.py --use-xml-mode --no-ui' -- 2.25.1