File reproducible-timestamps.patch of Package aqute-bnd

diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
index 10ec3fd0..7dd75418 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Jar.java
@@ -114,7 +114,7 @@ public class Jar implements Closeable {
 	private String												lastModifiedReason;
 	private boolean												doNotTouchManifest;
 	private boolean												nomanifest;
-	private boolean												reproducible;
+	private boolean												reproducible = true;
 	private Compression											compression				= Compression.DEFLATE;
 	private boolean												closed;
 	private String[]											algorithms;
diff --git a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
index e9ecd39e..f7f83d83 100644
--- a/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
+++ b/biz.aQute.bndlib/src/aQute/bnd/osgi/Macro.java
@@ -904,6 +904,10 @@ public class Macro {
 			reporter.warning("Too many arguments for tstamp: %s", Arrays.toString(args));
 		}
 
+		if (System.getenv("SOURCE_DATE_EPOCH") != null) {
+			now = 1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"));
+		}
+
 		SimpleDateFormat sdf = new SimpleDateFormat(format, Locale.US);
 		sdf.setTimeZone(tz);
 		return sdf.format(new Date(now));
@@ -922,6 +926,11 @@ public class Macro {
 		} else {
 			now = System.currentTimeMillis();
 		}
+
+		if (System.getenv("SOURCE_DATE_EPOCH") != null) {
+			now = 1000 * Long.parseLong(System.getenv("SOURCE_DATE_EPOCH"));
+		}
+
 		return now;
 	}
 
openSUSE Build Service is sponsored by