Handle Java install on Ubuntu and CentOS more sanely 97/51597/4
authorAnil Belur <abelur@linuxfoundation.org>
Wed, 8 Feb 2017 12:31:51 +0000 (22:31 +1000)
committerAnil Belur <abelur@linuxfoundation.org>
Thu, 9 Feb 2017 04:22:04 +0000 (14:22 +1000)
* Also fix problem with RH case statement

Change-Id: I0e98767239ed0f67cc03513a19b65ff183a4a196
Signed-off-by: Anil Belur <abelur@linuxfoundation.org>
packer/provision/baseline.sh

index 49364b5fde6157badc3627aea099f0c3a26433ce..916f3973cefbd50c32bc05e2d963f0b9fee089e8 100644 (file)
@@ -79,6 +79,15 @@ EOF
                 alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
             fi
         ;;
+        RedHat|CentOS)
+            if [ "$(echo $FACTER_OSVER | cut -d'.' -f1)" -ge "7" ]
+            then
+                echo "---> not modifying java alternatives as OpenJDK 1.7.0 does not exist"
+            else
+                alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
+                alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
+            fi
+        ;;
         *)
             alternatives --set java /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java
             alternatives --set java_sdk_openjdk /usr/lib/jvm/java-1.7.0-openjdk.x86_64
@@ -133,17 +142,27 @@ EOF
 
     # install Java 7
     echo "---> Configuring OpenJDK"
-    apt-get install openjdk-7-jdk
-
-    # make jdk8 available
-    add-apt-repository -y ppa:openjdk-r/ppa
-    apt-get update
-    # We need to force openjdk-8-jdk to install
-    apt-get install openjdk-8-jdk
-
-    # make sure that we still default to openjdk 7
-    update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
-    update-alternatives --set javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
+    FACTER_OSVER=$(/usr/bin/facter operatingsystemrelease)
+    case "$FACTER_OSVER" in
+        14.04)
+            apt-get install openjdk-7-jdk
+            # make jdk8 available
+            add-apt-repository -y ppa:openjdk-r/ppa
+            apt-get update
+            # We need to force openjdk-8-jdk to install
+            apt-get install openjdk-8-jdk
+            # make sure that we still default to openjdk 7
+            update-alternatives --set java /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
+            update-alternatives --set javac /usr/lib/jvm/java-7-openjdk-amd64/bin/javac
+        ;;
+        16.04)
+            apt-get install openjdk-8-jdk
+        ;;
+        *)
+            echo "---> Unknown Ubuntu version $FACTER_OSVER"
+            exit 1
+        ;;
+    esac
 
     # Needed to parse OpenStack commands used by opendaylight-infra stack commands
     # to initialize Heat template based systems.