[arch-commits] Commit in java-common/trunk (7 files)
Guillaume Alaux
guillaume at archlinux.org
Mon Sep 1 11:37:19 UTC 2014
Date: Monday, September 1, 2014 @ 13:37:18
Author: guillaume
Revision: 220857
FS#41639 add link pointing at current jre
Modified:
java-common/trunk/PKGBUILD
java-common/trunk/bin_archlinux-java
java-common/trunk/bin_java-common-wrapper
java-common/trunk/install_java-common.sh
java-common/trunk/profile_jre.csh
java-common/trunk/profile_jre.sh
java-common/trunk/test_archlinux-java
-------------------------+
PKGBUILD | 10 +++++-----
bin_archlinux-java | 16 ++++++++++++++--
bin_java-common-wrapper | 2 +-
install_java-common.sh | 38 +++++++++++++++++++++++++++++++++++++-
profile_jre.csh | 2 +-
profile_jre.sh | 2 +-
test_archlinux-java | 9 +++++++++
7 files changed, 68 insertions(+), 11 deletions(-)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2014-09-01 10:43:17 UTC (rev 220856)
+++ PKGBUILD 2014-09-01 11:37:18 UTC (rev 220857)
@@ -19,11 +19,11 @@
bin_java-common-wrapper
https://shunit2.googlecode.com/files/shunit2-2.1.6.tgz)
-sha256sums=('073ebe73e05346c03c29d02c73cca38f6a4fccc9f3ab2026760f1cd29791fabb'
- '458eced6d2846805fbc18ca2ba717bf5f0556cc93a442b485c81fe12a4f6e5b6'
- 'd8753baf34ac2454edd7ba4d4f3ecf52aba02615a8ebc0f35ddf59ea83c11cd2'
- 'edf0f8eeb17720276026777b5b2ecb8629593e9f0a3af6def66cc9a77e31810a'
- '622927af9ec374140a878993936f7fdd4206fe069dddfcefc6d4e15fa6d67f39'
+sha256sums=('72fa8a6d2d38f37ab51d36f383fa94bf424d494f0d3712b3af73daaf30046b2b'
+ 'ffef7d042be3f20e3225780def56bcbadd75a74a3ceecc57c0af23d78e39cb54'
+ '00af7fe1894e0edc7663bfbdd626c68171cad7bc7d499f343f2eee9637d4b4c7'
+ 'c28ffd3acc702e8cb02b3ec18516c0c4287614dd1f5803f9357a7a4c7c798f35'
+ '16a4fde19bd34210ff2d06480085f681b4e41e85ec89853e3cafaa8377bcedfb'
'65a313a76fd5cc1c58c9e19fbc80fc0e418a4cbfbd46d54b35ed5b6e0025d4ee')
check() {
Modified: bin_archlinux-java
===================================================================
--- bin_archlinux-java 2014-09-01 10:43:17 UTC (rev 220856)
+++ bin_archlinux-java 2014-09-01 11:37:18 UTC (rev 220857)
@@ -6,12 +6,15 @@
# Author: Guillaume ALAUX <guillaume at archlinux.org>
JVM_DIR=/usr/lib/jvm
-DEFAULT_NAME=java-default-runtime
+DEFAULT_NAME=default
DEFAULT_PATH=${JVM_DIR}/${DEFAULT_NAME}
+DEFAULT_NAME_JRE=default-runtime
+DEFAULT_PATH_JRE=${JVM_DIR}/${DEFAULT_NAME_JRE}
BIN_PATH=/usr/bin
WRAPPER_PATH=/usr/lib/java-common-wrapper
+
# Utility functions
check_root() {
@@ -73,12 +76,21 @@
# $1: Java environment name to set as default
set_default_link_to() {
+ new_default=$1
unlink ${DEFAULT_PATH} 2>/dev/null
- ln -sf $1 ${DEFAULT_PATH}
+ ln -sf ${new_default} ${DEFAULT_PATH}
+
+ unlink ${DEFAULT_PATH_JRE} 2>/dev/null
+ if [[ ${new_default} == */jre ]]; then
+ ln -sf ${new_default} ${DEFAULT_PATH_JRE}
+ else
+ ln -sf ${new_default}/jre ${DEFAULT_PATH_JRE}
+ fi
}
unset_default_link() {
unlink ${DEFAULT_PATH} 2>/dev/null
+ unlink ${DEFAULT_PATH_JRE} 2>/dev/null
}
# First level functions
Modified: bin_java-common-wrapper
===================================================================
--- bin_java-common-wrapper 2014-09-01 10:43:17 UTC (rev 220856)
+++ bin_java-common-wrapper 2014-09-01 11:37:18 UTC (rev 220857)
@@ -1,2 +1,2 @@
#!/bin/bash
-exec "${JAVA_HOME:-/usr/lib/jvm/java-default-runtime}/bin/${0##*/}" "$@"
+exec "${JAVA_HOME:-/usr/lib/jvm/default}/bin/${0##*/}" "$@"
Modified: install_java-common.sh
===================================================================
--- install_java-common.sh 2014-09-01 10:43:17 UTC (rev 220856)
+++ install_java-common.sh 2014-09-01 11:37:18 UTC (rev 220857)
@@ -1,8 +1,44 @@
+JVM_DIR=/usr/lib/jvm
+OLD_DEFAULT_NAME=java-default-runtime
+OLD_DEFAULT_PATH=${JVM_DIR}/${OLD_DEFAULT_NAME}
+DEFAULT_NAME=default
+DEFAULT_PATH=${JVM_DIR}/${DEFAULT_NAME}
+DEFAULT_NAME_JRE=default-runtime
+DEFAULT_PATH_JRE=${JVM_DIR}/${DEFAULT_NAME_JRE}
+
+# $1: Java environment name to set as default
+set_default_link_to() {
+ new_default=$1
+ unlink ${DEFAULT_PATH} 2>/dev/null
+ ln -sf ${new_default} ${DEFAULT_PATH}
+
+ unlink ${DEFAULT_PATH_JRE} 2>/dev/null
+ if [[ ${new_default} == */jre ]]; then
+ ln -sf ${new_default} ${DEFAULT_PATH_JRE}
+ else
+ ln -sf ${new_default}/jre ${DEFAULT_PATH_JRE}
+ fi
+}
+
+pre_install() {
+ _curr_def=$(readlink ${OLD_DEFAULT_PATH} && true)
+ if [ -n ${_curr_def} ]; then
+ unlink ${OLD_DEFAULT_PATH} > /dev/null 2>&1
+ ln -sf ${DEFAULT_NAME} ${OLD_DEFAULT_PATH}
+
+ set_default_link_to ${_curr_def}
+ fi
+}
+
+pre_upgrade() {
+ pre_install "$@"
+}
+
post_install() {
echo 'Installing multiple non-conflicting Java environments is now supported'
echo 'Check the following wiki section for more info:'
echo ' https://wiki.archlinux.org/index.php/Java'
- echo 'Please make sure JAVA_HOME is set to /usr/lib/jvm/java-default-runtime'
+ echo 'Please make sure JAVA_HOME is set to /usr/lib/jvm/default'
echo 'If not, you may have to logout and login again to set it according to /etc/profile.d/jre.sh'
}
Modified: profile_jre.csh
===================================================================
--- profile_jre.csh 2014-09-01 10:43:17 UTC (rev 220856)
+++ profile_jre.csh 2014-09-01 11:37:18 UTC (rev 220857)
@@ -1,6 +1,6 @@
# Do not change this unless you want to completely by-pass Arch Linux' way
# of handling Java versions and vendors. Instead, please use script `archlinux-java`
-setenv JAVA_HOME "/usr/lib/jvm/java-default-runtime"
+setenv JAVA_HOME "/usr/lib/jvm/default"
# Enable this for non-reparenting window managers
#setenv _JAVA_AWT_WM_NONREPARENTING 1
Modified: profile_jre.sh
===================================================================
--- profile_jre.sh 2014-09-01 10:43:17 UTC (rev 220856)
+++ profile_jre.sh 2014-09-01 11:37:18 UTC (rev 220857)
@@ -1,6 +1,6 @@
# Do not change this unless you want to completely by-pass Arch Linux' way
# of handling Java versions and vendors. Instead, please use script `archlinux-java`
-export JAVA_HOME=/usr/lib/jvm/java-default-runtime
+export JAVA_HOME=/usr/lib/jvm/default
# Enable this for non-reparenting window managers
#export _JAVA_AWT_WM_NONREPARENTING=1
Modified: test_archlinux-java
===================================================================
--- test_archlinux-java 2014-09-01 10:43:17 UTC (rev 220856)
+++ test_archlinux-java 2014-09-01 11:37:18 UTC (rev 220857)
@@ -11,6 +11,7 @@
INIT_JVM_DIR=${JVM_DIR}
INIT_DEFAULT_PATH=${DEFAULT_PATH}
+INIT_DEFAULT_PATH_JRE=${DEFAULT_PATH_JRE}
INIT_BIN_PATH=${BIN_PATH}
INIT_WRAPPER_PATH=${WRAPPER_PATH}
@@ -28,6 +29,7 @@
test_dir=$(mktemp -d)
JVM_DIR=${test_dir}${INIT_JVM_DIR}
DEFAULT_PATH=${test_dir}${INIT_DEFAULT_PATH}
+ DEFAULT_PATH_JRE=${test_dir}${INIT_DEFAULT_PATH_JRE}
JAVA_NAME=$(get_rand_str)
BIN_PATH=${test_dir}${INIT_BIN_PATH}
mkdir -p ${BIN_PATH}
@@ -69,11 +71,15 @@
for binary in javac javah jhat; do
ln -s ${WRAPPER_PATH} ${BIN_PATH}/${binary}
done
+ ln -s $1/jre ${DEFAULT_PATH_JRE}
+ else
+ ln -s $1 ${DEFAULT_PATH_JRE}
fi
}
assertDefaultNotSet() {
assertNull 'Default is set' "$(readlink ${DEFAULT_PATH})"
+ assertNull 'Default runtime is set' "$(readlink ${DEFAULT_PATH_JRE})"
assertNull "PATH has a java binary" "$(readlink ${BIN_PATH}/java)"
assertNull "PATH has a javac binary" "$(readlink ${BIN_PATH}/javac)"
}
@@ -81,6 +87,9 @@
assertDefaultSetTo() {
new_java=$1
assertEquals "Default points at wrong Java env" "${new_java}" "$(readlink ${DEFAULT_PATH})"
+ if [ ${new_java} == */jre ]; then
+ assertEquals "Default runtime points at wrong Java env" "${new_java}/jre" "$(readlink ${DEFAULT_PATH_JRE})"
+ fi
# For all links in /usr/bin that point at the wrapper
for lpath in $(find -L ${BIN_PATH} -samefile ${WRAPPER_PATH}); do
# There is a binary in the JVM bin dir
More information about the arch-commits
mailing list