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:
parent
1d26214cc9
commit
a69acf6529
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=29536
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…
x
Reference in New Issue
Block a user