← Back to team overview

openjdk team mailing list archive

Bug#968991: openjdk-14: diff for NMU version 14.0.2+12-1.1

 

Control: tags 968991 + pending

Hi Matthias,

I've prepared an NMU for openjdk-14 (versioned as 14.0.2+12-1.1) and
uploaded it to DELAYED/15. Please feel free to tell me if I should
delay it longer, or if you would prefer that I remove the upload.

Also see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944738 for
discussion regarding the patch.

Cheers,
tony
diff -Nru openjdk-14-14.0.2+12/debian/changelog openjdk-14-14.0.2+12/debian/changelog
--- openjdk-14-14.0.2+12/debian/changelog	2020-07-17 09:20:10.000000000 -0700
+++ openjdk-14-14.0.2+12/debian/changelog	2020-09-23 11:13:13.000000000 -0700
@@ -1,3 +1,12 @@
+openjdk-14 (14.0.2+12-1.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Apply patch to strip nondeterminism before computing jmod hash.
+    Thank you to Julian Gilbey for the patch.  (Closes: #968991)
+    Add Build-Depends on strip-nondeterminism.
+
+ -- tony mancill <tmancill@xxxxxxxxxx>  Wed, 23 Sep 2020 11:13:13 -0700
+
 openjdk-14 (14.0.2+12-1) unstable; urgency=medium
 
   * OpenJDK 14.0.2 release, build 12 (release build).
diff -Nru openjdk-14-14.0.2+12/debian/control openjdk-14-14.0.2+12/debian/control
--- openjdk-14-14.0.2+12/debian/control	2020-07-17 07:51:00.000000000 -0700
+++ openjdk-14-14.0.2+12/debian/control	2020-09-19 12:57:12.000000000 -0700
@@ -15,6 +15,7 @@
   zlib1g-dev:native, zlib1g-dev, libattr1-dev, libpng-dev, libjpeg-dev, libgif-dev, 
   libnss3-dev (>= 2:3.17.1),
   openjdk-14-jdk-headless <cross>,
+  strip-nondeterminism,
 Build-Depends-Indep: graphviz, pandoc,
 Standards-Version: 4.5.0
 Homepage: http://openjdk.java.net/
diff -Nru openjdk-14-14.0.2+12/debian/patches/reproducible-build-jmod.diff openjdk-14-14.0.2+12/debian/patches/reproducible-build-jmod.diff
--- openjdk-14-14.0.2+12/debian/patches/reproducible-build-jmod.diff	1969-12-31 16:00:00.000000000 -0800
+++ openjdk-14-14.0.2+12/debian/patches/reproducible-build-jmod.diff	2020-09-23 11:11:16.000000000 -0700
@@ -0,0 +1,33 @@
+Description: jlink: Hash of module differs to expected hash recorded in java.base
+ The cause is the use of dh_strip_nondeterminism late in the build
+ process.  This reorganises the jmod files, which in turn changes their
+ SHA256 checksums.  This would not be a problem, except that the
+ checksums are saved in java.base.jmod *before* the use of
+ dh_strip_nondeterminism.  Performing this stripping immediately after
+ each jmod file is created results in the checksums being consistent
+ throughout.
+Author: Julian Gilbey <jdg@xxxxxxxxxx>
+Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=944738
+Forwarded: not-needed
+
+--- a/make/CreateJmods.gmk
++++ b/make/CreateJmods.gmk
+@@ -218,6 +218,9 @@
+ 
+ # Create jmods in the support dir and then move them into place to keep the
+ # module path in $(IMAGES_OUTPUTDIR)/jmods valid at all times.
++# strip-nondeterminism requires the same timestamp as
++# dh_strip_nondeterminism uses, so we determine this first.
++DSN_TIMESTAMP := $(shell perl -MDebian::Debhelper::Dh_Lib -e 'print get_source_date_epoch()')
+ $(eval $(call SetupExecute, create_$(JMOD_FILE), \
+     WARN := Creating $(INTERIM_MSG)$(JMOD_FILE), \
+     DEPS := $(DEPS), \
+@@ -228,7 +231,7 @@
+         --target-platform '$(OPENJDK_MODULE_TARGET_PLATFORM)' \
+         --module-path $(JMODS_DIR) $(JMOD_FLAGS) \
+         $(JMODS_SUPPORT_DIR)/$(JMOD_FILE), \
+-    POST_COMMAND := $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \
++    POST_COMMAND := strip-nondeterminism --timestamp $(DSN_TIMESTAMP) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) && $(MV) $(JMODS_SUPPORT_DIR)/$(JMOD_FILE) $(JMODS_DIR)/$(JMOD_FILE), \
+ ))
+ 
+ TARGETS += $(create_$(JMOD_FILE))
diff -Nru openjdk-14-14.0.2+12/debian/patches/series openjdk-14-14.0.2+12/debian/patches/series
--- openjdk-14-14.0.2+12/debian/patches/series	2020-04-15 00:11:57.000000000 -0700
+++ openjdk-14-14.0.2+12/debian/patches/series	2020-09-23 11:11:33.000000000 -0700
@@ -42,3 +42,4 @@
 reproducible-module-info.diff
 reproducible-copyright-headers.diff
 reproducible-build-user.diff
+reproducible-build-jmod.diff

Attachment: signature.asc
Description: PGP signature


References