← Back to team overview

openjdk team mailing list archive

Bug#933373: openjdk-11: Make the build user reproducible

 

Source: openjdk-11
Version: 11.0.4+11-1
Severity: normal

OpenJDK captures the build user as the USERNAME variable in the configure
script and uses it in an interval VM version string that appears in libjvm.so:

    $ strings /usr/lib/jvm/java-11-openjdk-amd64/lib/server/libjvm.so |grep buildd
    buildd
    OpenJDK 64-Bit Server VM (11.0.4+11-post-Debian-1) for linux-amd64 JRE (11.0.4+11-post-Debian-1), built on Jul 17 2019 00:28:36 by "buildd" with gcc 8.3.0

This prevents the openjdk package from being reproducible.

The attached patch modifies the build script to use a fixed value for
the USERNAME variable.

Emmanuel Bourg
Description: Makes the build user invariant to improve the reproducibility (it appears in the interval VM version in libjvm.so)
Author: Emmanuel Bourg <ebourg@xxxxxxxxxx>
Forwarded: no
--- a/make/autoconf/basics.m4
+++ b/make/autoconf/basics.m4
@@ -650,7 +650,7 @@
 
   # Setup username (for use in adhoc version strings etc)
   # Outer [ ] to quote m4.
-  [ USERNAME=`$ECHO "$USER" | $TR -d -c '[a-z][A-Z][0-9]'` ]
+  [ USERNAME="unknown" ]
   AC_SUBST(USERNAME)
 ])