Subject: make xorp reproducible, https://wiki.debian.org/ReproducibleBuilds
From: Chris Lamb <lamby@debian.org>
Signed-off-by: Jose M Calhariz <jose@calhariz.com>
Index: xorp-1.8.6~wip.20160715/libxorp/create_buildinfo.sh
===================================================================
--- xorp-1.8.6~wip.20160715.orig/libxorp/create_buildinfo.sh	2016-07-18 20:31:13.589748678 +0100
+++ xorp-1.8.6~wip.20160715/libxorp/create_buildinfo.sh	2016-07-18 20:31:13.569748611 +0100
@@ -45,7 +45,10 @@ else
 fi
 
 cat build_info.prefix > $BINFO
-if uname -mrspn > /dev/null 2>&1
+if [ -n "$SOURCE_DATE_EPOCH" ]
+    then
+    echo "const char* BuildInfo::getBuildMachine() { return \"Reproducible build @ $SOURCE_DATE_EPOCH\"; }" >> $BINFO
+elif uname -mrspn > /dev/null 2>&1
     then
     echo "const char* BuildInfo::getBuildMachine() { return \"`uname -mrspn`\"; }" >> $BINFO
 else
@@ -59,7 +62,7 @@ echo "" >> $BINFO
 
 if date > /dev/null 2>&1
     then
-    echo "const char* BuildInfo::getBuildDate() { return \"`date`\"; }" >> $BINFO
+    echo "const char* BuildInfo::getBuildDate() { return \"$(date --utc --date=@${SOURCE_DATE_EPOCH:-$(date +%s)})\"; }" >> $BINFO
 else
     echo "Warning:  'date' does not function on this system."
     echo "const char* BuildInfo::getBuildDate() { return \"Unknown\"; }" >> $BINFO
@@ -68,7 +71,7 @@ echo "" >> $BINFO
 
 if date '+%F %H:%M' > /dev/null 2>&1
     then
-    echo "const char* BuildInfo::getShortBuildDate() { return \"`date '+%F %H:%M'`\"; }" >> $BINFO
+    echo "const char* BuildInfo::getShortBuildDate() { return \"$(date --utc --date=@${SOURCE_DATE_EPOCH:-$(date +%s)}) '+%F %H:%M'\"; }" >> $BINFO
 else
     echo "Warning:  date +%F %H:%M does not function on this system."
     echo "const char* BuildInfo::getShortBuildDate() { return \"Unknown\"; }" >> $BINFO
