dev-java/oracle-jdk-bin: Remove PostVMInitHook to stop usage tracker
authorJames Le Cuirot <chewi@gentoo.org>
Wed, 9 Sep 2015 09:03:02 +0000 (10:03 +0100)
committerJames Le Cuirot <chewi@gentoo.org>
Wed, 9 Sep 2015 09:04:50 +0000 (10:04 +0100)
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

dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r2.ebuild [moved from dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r1.ebuild with 95% similarity]

similarity index 95%
rename from dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r1.ebuild
rename to dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r2.ebuild
index ee9ca0d97c93377298a36bf8fae9b0dd9a12ef3b..5c7418a14f6e0c4390923a781af6c789b2e3b759 100644 (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() {