mirror of
https://git.freebsd.org/ports.git
synced 2025-05-23 04:03:14 -04: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:
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
35
java/javavmwrapper/Makefile
Normal file
35
java/javavmwrapper/Makefile
Normal 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>
|
1
java/javavmwrapper/pkg-comment
Normal file
1
java/javavmwrapper/pkg-comment
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Wrapper script for various Java Virtual Machines
|
2
java/javavmwrapper/pkg-descr
Normal file
2
java/javavmwrapper/pkg-descr
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
Wrapper script to allow several different Java Virtual Machines being installef
|
||||||
|
on the same system.
|
3
java/javavmwrapper/pkg-plist
Normal file
3
java/javavmwrapper/pkg-plist
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
bin/javavm
|
||||||
|
bin/registervm
|
||||||
|
bin/unregistervm
|
120
java/javavmwrapper/src/javavmwrapper.sh
Normal file
120
java/javavmwrapper/src/javavmwrapper.sh
Normal 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
|
Loading…
Add table
Reference in a new issue