commit:     2b7d0f087f3fdec791a4667512ecfe71f64a9ffd
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 30 16:15:16 2015 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Thu Dec 31 23:55:56 2015 +0000
URL:        https://gitweb.gentoo.org/proj/eselect-java.git/commit/?id=2b7d0f08

Utilise the VM's PATH variable in run-java-tool

Continue to fall back to bin and jre/bin just in case.

 src/scripts/run-java-tool.bash.in | 23 ++++++++++++++---------
 1 file changed, 14 insertions(+), 9 deletions(-)

diff --git a/src/scripts/run-java-tool.bash.in 
b/src/scripts/run-java-tool.bash.in
index 49db910..6bccac0 100644
--- a/src/scripts/run-java-tool.bash.in
+++ b/src/scripts/run-java-tool.bash.in
@@ -2,9 +2,10 @@
 
 user_vm="${HOME}/.gentoo@GENTOO_PORTAGE_EPREFIX@/java-config-2/current-user-vm"
 system_vm="@GENTOO_PORTAGE_EPREFIX@/etc/java-config-2/current-system-vm"
+
 # Try GENTOO_VM
 if [ -n "${GENTOO_VM}" ]; then
-       vmpath="@GENTOO_PORTAGE_EPREFIX@/usr/lib/jvm/${GENTOO_VM}/"
+       vmpath="@GENTOO_PORTAGE_EPREFIX@/usr/lib/jvm/${GENTOO_VM}"
 # Then user VM
 elif [ -h "${user_vm}" ]; then
        vmpath=$(readlink "${user_vm}")
@@ -12,15 +13,19 @@ elif [ -h "${user_vm}" ]; then
 else
        vmpath=$(readlink "${system_vm}")
 fi
-tool=$(basename "$0")
-bin=${vmpath}/bin/${tool}
-jrebin=${vmpath}/jre/bin/${tool}
 
-vm_handle=$(basename "${vmpath}")
-if [ -x "${bin}" ]; then
-       exec "${bin}" "${@}"
-elif [ -x "${jrebin}" ]; then
-       exec "${jrebin}" "${@}"
+vm_handle=${vmpath##*/}
+tool=${0##*/}
+
+toolpath=$(
+       export PATH=
+       . "@GENTOO_PORTAGE_EPREFIX@/usr/share/java-config-2/vm/${vm_handle}" 2> 
/dev/null
+       : ${PATH:=${vmpath}/bin:${vmpath}/jre/bin}
+       "@GENTOO_PORTAGE_EPREFIX@/usr/bin/which" "${tool}" 2> /dev/null
+)
+
+if [ -x "${toolpath}" ]; then
+       exec "${toolpath}" "${@}"
 else
        if [ ! -d "${vmpath}" ]; then
                echo "* Home for VM '${vm_handle}' does not exist: ${vmpath}" 
>&2

Reply via email to