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); }