Fix project delete exception
[osm/SO.git] / BUILD.sh
index 54e8d96..a9c0195 100755 (executable)
--- a/BUILD.sh
+++ b/BUILD.sh
@@ -114,10 +114,10 @@ fi
 
 if [[ $PLATFORM == ub16 ]]; then
     PLATFORM_REPOSITORY=${1:-OSM}
-    PLATFORM_VERSION=${2:-4.3.1.0.53704}
+    PLATFORM_VERSION=${2:-4.99.1.1.58887}
 elif [[ $PLATFORM == fc20 ]]; then
     PLATFORM_REPOSITORY=${1:-OSM}  # change to OSM when published
-    PLATFORM_VERSION=${2:-4.3.1.0.53705}
+    PLATFORM_VERSION=${2:-4.99.1.1.58887}
 else
     echo "Internal error: unknown platform $PLATFORM"
     exit 1
@@ -130,11 +130,11 @@ fi
 
 DAILY_TIMER='apt-daily.timer'
 DAILY_SERVICE='apt-daily.service'
-if [ $(systemctl is-active $DAILY_TIMER) = "active" ]
+if [ $(sudo systemctl is-active $DAILY_TIMER) = "active" ]
 then
-    systemctl stop $DAILY_TIMER
-    systemctl disable $DAILY_TIMER
-    systemctl disable $DAILY_SERVICE
+    sudo systemctl stop $DAILY_TIMER
+    sudo systemctl disable $DAILY_TIMER
+    sudo systemctl disable $DAILY_SERVICE
 fi
 
 # must be run from the top of a workspace
@@ -149,8 +149,9 @@ if [[ $PLATFORM == ub16 ]]; then
     curl http://repos.riftio.com/public/xenial-riftware-public-key | sudo apt-key add -
     # the old mkcontainer always enabled release which can be bad
     # so remove it
-    sudo rm -f /etc/apt/sources.list.d/release
-    sudo curl -o /etc/apt/sources.list.d/${PLATFORM_REPOSITORY}.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ 
+    sudo rm -f /etc/apt/sources.list.d/release.list /etc/apt/sources.list.d/rbac.list /etc/apt/sources.list.d/OSM.list
+    # always use the same file name so that updates will overwrite rather than enable a second repo
+    sudo curl -o /etc/apt/sources.list.d/RIFT.list http://buildtracker.riftio.com/repo_file/ub16/${PLATFORM_REPOSITORY}/ 
     sudo apt-get update
         
     # and install the tools
@@ -174,20 +175,28 @@ fi
 if $runMkcontainer; then
     sudo apt-get install -y libxml2-dev libxslt-dev
     sudo /usr/rift/container_tools/mkcontainer --modes build --modes ext --repo ${PLATFORM_REPOSITORY}
-    sudo pip3 install lxml==3.4.0
+    sudo -H pip3 install lxml==3.4.0
 fi
 
 
 if [[ $PLATFORM == ub16 ]]; then
     # install the RIFT platform code:
-    sudo apt-get install -y --allow-downgrades 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}
+    # remove these packages since some files moved from one to the other, and one was obsoleted
+    # ignore failures
+
+    PACKAGES="rw.toolchain-rwbase rw.toolchain-rwtoolchain rw.core.mgmt-mgmt rw.core.util-util \
+                   rw.core.rwvx-rwvx rw.core.rwvx-rwdts rw.automation.core-RWAUTO"
+    # this package is obsolete.
+    OLD_PACKAGES="rw.core.rwvx-rwha-1.0"
+    for package in $PACKAGES $OLD_PACKAGES; do
+        sudo apt remove -y $package || true
+    done
+
+    packages=""
+    for package in $PACKAGES; do
+        packages="$packages $package=${PLATFORM_VERSION}"
+    done
+    sudo apt-get install -y --allow-downgrades $packages
 
     sudo apt-get install python-cinderclient
     
@@ -201,6 +210,8 @@ if [[ $PLATFORM == ub16 ]]; then
             rw.core.mano-mano_yang_ylib-1.0 \
             rw.core.mano-common-1.0 \
             rw.core.mano-rwsdn_yang_ylib-1.0 \
+            rw.core.mano-rwsdnal_yang_ylib-1.0 \
+            rw.core.mano-rwsdn-1.0 \
             rw.core.mano-mano-types_yang_ylib-1.0 \
             rw.core.mano-rwcal-cloudsim-1.0 \
             rw.core.mano-rwcal-1.0 \