From 402fc5a6000bf0ec12f05d4aa2b3e250ec85a60a Mon Sep 17 00:00:00 2001
From: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Date: Fri, 2 Aug 2019 11:41:36 +0200
Subject: Implement support for SOURCE_DATE_EPOCH environment variable

reproducible-builds.org suggests the use of an environment variable
as a source for time stamps:

https://reproducible-builds.org/specs/source-date-epoch/

This commit adds support for setting the default mtime from the variable,
if it is set and only defaulting to 0 if not. The timestamp given by the
command line switch takes precedence.

Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
---
 include/util.h | 7 +++++++
 1 file changed, 7 insertions(+)

(limited to 'include')

diff --git a/include/util.h b/include/util.h
index 9d5cc94..82e3177 100644
--- a/include/util.h
+++ b/include/util.h
@@ -83,4 +83,11 @@ int padd_file(int outfd, uint64_t size, size_t blocksize);
 
 uint32_t update_crc32(uint32_t crc, const void *data, size_t size);
 
+/*
+  If the environment variable SOURCE_DATE_EPOCH is set to a parsable number
+  that fits into an unsigned 32 bit value, return its value. Otherwise,
+  default to 0.
+ */
+uint32_t get_source_date_epoch(void);
+
 #endif /* UTIL_H */
-- 
cgit v1.2.3