[libgda: 1/2] Allow to override build date with SOURCE_DATE_EPOCH
- From: Daniel Espinosa Ortiz <despinosa src gnome org>
- To: commits-list gnome org
- Cc: 
- Subject: [libgda: 1/2] Allow to override build date with SOURCE_DATE_EPOCH
- Date: Thu, 10 Feb 2022 01:20:59 +0000 (UTC)
commit c9837a3438622d49fe6a727d2512e0f0bb3827d7
Author: Bernhard M. Wiedemann <bwiedemann suse de>
Date:   Wed Feb 2 14:25:57 2022 +0100
    Allow to override build date with SOURCE_DATE_EPOCH
    
    in order to make builds reproducible.
    See https://reproducible-builds.org/ for why this is good
    and https://reproducible-builds.org/specs/source-date-epoch/
    for the definition of this variable.
    
    Also use UTC to be independent of timezone.
 meson.build | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)
---
diff --git a/meson.build b/meson.build
index 62b465941..bc4cecace 100644
--- a/meson.build
+++ b/meson.build
@@ -321,10 +321,18 @@ found_jdbc = false
 dates = compiler.run('''
 #include<glib.h>
 #include <glib/gprintf.h>
+#include <stdlib.h>
 
 void main (void) {
   GDateTime *dt;
-  dt = g_date_time_new_now_local ();
+  char *source_date_epoch;
+  gint64 epoch;
+  /* This assumes that the SOURCE_DATE_EPOCH environment variable will contain
+     a correct, positive integer */
+  if ((source_date_epoch = getenv("SOURCE_DATE_EPOCH")) == NULL ||
+    (epoch = (time_t)strtoll(source_date_epoch, NULL, 10)) <= 0 ||
+    (dt = g_date_time_new_from_unix_utc(epoch)) == NULL)
+       dt = g_date_time_new_now_utc ();
   g_print (g_date_time_format(dt, "%F"));
 }
 ''',
[
Date Prev][
Date Next]   [
Thread Prev][
Thread Next]   
[
Thread Index]
[
Date Index]
[
Author Index]