← Back to team overview

openjdk team mailing list archive

Bug#944738: openjdk-11: diff for NMU version 11.0.8+10-1.1

 

Control: tags 944738 + pending

Hello Matthias,

I've prepared an NMU for openjdk-11 (versioned as 11.0.8+10-1.1) and
uploaded it to DELAYED/15. Please feel free to tell me if I should delay
it longer or remove the upload from the queue.

Thank you,
tony
diff -Nru openjdk-11-11.0.8+10/debian/changelog openjdk-11-11.0.8+10/debian/changelog
--- openjdk-11-11.0.8+10/debian/changelog	2020-07-22 05:26:43.000000000 -0700
+++ openjdk-11-11.0.8+10/debian/changelog	2020-09-23 21:16:34.000000000 -0700
@@ -1,3 +1,12 @@
+openjdk-11 (11.0.8+10-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: #944738)
+    Add Build-Depends on strip-nondeterminism.
+
+ -- tony mancill <tmancill@xxxxxxxxxx>  Wed, 23 Sep 2020 21:16:34 -0700
+
 openjdk-11 (11.0.8+10-1) unstable; urgency=high
 
   * OpenJDK 11.0.8+10 build (release).
diff -Nru openjdk-11-11.0.8+10/debian/control openjdk-11-11.0.8+10/debian/control
--- openjdk-11-11.0.8+10/debian/control	2020-07-22 05:26:43.000000000 -0700
+++ openjdk-11-11.0.8+10/debian/control	2020-09-23 21:16:34.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-11-jdk-headless <cross>,
+  strip-nondeterminism,
 Build-Depends-Indep: graphviz, pandoc,
 Standards-Version: 4.5.0
 Homepage: http://openjdk.java.net/
diff -Nru openjdk-11-11.0.8+10/debian/patches/reproducible-build-jmod.diff openjdk-11-11.0.8+10/debian/patches/reproducible-build-jmod.diff
--- openjdk-11-11.0.8+10/debian/patches/reproducible-build-jmod.diff	1969-12-31 16:00:00.000000000 -0800
+++ openjdk-11-11.0.8+10/debian/patches/reproducible-build-jmod.diff	2020-09-23 21:16:34.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
+@@ -213,6 +213,9 @@
+ 
+ # Create jmods in a temp 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()')
+ $(JMODS_DIR)/$(MODULE).jmod: $(DEPS)
+ 	$(call LogWarn, Creating $(patsubst $(OUTPUTDIR)/%, %, $@))
+ 	$(call MakeDir, $(JMODS_DIR) $(JMODS_TEMPDIR))
+@@ -224,7 +227,7 @@
+ 	        --module-path $(JMODS_DIR) \
+ 	        $(JMOD_FLAGS) $(JMODS_TEMPDIR)/$(notdir $@) \
+ 	)
+-	$(MV) $(JMODS_TEMPDIR)/$(notdir $@) $@
++	strip-nondeterminism --timestamp $(DSN_TIMESTAMP) $(JMODS_TEMPDIR)/$(notdir $@) && $(MV) $(JMODS_TEMPDIR)/$(notdir $@) $@
+ 
+ TARGETS += $(JMODS_DIR)/$(MODULE).jmod
+ 
diff -Nru openjdk-11-11.0.8+10/debian/patches/series openjdk-11-11.0.8+10/debian/patches/series
--- openjdk-11-11.0.8+10/debian/patches/series	2020-07-22 05:26:43.000000000 -0700
+++ openjdk-11-11.0.8+10/debian/patches/series	2020-09-23 21:16:34.000000000 -0700
@@ -44,3 +44,4 @@
 reproducible-module-info.diff
 reproducible-copyright-headers.diff
 reproducible-build-user.diff
+reproducible-build-jmod.diff

Attachment: signature.asc
Description: PGP signature


Follow ups