1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-02-05 11:35:01 +00:00

Initial import of javavmwrapper - a simple shell script which would allow

Java-based ports to use any of the Java Virtual Machines installed on the
system.
This commit is contained in:
Maxim Sobolev 2000-06-12 09:42:51 +00:00
parent 1d26214cc9
commit a69acf6529
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=29536
5 changed files with 161 additions and 0 deletions

View File

@ -0,0 +1,35 @@
# New ports collection makefile for: javavmwrapper
# Date created: 10 June 2000
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
#
# $FreeBSD$
#
# This port is self contained in the src directory.
#
PORTNAME= javavmwrapper
PORTVERSION= 1.0
CATEGORIES= java
MASTER_SITES= # none
DISTFILES= # none
MAINTAINER= sobomax@FreeBSD.org
NO_BUILD= yes
NO_WRKSUBDIR= yes
SRC= ${.CURDIR}/src
do-fetch:
@${DO_NADA}
do-configure:
${SED} 's|%%PREFIX%%|${PREFIX}|' \
< ${SRC}/javavmwrapper.sh > ${WRKDIR}/javavmwrapper.sh
do-install:
${INSTALL_SCRIPT} ${WRKDIR}/javavmwrapper.sh ${PREFIX}/bin/javavm
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/registervm
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/unregistervm
.include <bsd.port.mk>

View File

@ -0,0 +1 @@
Wrapper script for various Java Virtual Machines

View File

@ -0,0 +1,2 @@
Wrapper script to allow several different Java Virtual Machines being installef
on the same system.

View File

@ -0,0 +1,3 @@
bin/javavm
bin/registervm
bin/unregistervm

View File

@ -0,0 +1,120 @@
#!/bin/sh
#
# javawrapper.sh
#
# Allows to install several Java Virtual Machines
# on the same system and use config file/or environment
# variable to select wichever to use
#
# ----------------------------------------------------------------------------
# "THE BEER-WARE LICENSE" (Revision 42, (c) Poul-Henning Kamp):
# Maxim Sobolev <sobomax@FreeBSD.org> wrote this file. As long as you retain
# this notice you can do whatever you want with this stuff. If we meet some
# day, and you think this stuff is worth it, you can buy me a beer in return.
#
# Maxim Sobolev
# ----------------------------------------------------------------------------
#
# $FreeBSD$
#
# MAINTAINER= sobomax@FreeBSD.org
ARGS="${*}"
PREFIX="%%PREFIX%%"
CONF="${PREFIX}/etc/javavms"
IAM=`basename "${0}"`
tryrunVM () {
if [ -x "${1}" ]; then
exec "${1}" ${2}
fi
/bin/echo "${IAM}: warning: couldn't start specified JavaVM - \"${1}\"" >&2
}
registerVM () {
if [ x"${1}" = x"" ]; then
/bin/echo "Usage: ${IAM} path"
exit
fi
if [ ! -e "${CONF}" ]; then
/usr/bin/touch "${CONF}"
fi
if [ ! -x "${1}" ]; then
/bin/echo "${IAM}: warning: the specified JavaVM \"${1}\" either not exists of not executable" >&2
fi
/bin/ed "${CONF}" >/dev/null <<EOF
0a
${1}
.
w
q
EOF
exit 0
}
unregisterVM () {
if [ x"${1}" = x"" ]; then
/bin/echo "Usage: ${IAM} path"
exit
fi
if [ ! -e "${CONF}" ]; then
/bin/echo "${IAM}: error: can't find ${CONF} config file!" >&2
exit 1
fi
if [ x"`grep ${1} ${CONF}`" = x"" ]; then
/bin/echo "${IAM}: error: \"${1}\" JavaVM is not currently registered"
exit 1
fi
/bin/ed "${CONF}" >/dev/null <<EOF
g|${1}|d
w
q
EOF
# Remove config file if its size reached 0
if [ ! -s "${CONF}" ]; then
/bin/rm "${CONF}"
fi
exit 0
}
case "${IAM}" in
registervm )
registerVM "${1}"
;;
unregistervm )
unregisterVM "${1}"
;;
esac
# Main ()
# First check if JAVAVM environment variable is set
if [ x"${JAVAVM}" != x"" ]; then
tryrunVM "${JAVAVM}" "${ARGS}"
fi
# Then try to make sure that ${CONF} exists
if [ ! -e "${CONF}" ]; then
echo "${IAM}: error: can't find ${CONF} config file" >&2
exit 1
fi
# Allow coment in the ${CONF}
VMS=`/usr/bin/sed 's|#.*||' < "${CONF}" | uniq`
# Finally try to run one of the ${VMS}
for JAVAVM in ${VMS}; do
tryrunVM "${JAVAVM}" "${ARGS}";
done
echo "${IAM}: error: no suitable JavaVMs found" >&2
exit 1