mirror of
https://git.freebsd.org/ports.git
synced 2025-07-18 01:39:16 -04:00
- Ignore bootstrap-openjdk when we automatically register existing JVMs.
- Make sure to destroy all symlinks pointing to ${PREFIX}/bin/javavm and ${PREFIX}/etc/javavms when we deinstall the package. Reviewed by: glewis (maintainer) Feature safe: yes
This commit is contained in:
parent
1f2c8b09c3
commit
ace34c1a63
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=306536
3 changed files with 19 additions and 28 deletions
|
@ -1,14 +1,11 @@
|
|||
# New ports collection makefile for: javavmwrapper
|
||||
# Date created: 10 June 2000
|
||||
# Whom: Maxim Sobolev <sobomax@FreeBSD.org>
|
||||
#
|
||||
# Created by: Maxim Sobolev <sobomax@FreeBSD.org>
|
||||
# $FreeBSD$
|
||||
#
|
||||
# This port is self contained in the src directory.
|
||||
#
|
||||
|
||||
PORTNAME= javavmwrapper
|
||||
PORTVERSION= 2.4
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= java
|
||||
MASTER_SITES= # none
|
||||
DISTFILES= # none
|
||||
|
@ -53,10 +50,10 @@ do-configure:
|
|||
do-install:
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/classpath.sh ${PREFIX}/bin/classpath
|
||||
${INSTALL_SCRIPT} ${WRKDIR}/javavmwrapper.sh ${PREFIX}/bin/javavm
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/registervm
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/unregistervm
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/checkvms
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/manvm
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/registervm
|
||||
${LN} -sf ${PREFIX}/bin/javavm ${PREFIX}/bin/unregistervm
|
||||
.for _man in checkvms.1 javavm.1 manvm.1 registervm.1
|
||||
${INSTALL_MAN} ${WRKDIR}/${_man} ${MAN1PREFIX}/man/man1
|
||||
.endfor
|
||||
|
|
|
@ -21,9 +21,14 @@ else
|
|||
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" > /dev/null 2>&1
|
||||
_excl_dirs='bootstrap-openjdk'
|
||||
_find_expr='-depth 2 -regex .*/bin/java'
|
||||
for dir in ${_excl_dirs}; do
|
||||
_find_expr="${_find_expr} ! -regex ${dir}/bin/java"
|
||||
done
|
||||
for jvm in `cd "${LOCALBASE}" && find *jdk* *jre* ${_find_expr}`; do
|
||||
if [ -x "${LOCALBASE}/${jvm}" ]; then
|
||||
"${PKG_PREFIX}"/bin/registervm "${LOCALBASE}/${jvm}" > /dev/null 2>&1
|
||||
fi
|
||||
done
|
||||
|
||||
|
|
|
@ -21,6 +21,11 @@ if [ -f "${OPTION_CONF}" -a -f "${OPTION_CONF}.dist" ]; then
|
|||
fi
|
||||
fi
|
||||
|
||||
# Destroy the symbolic links that were created for every executable for a VM.
|
||||
find -L ${PKG_PREFIX}/bin -samefile ${PKG_PREFIX}/bin/javavm \
|
||||
\! -name checkvms \! -name javavm \! -name manvm \
|
||||
\! -name registervm \! -name unregistervm | xargs rm -f
|
||||
|
||||
# The configuration file
|
||||
CONF="${PKG_PREFIX}/etc/javavms"
|
||||
|
||||
|
@ -35,23 +40,7 @@ if [ ! -r "${CONF}" ]; then
|
|||
exit 1
|
||||
fi
|
||||
|
||||
# Destroy the symbolic links that were created for every executable for a VM.
|
||||
cat "${CONF}" | \
|
||||
(
|
||||
while read JAVAVM; do
|
||||
VM=`echo "${JAVAVM}" | sed -E 's|[[:space:]]*#.*||' 2>/dev/null`
|
||||
JAVA_HOME=`dirname "${VM}"`
|
||||
JAVA_HOME=`dirname "${JAVA_HOME}"`
|
||||
for exe in "${JAVA_HOME}"/bin/* "${JAVA_HOME}"/jre/bin/*; do
|
||||
exe=`basename "${exe}"`
|
||||
if [ -L "${PKG_PREFIX}/bin/${exe}" -a \
|
||||
"`ls -ld "${PKG_PREFIX}/bin/${exe}" 2>/dev/null | \
|
||||
awk '/->/{print $NF;exit 0}END{exit 1}'`" = \
|
||||
"${PKG_PREFIX}/bin/javavm" ]; then
|
||||
rm "${PKG_PREFIX}/bin/${exe}"
|
||||
fi
|
||||
done;
|
||||
done;
|
||||
)
|
||||
# Remove the configuration file.
|
||||
rm -f "${CONF}"
|
||||
|
||||
exit 0
|
||||
|
|
Loading…
Add table
Reference in a new issue