javapackages-tools/0008-Reproducible-builds-constant-timestamp-for-pom.prope.patch

46 lines
1.5 KiB
Diff

From 1f3c0d52b1e0feb42a48aa8ac8de4f3b37465e4e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Tue, 16 Jul 2024 06:56:39 +0200
Subject: [PATCH 8/8] Reproducible builds: constant timestamp for
pom.properties
---
java-utils/maven_depmap.py | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 4bfb877d..74860baf 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -43,7 +43,8 @@ import sys
from os.path import basename, dirname
import zipfile
-from time import gmtime, strftime
+import time
+import datetime
from copy import deepcopy
from javapackages.maven.pom import POM
@@ -172,7 +173,16 @@ def append_if_missing(archive_name, file_name, file_contents):
archive = zipfile.ZipFile(archive_name, 'a')
try:
if file_name not in archive.namelist():
- archive.writestr(file_name, file_contents)
+ date_time = datetime.datetime.fromtimestamp(
+ int(os.environ.get('SOURCE_DATE_EPOCH', time.time())),
+ tz=datetime.timezone.utc,
+ ).timetuple()
+ if date_time[0] < 1980:
+ date_time = (1980, 1, 1, 0, 0, 0)
+ elif date_time[0] > 2107:
+ date_time = (2107, 12, 31, 23, 59, 59)
+ file_zipinfo = zipfile.ZipInfo(file_name, date_time=date_time)
+ archive.writestr(file_zipinfo, file_contents)
finally:
archive.close()
--
2.45.2