136 lines
4 KiB
Diff
136 lines
4 KiB
Diff
From 056fc66c699a8544c7692a03c905fca568f5390b Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?R=C3=BCdiger=20Oertel?= <ro@suse.de>
|
|
Date: Mon, 6 Nov 2023 12:01:16 +0100
|
|
Subject: [PATCH] patch alljava.sh and alljava.csh, use the links from update
|
|
alternatives
|
|
|
|
fix the issues from bsc#1107342 and bsc#1215434
|
|
|
|
diff --git a/files/etc/profile.d/alljava.csh b/files/etc/profile.d/alljava.csh
|
|
index 297303c..8c7601a 100644
|
|
--- a/files/etc/profile.d/alljava.csh
|
|
+++ b/files/etc/profile.d/alljava.csh
|
|
@@ -9,39 +9,18 @@
|
|
# JDK_HOME, SDK_HOME
|
|
#
|
|
|
|
-foreach JDIR ( "/usr/lib64/jvm" "/usr/lib/jvm" "/usr/java/latest" "/usr/java" )
|
|
+if ( -l /etc/alternatives/java ) then
|
|
+ set ALTERNATIVES_JAVA_LINK=`realpath /etc/alternatives/java`
|
|
+ setenv JRE_HOME $ALTERNATIVES_JAVA_LINK:h:h
|
|
+ unset ALTERNATIVES_JAVA_LINK
|
|
+endif
|
|
+
|
|
+if ( -l /etc/alternatives/javac ) then
|
|
+ set ALTERNATIVES_JAVAC_LINK=`realpath /etc/alternatives/javac`
|
|
+ setenv JAVA_HOME $ALTERNATIVES_JAVAC_LINK:h:h
|
|
+ setenv JAVA_HOME $JAVA_HOME/bin
|
|
+ setenv JDK_HOME $JAVA_HOME
|
|
+ setenv SDK_HOME $JAVA_HOME
|
|
+ unset ALTERNATIVES_JAVAC_LINK
|
|
+endif
|
|
|
|
- if ( ! -d $JDIR ) continue
|
|
-
|
|
- foreach JPATH ( $JDIR $JDIR/java $JDIR/java-[a-z]* $JDIR/java-[0-9]* $JDIR/jre $JDIR/jre-[a-z]* $JDIR/jre-[0-9]* )
|
|
-
|
|
- if ( ! -d $JPATH ) continue
|
|
-
|
|
- if ( ! -x $JPATH/bin/java ) continue
|
|
-
|
|
- setenv JAVA_BINDIR $JPATH/bin
|
|
- setenv JAVA_ROOT $JPATH
|
|
- setenv JAVA_HOME $JPATH
|
|
- unset JDK_HOME
|
|
- unset SDK_HOME
|
|
-
|
|
- switch ( $JPATH )
|
|
- case *jre*:
|
|
- setenv JRE_HOME $JPATH
|
|
- breaksw
|
|
- default:
|
|
- if ( -x $JPATH/jre/bin/java ) then
|
|
- setenv JRE_HOME $JPATH/jre
|
|
- else
|
|
- setenv JRE_HOME $JPATH
|
|
- endif
|
|
- # it is development kit=20
|
|
- if ( -x $JPATH/bin/javac ) then
|
|
- setenv JDK_HOME $JPATH
|
|
- setenv SDK_HOME $JPATH
|
|
- endif
|
|
- endsw
|
|
- end
|
|
- unset JPATH
|
|
-end
|
|
-unset JDIR
|
|
diff --git a/files/etc/profile.d/alljava.sh b/files/etc/profile.d/alljava.sh
|
|
index 3ce34de..78fabee 100644
|
|
--- a/files/etc/profile.d/alljava.sh
|
|
+++ b/files/etc/profile.d/alljava.sh
|
|
@@ -9,51 +9,18 @@
|
|
# JDK_HOME, SDK_HOME
|
|
#
|
|
|
|
-for JDIR in /usr/lib64/jvm /usr/lib/jvm /usr/java/latest /usr/java; do
|
|
+if test -L /etc/alternatives/java; then
|
|
+ ALTERNATIVES_JAVA_LINK=`realpath /etc/alternatives/java`
|
|
+ export JRE_HOME=${ALTERNATIVES_JAVA_LINK/\/bin\/java}
|
|
+ unset ALTERNATIVES_JAVA_LINK
|
|
+fi
|
|
+
|
|
+if test -L /etc/alternatives/javac; then
|
|
+ ALTERNATIVES_JAVAC_LINK=`realpath /etc/alternatives/javac`
|
|
+ export JAVA_HOME=${ALTERNATIVES_JAVAC_LINK/\/bin\/javac}
|
|
+ export JAVA_BINDIR=$JAVA_HOME/bin
|
|
+ export JDK_HOME=$JAVA_HOME
|
|
+ export SDK_HOME=$JAVA_HOME
|
|
+ unset ALTERNATIVES_JAVAC_LINK
|
|
+fi
|
|
|
|
- if ! test -d $JDIR; then
|
|
- continue
|
|
- fi
|
|
-
|
|
- for JPATH in $JDIR $JDIR/java $JDIR/java-[a-z]* $JDIR/java-[0-9]* $JDIR/jre $JDIR/jre-[a-z]* $JDIR/jre-[0-9]*; do
|
|
-
|
|
- if ! test -d $JPATH; then
|
|
- continue
|
|
- fi
|
|
-
|
|
- if ! test -x $JPATH/bin/java; then
|
|
- continue
|
|
- fi
|
|
-
|
|
- export JAVA_BINDIR=$JPATH/bin
|
|
- export JAVA_ROOT=$JPATH
|
|
- export JAVA_HOME=$JPATH
|
|
- unset JDK_HOME
|
|
- unset SDK_HOME
|
|
-
|
|
- case "$JPATH" in
|
|
- *jre*)
|
|
- [ -z "$JRE_HOME" ] && export JRE_HOME=$JPATH
|
|
- ;;
|
|
-
|
|
- *)
|
|
- if [ -x $JPATH/jre/bin/java ] ; then
|
|
- [ -z "$JRE_HOME" ] && export JRE_HOME=$JPATH/jre
|
|
- else
|
|
- [ -z "$JRE_HOME" ] && export JRE_HOME=$JPATH
|
|
- fi
|
|
- # it is development kit
|
|
- if [ -x $JPATH/bin/javac ] ; then
|
|
- export JDK_HOME=$JPATH
|
|
- export SDK_HOME=$JPATH
|
|
- unset JPATH
|
|
- break 2; # we found a JRE + SDK -- don't look any further
|
|
- fi
|
|
- ;;
|
|
- esac
|
|
-
|
|
- done
|
|
- unset JPATH
|
|
-
|
|
-done
|
|
-unset JDIR
|