From 13adb9ad4396df1ca6ad36445d3ab01e58adecee Mon Sep 17 00:00:00 2001 From: Pino Toscano Date: Thu, 2 Jul 2015 17:01:27 +0200 Subject: [PATCH] openjdk: revert to a semi-manual installation Unfortunately, using package-installs means there is no way to set the proper openjdk package depending on the version of the distro, and so far it is hardcoded to 7. On Fedora >= 21, the default openjdk is 8, and due to bugs in yum [1] this has not caused build errors so far, but leaving a java-less image. The chosen solution is to not use package-installs anymore, still using pkg-map (called manually) to give the right name for the built distro. The default is still set to install openjdk v7 everywhere, as before; as drawback, building images based on Fedora >= 21 (which is the default in diskimage-builder since version 0.1.43) will fail hard now. [1] like not exiting when asking to install non-existing packages if specified together with existing ones Change-Id: I53195daa8d29b15dcae548eb76c5c9efb6ad50ef --- elements/openjdk/element-deps | 2 +- elements/openjdk/install.d/33-java | 16 ++++++++++++++++ elements/openjdk/package-installs.yaml | 1 - 3 files changed, 17 insertions(+), 2 deletions(-) delete mode 100644 elements/openjdk/package-installs.yaml diff --git a/elements/openjdk/element-deps b/elements/openjdk/element-deps index f945b87e..1daac749 100644 --- a/elements/openjdk/element-deps +++ b/elements/openjdk/element-deps @@ -1,2 +1,2 @@ java -package-installs +pkg-map diff --git a/elements/openjdk/install.d/33-java b/elements/openjdk/install.d/33-java index 9ed59381..20b5994e 100755 --- a/elements/openjdk/install.d/33-java +++ b/elements/openjdk/install.d/33-java @@ -8,6 +8,22 @@ set -o pipefail echo "Installing OpenJDK" +default_jdk_version_for_distro () { + case "$DISTRO_NAME" in + centos | fedora | rhel | ubuntu ) + echo "7" + ;; + *) + echo "Unknown OpenJDK distro: $DISTRO_NAME" >&2 + exit 1 + ;; + esac +} + +pkg=openjdk-$(default_jdk_version_for_distro) +pkg=$(pkg-map --element openjdk $pkg) +install-packages $pkg + case "$DISTRO_NAME" in ubuntu ) JRE_PATH=$(update-alternatives --list java) diff --git a/elements/openjdk/package-installs.yaml b/elements/openjdk/package-installs.yaml deleted file mode 100644 index 9e948237..00000000 --- a/elements/openjdk/package-installs.yaml +++ /dev/null @@ -1 +0,0 @@ -openjdk-7: