From 3d7f23b1541592dfd49e8fecaa31d38e9053bce3 Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Tue, 13 Sep 2016 10:31:28 +0200 Subject: icedtea7-native: Fix IOException constructor compile error Under some circumstances, the bootstrap error fails with the following error: build-bootstrap-javac: [javac] Compiling 1 source file to build/openjdk.build-boot/langtools/build/bootstrap/classes [javac] 1. ERROR in /com/sun/tools/javac/file/ZipFileIndex.java [javac] super(message, cause); [javac] The constructor IOException(String, Throwable) is undefined The reason for that error is that rt.jar does not contain the openjdk classes but the ones from classpath 0.99. The error eventually goes away after a couple of hours :S. After some tedious debug, I figured out that the problem was the timestamp handling of zip/unzip. The Makefile launches zip with the following options: $(ZIP) -qur which only updates the content of the classes that have a timestamp older than the new ones. According to zip manpage: """ Note that under many operating systems, the TZ (timezone) environment variable must be set correctly in order for -f and -u to work properly """ On this patch, I remove the -u option from zip, always replacing the classes inside rt.jar with the classes from openjdk. I cannot think of an scenario where this may fail. Signed-off-by: Ricardo Ribalda Delgado Signed-off-by: Maxin B. John --- recipes-core/icedtea/icedtea7-native.inc | 1 + recipes-core/icedtea/openjdk-7-03b147/timezoneszip.patch | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 recipes-core/icedtea/openjdk-7-03b147/timezoneszip.patch diff --git a/recipes-core/icedtea/icedtea7-native.inc b/recipes-core/icedtea/icedtea7-native.inc index 4314fb5..727998c 100644 --- a/recipes-core/icedtea/icedtea7-native.inc +++ b/recipes-core/icedtea/icedtea7-native.inc @@ -41,6 +41,7 @@ SRC_URI = " \ ${OPENJDK_PATCHES} \ file://allow-headless-build.patch;striplevel=0 \ file://jaxws_fix_NullPointerException.patch;apply=no \ + file://timezoneszip.patch \ " S = "${WORKDIR}/${ICEDTEA}" diff --git a/recipes-core/icedtea/openjdk-7-03b147/timezoneszip.patch b/recipes-core/icedtea/openjdk-7-03b147/timezoneszip.patch new file mode 100644 index 0000000..befb7c7 --- /dev/null +++ b/recipes-core/icedtea/openjdk-7-03b147/timezoneszip.patch @@ -0,0 +1,13 @@ +diff --git a/Makefile.am b/Makefile.am +index 5eaff4c40aac..a4f0f63f3e43 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -2294,7 +2294,7 @@ if LACKS_SUN_AWT_TOOLKIT + mkdir -p `dirname $$destpath` ; \ + cp -a ../../$$dirs $$destpath ; \ + done ; \ +- $(ZIP) -qur $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \ ++ $(ZIP) -qr $(STAGE1_BOOT_DIR)/jre/lib/rt.jar \ + com java javax sun ); + endif + mkdir -p stamps -- cgit v1.2.3-54-g00ecf