mbox series

[bug#55751,0/8] Towards reproducible openjdk

Message ID 20220601125741.9898-1-dannym@scratchpost.org
Headers show
Series Towards reproducible openjdk | expand

Message

Danny Milosavljevic June 1, 2022, 12:57 p.m. UTC
From: Danny Milosavljevic <dannym@scratchpost.org>

This patchseries improves the reproducibility of openjdk.

After it:
* openjdk9 is reproducible.
* openjdk10 has only a few non-reproducible parts.
* openjdk11 has a number of non-reproducible parts.
* openjdk12's "doc" output is still not reproducible ("Generated by javadoc" comment with timestamp in it)
* openjdk13 still has non-reproducible parts (jmod, modules, classes.jsa, src.zip)
* openjdk14 still has very few non-reproducible parts (jmod, modules, classes.jsa)
* openjdk15 still has a number of non-reproducible parts (diz files only).
* openjdk16 still has one non-reproducible part (classes*.jsa)

Danny Milosavljevic (8):
  gnu: openjdk9: Make build reproducible.
  gnu: openjdk10: Make more reproducible.
  gnu: openjdk11: Make more reproducible.
  gnu: openjdk12: Make reproducible.
  gnu: openjdk13: Make reproducible.
  gnu: openjdk14: Make reproducible.
  gnu: openjdk15: Make reproducible.
  gnu: openjdk16: Make reproducible.

 gnu/local.mk                                  |  16 +
 gnu/packages/java.scm                         | 123 ++++++-
 .../openjdk-10-char-reproducibility.patch     |  12 +
 ...openjdk-10-classlist-reproducibility.patch |  27 ++
 .../openjdk-10-corba-reproducibility.patch    |  12 +
 .../openjdk-10-jar-reproducibility.patch      | 103 ++++++
 .../openjdk-10-jtask-reproducibility.patch    |  53 +++
 .../openjdk-10-module-reproducibility.patch   | 305 ++++++++++++++++++
 .../openjdk-10-module3-reproducibility.patch  |  34 ++
 .../openjdk-10-module4-reproducibility.patch  |  14 +
 ...openjdk-11-classlist-reproducibility.patch |  11 +
 ...openjdk-13-classlist-reproducibility.patch |  11 +
 .../openjdk-9-classlist-reproducibility.patch |  31 ++
 .../openjdk-9-idlj-reproducibility.patch      |  37 +++
 .../openjdk-9-jar-reproducibility.patch       | 107 ++++++
 .../openjdk-9-module-reproducibility.patch    | 296 +++++++++++++++++
 .../openjdk-9-module2-reproducibility.patch   | 125 +++++++
 .../openjdk-9-module3-reproducibility.patch   |  36 +++
 18 files changed, 1342 insertions(+), 11 deletions(-)
 create mode 100644 gnu/packages/patches/openjdk-10-char-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-classlist-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-corba-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-jar-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-jtask-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-module-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-module3-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-10-module4-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-11-classlist-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-13-classlist-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-classlist-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-idlj-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-jar-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-module-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-module2-reproducibility.patch
 create mode 100644 gnu/packages/patches/openjdk-9-module3-reproducibility.patch

Comments

M June 1, 2022, 1:20 p.m. UTC | #1
dannym@scratchpost.org schreef op wo 01-06-2022 om 14:57 [+0200]:
> From: Danny Milosavljevic <dannym@scratchpost.org>
> 
> This patchseries improves the reproducibility of openjdk.
> 
> After it:
> * openjdk9 is reproducible.
> * openjdk10 has only a few non-reproducible parts.
> * openjdk11 has a number of non-reproducible parts.
> * openjdk12's "doc" output is still not reproducible ("Generated by javadoc" comment with timestamp in it)
> * openjdk13 still has non-reproducible parts (jmod, modules, classes.jsa, src.zip)
> * openjdk14 still has very few non-reproducible parts (jmod, modules, classes.jsa)
> * openjdk15 still has a number of non-reproducible parts (diz files only).
> * openjdk16 still has one non-reproducible part (classes*.jsa)

Now we are rebuilding everything Java anyway, could this be followed by
a patch removing the input labels and removing trailing #t?

Greetings,
Maxime.