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

44 lines
1.5 KiB
Diff

From 675aa30a8a763e1a964282937267a63f2594a7e2 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 | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
diff --git a/java-utils/maven_depmap.py b/java-utils/maven_depmap.py
index 4bfb877d..40cedd34 100644
--- a/java-utils/maven_depmap.py
+++ b/java-utils/maven_depmap.py
@@ -43,8 +43,9 @@ import sys
from os.path import basename, dirname
import zipfile
-from time import gmtime, strftime
+import time
from copy import deepcopy
+from datetime import datetime
from javapackages.maven.pom import POM
from javapackages.metadata.artifact import MetadataArtifact
@@ -172,7 +173,13 @@ 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.fromtimestamp(int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))).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