From c99b82d733da7455158ffa0259979a45b7994b8c Mon Sep 17 00:00:00 2001 From: Matthew Farrellee Date: Tue, 10 Sep 2013 20:04:21 -0400 Subject: [PATCH] Allow for install of distro native java Change-Id: Ia381d62a79c15f37457da8768925bce3ddc7c3c2 --- elements/README.rst | 2 +- elements/hadoop/install.d/20-setup-java | 20 +++++++++++------- .../hadoop/post-install.d/40-setup-hadoop | 21 +++++++++++++++---- elements/hadoop/root.d/0-check | 3 +-- 4 files changed, 31 insertions(+), 15 deletions(-) diff --git a/elements/README.rst b/elements/README.rst index 694a735a..9e11fc45 100644 --- a/elements/README.rst +++ b/elements/README.rst @@ -3,7 +3,7 @@ Diskimage-builder tools for creation cloud images Steps how to create cloud image with Apache Hadoop installed using diskimage-builder project: -1. Clone the repository "https://github.com/stackforge/diskimage-builder" locally. +1. Clone the repository "https://github.com/stackforge/diskimage-builder" locally. Note: Make sure you have commit 43b96d91 in your clone, it provides a mapping for default-jre. .. sourcecode:: bash diff --git a/elements/hadoop/install.d/20-setup-java b/elements/hadoop/install.d/20-setup-java index 8952eec1..d9800ea6 100755 --- a/elements/hadoop/install.d/20-setup-java +++ b/elements/hadoop/install.d/20-setup-java @@ -20,15 +20,19 @@ elif [ -n "$JAVA_FILE" ]; then install -D -g root -o root -m 0755 $(dirname $0)/$JAVA_FILE $JAVA_HOME fi -cd $JAVA_HOME -if echo $JAVA_FILE | grep -q -s -F .tar.gz ; then - echo -e "\n" | tar -zxvf $JAVA_FILE -elif echo $JAVA_FILE | grep -q -s -F .bin ; then - echo -e "\n" | sh $JAVA_FILE +if [ -z "$JAVA_FILE" ]; then + install-packages default-jre else - echo "Unknown file type: $JAVA_FILE. Exiting." - exit 1 + cd $JAVA_HOME + if echo $JAVA_FILE | grep -q -s -F .tar.gz ; then + echo -e "\n" | tar -zxvf $JAVA_FILE + elif echo $JAVA_FILE | grep -q -s -F .bin ; then + echo -e "\n" | sh $JAVA_FILE + else + echo "Unknown file type: $JAVA_FILE. Exiting." + exit 1 + fi + rm $JAVA_FILE fi -rm $JAVA_FILE echo "Java was installed" diff --git a/elements/hadoop/post-install.d/40-setup-hadoop b/elements/hadoop/post-install.d/40-setup-hadoop index 0687b969..a18e0c7c 100755 --- a/elements/hadoop/post-install.d/40-setup-hadoop +++ b/elements/hadoop/post-install.d/40-setup-hadoop @@ -64,13 +64,26 @@ esac rm -r $tmp_dir echo "Pre-configuring Hadoop" -filename=$(find $TARGET_ROOT/usr/java/ -maxdepth 1 -name "jdk*") + +# Find JAVA_HOME... +case "$distro" in + Ubuntu) + JAVA_HOME=$(readlink -e /usr/bin/java | sed "s:bin/java::") + ;; + Fedora ) + JAVA_HOME=$(rpm --eval '%{?java_home}') + ;; +esac +if [ -z "$JAVA_HOME" ]; then + JAVA_HOME=$(find $TARGET_ROOT/usr/java/ -maxdepth 1 -name "jdk*") +fi + cat >> /home/hadoop/.bashrc <