commit:     208140d0186efae75bac1336c023997e5a02bb2b
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  9 09:03:02 2015 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Wed Sep  9 09:04:50 2015 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=208140d0

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

 ...8.0.60-r1.ebuild => oracle-jdk-bin-1.8.0.60-r2.ebuild} | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r1.ebuild 
b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r2.ebuild
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 ee9ca0d..5c7418a 100644
--- a/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r1.ebuild
+++ b/dev-java/oracle-jdk-bin/oracle-jdk-bin-1.8.0.60-r2.ebuild
@@ -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() {

Reply via email to