Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package java-17-openjdk for openSUSE:Factory 
checked in at 2023-08-12 15:06:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/java-17-openjdk (Old)
 and      /work/SRC/openSUSE:Factory/.java-17-openjdk.new.11712 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "java-17-openjdk"

Sat Aug 12 15:06:08 2023 rev:25 rq:1103533 version:17.0.8.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/java-17-openjdk/java-17-openjdk.changes  
2023-07-26 13:21:57.539318399 +0200
+++ 
/work/SRC/openSUSE:Factory/.java-17-openjdk.new.11712/java-17-openjdk.changes   
    2023-08-12 15:06:13.434515916 +0200
@@ -1,0 +2,8 @@
+Fri Aug  4 15:49:22 UTC 2023 - Fridrich Strba <fst...@suse.com>
+
+- Added patch:
+  * reproducible-javadoc-timestamp.patch
+    + use SOURCE_DATE_EPOCH in javadoc and make the javadoc
+      generation more reproducible
+
+-------------------------------------------------------------------

New:
----
  reproducible-javadoc-timestamp.patch

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ java-17-openjdk.spec ++++++
--- /var/tmp/diff_new_pack.YtwprY/_old  2023-08-12 15:06:14.594523410 +0200
+++ /var/tmp/diff_new_pack.YtwprY/_new  2023-08-12 15:06:14.598523436 +0200
@@ -170,6 +170,8 @@
 #
 Patch20:        loadAssistiveTechnologies.patch
 #
+Patch21:        reproducible-javadoc-timestamp.patch
+#
 # OpenJDK specific patches
 #
 Patch200:       ppc_stack_overflow_fix.patch
@@ -413,6 +415,8 @@
 
 %patch20 -p1
 
+%patch21 -p1
+
 %patch200 -p1
 
 %patch300 -p1

++++++ reproducible-javadoc-timestamp.patch ++++++
--- 
a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java
+++ 
b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java
@@ -213,6 +213,12 @@ public class HtmlConfiguration extends BaseConfiguration {
         }
         docletVersion = v;
 
+        if (System.getenv("SOURCE_DATE_EPOCH") != null) {
+            startTime = new Date(1000 * 
Long.parseLong(System.getenv("SOURCE_DATE_EPOCH")));
+        } else {
+            startTime = new Date();
+        }
+
         conditionalPages = EnumSet.noneOf(ConditionalPage.class);
     }
     protected void initConfiguration(DocletEnvironment docEnv,
@@ -223,7 +229,7 @@ public class HtmlConfiguration extends BaseConfiguration {
     }
 
     private final Runtime.Version docletVersion;
-    public final Date startTime = new Date();
+    public final Date startTime;
 
     @Override
     public Runtime.Version getDocletVersion() {
--- 
a/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
+++ 
b/src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/markup/Head.java
@@ -33,6 +33,7 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.Date;
 import java.util.List;
+import java.util.TimeZone;
 
 import jdk.javadoc.internal.doclets.toolkit.Content;
 import jdk.javadoc.internal.doclets.toolkit.util.DocPath;
@@ -265,6 +266,9 @@ public class Head extends Content {
 
         if (showTimestamp) {
             SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
+            if (System.getenv("SOURCE_DATE_EPOCH") != null) {
+                dateFormat.setTimeZone(TimeZone.getTimeZone("UTC"));
+            }
             tree.add(HtmlTree.META("dc.created", 
dateFormat.format(generatedDate)));
         }
 
@@ -298,7 +302,14 @@ public class Head extends Content {
         String text = "Generated by javadoc"; // marker string, deliberately 
not localized
         text += " (" + docletVersion.feature() + ")";
         if (timestamp) {
-            text += " on " + now;
+            text += " on ";
+            if (System.getenv("SOURCE_DATE_EPOCH") == null) {
+                text += now;
+            } else {
+                SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd 
HH:mm:ss z");
+                fmt.setTimeZone(TimeZone.getTimeZone("UTC"));
+                text += fmt.format(now);
+            }
         }
         return new Comment(text);
     }

Reply via email to