dev-java/oracle-jdk-bin: Remove PostVMInitHook to stop usage tracker

Deleting the usage tracker resulted in exceptions being silently
raised in a thread and this caused havoc with debuggers. Deleting the
hook that calls it instead is a smaller change and avoids both
problems.

It is possible that Oracle may use this hook for something else later.
I have therefore added a JAVA_PKG_STRICT check to display its contents
on each merge so that we can keep an eye on it.

See bug #559936 for more details.

Package-Manager: portage-2.2.20.1
This commit is contained in:
James Le Cuirot
2015-09-09 10:03:02 +01:00
parent dd6102d321
commit 208140d018

View File

@@ -183,10 +183,17 @@ src_prepare() {
mv "${WORKDIR}"/${JCE_DIR} jre/lib/security/ || die
fi
# Delete Oracle's evil usage tracker. Not just because it's evil but
# because it breaks the sandbox during builds and we can't find any
# other feasible way to disable it or make it write somewhere else.
zip -d jre/lib/rt.jar sun/usagetracker/\* || die
if [[ -n ${JAVA_PKG_STRICT} ]] ; then
eqawarn "Ensure that this only calls trackJavaUsage(). If not, see bug #559936."
eqawarn
eqawarn "$(./bin/javap -J-Duser.home=${T} -c sun.misc.PostVMInitHook || die)"
fi
# Remove the hook that calls Oracle's evil usage tracker. Not just
# because it's evil but because it breaks the sandbox during builds
# and we can't find any other feasible way to disable it or make it
# write somewhere else. See bug #559936 for details.
zip -d jre/lib/rt.jar sun/misc/PostVMInitHook.class || die
}
src_install() {