diff options
author | Ralph Sennhauser <sera@gentoo.org> | 2013-01-19 11:40:29 +0000 |
---|---|---|
committer | Ralph Sennhauser <sera@gentoo.org> | 2013-01-19 11:40:29 +0000 |
commit | edd56183efbce0d0df0fcfd89828ac734549a111 (patch) | |
tree | f641ed797797c273cfdbb1164ef4cf996cbcae32 /src | |
parent | Drop useless use of local variable (diff) | |
download | eselect-java-edd56183efbce0d0df0fcfd89828ac734549a111.tar.gz eselect-java-edd56183efbce0d0df0fcfd89828ac734549a111.tar.bz2 eselect-java-edd56183efbce0d0df0fcfd89828ac734549a111.zip |
Import run-java-tool and install location to pkglibexecdir instead of bindir
svn path=/projects/eselect-java/trunk/; revision=9152
Diffstat (limited to 'src')
-rw-r--r-- | src/scripts/run-java-tool.bash | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/scripts/run-java-tool.bash b/src/scripts/run-java-tool.bash new file mode 100644 index 0000000..57106a9 --- /dev/null +++ b/src/scripts/run-java-tool.bash @@ -0,0 +1,50 @@ +#!/bin/bash + +user_vm="${HOME}/.gentoo/java-config-2/current-user-vm" +system_vm="/etc/java-config-2/current-system-vm" +# Try GENTOO_VM +if [[ -n ${GENTOO_VM} ]]; then + vmpath="/usr/lib/jvm/${GENTOO_VM}/" +# Then user VM +elif [[ -h ${user_vm} ]]; then + vmpath=$(readlink ${user_vm}) +# And fall back to the system VM +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} "${@}" +else + if [[ ! -d ${vmpath} ]]; then + echo "* Home for VM '${vm_handle}' does not exist: ${vmpath}" >&2 + if [[ -n ${GENTOO_VM} ]]; then + echo "* Invalid value for GENTOO_VM: ${GENTOO_VM}" + elif [[ -h ${user_vm} ]]; then + echo "* Invalid User VM: ${vm_handle}" >&2 + else + echo "* Invalid System VM: ${vm_handle}" >&2 + fi + else + if [[ ${tool} = "run-java-tool.bash" ]]; then + echo "* run-java-tool was invoked directly" >&2 + echo "* run-java-tool should only be used via symlinks to it" >&2 + else + echo "* ${tool} is not available for ${vm_handle} on $(uname -m)" >&2 + echo "* IMPORTANT: some Java tools are not available on some VMs on some architectures" >&2 + if (( ${EUID} != 0 )) && [[ "${DISPLAY}" ]] && type -p notify-send > /dev/null; then + notify-send -i java-icon48 "Gentoo Java Launcher" "<b>${tool}</b> is not available for ${vm_handle} +<a href=\"http://www.gentoo.org/doc/en/java.xml\">Gentoo Java User Guide</a>" + fi + fi + fi + exit 1 +fi + + |