← Back to team overview

openjdk team mailing list archive

Bug#933339: openjdk-11: Make the generated character data source files reproducible

 

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

OpenJDK generates five private classes CharacterData{00,01,02,0E,Latin1}
in the java.lang package which contain a timestamp and capture the build
path in the comments. This affects the reproducibility of the src.zip
file installed by the openjdk-11-source package.

I'm attaching a patch addressing this issue.

Emmanuel Bourg
Description: Makes the generated character data classes reproducible (removes a timestamp and trims a build path captured in the comments)
Author: Emmanuel Bourg <ebourg@xxxxxxxxxx>
Forwarded: no
--- a/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
+++ b/make/jdk/src/classes/build/tools/generatecharacter/GenerateCharacter.java
@@ -693,7 +693,7 @@
         PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter(theOutputFileName)));
         out.println(commentStart +
             " This file was generated AUTOMATICALLY from a template file " +
-            new java.util.Date() + commentEnd);
+            commentEnd);
         int marklen = commandMarker.length();
         LOOP: while(true) {
             try {
@@ -1815,7 +1815,7 @@
         }
         commentStart = (Csyntax ? "/*" : "//");
         commentEnd = (Csyntax ? " */" : "");
-        commandLineDescription = desc.toString();
+        commandLineDescription = desc.toString().replace(System.getProperty("user.dir").replace("make/gensrc", ""), "");
     }
 
     private static void searchBins(long[] map, int binsOccupied) throws Exception {