allow the simple use of multiple VMs. Brief detail of the main changes:
. When a VM is registered, symbolic links for its executables are
created in ${LOCALBASE}/bin. This allows people to just type
'java', 'javac', etc. without having to add the VM installation
directory to their PATH.
. The actual 'java' that is executed via one of these symlinks is
determined by the order of the (sorted) configuration file
${LOCALBASE}/etc/javavms and by the environment variables
JAVA_VERSION, JAVA_OS and JAVA_VENDOR which function to select
a VM as they do in the ports framework.
. There is a new command, checkvms, to sanity check the configuration
and symlinks.
. The "javavm" executable is currently retained in its original capacity
as a synonym for Java for backward compatibility. However, its use
is deprecated.
. Temporarily set MAINTAINER to myself to make monitoring any initial
bug reports easier. The intent is to convert it to java@ at a later
date.
This is built on the ideas of znerd, hq and Shelton C. Johnson Jr., with
hq and Shelton contributing code and reviews.
PR: 27079, 39080
Reviewed by: hq, Shelton C. Johnson Jr. <shelton_c_j@yahoo.com>
21 lines
421 B
Bash
21 lines
421 B
Bash
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
|
|
LOCALBASE=%%LOCALBASE%%
|
|
|
|
# This script runs during post-install
|
|
if [ "x${2}" != "xPOST-INSTALL" ]; then
|
|
exit 0
|
|
fi
|
|
|
|
# Ensure all JDKs and JREs are installed
|
|
for jvm in "${LOCALBASE}"/*jdk* "${LOCALBASE}"/*jre*; do
|
|
if [ -x "${jvm}/bin/java" ]; then
|
|
"${PKG_PREFIX}"/bin/registervm "${jvm}/bin/java"
|
|
fi
|
|
done
|
|
|
|
# Ensure all VMs are configured correctly
|
|
"${PKG_PREFIX}"/bin/checkvms
|