From 68bef935d52ae05c23233f2325970f56948a0558 Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jo@mein.io>
Date: Tue, 31 Jan 2017 07:50:29 +0100
Subject: [PATCH] scripts: get_source_date_epoch.sh: fix mercurial support, add
 mtime fallback

Add a fallback case to get_source_date_epoch.sh which reports the modification
time of the script itself in case there is no SCM information available, e.g.
when downloading .tar.gz or .zip tarballs produced by Github.

Also fix the mercurial case while we're at it.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---
 scripts/get_source_date_epoch.sh | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/get_source_date_epoch.sh b/scripts/get_source_date_epoch.sh
index ea8d930109..84ba445454 100755
--- a/scripts/get_source_date_epoch.sh
+++ b/scripts/get_source_date_epoch.sh
@@ -17,9 +17,14 @@ try_git() {
 
 try_hg() {
 	[ -d .hg ] || return 1
-	SOURCE_DATE_EPOCH=""
+	SOURCE_DATE_EPOCH="$(hg log --template '{date}' -l 1 | cut -d. -f1)"
 	[ -n "$SOURCE_DATE_EPOCH" ]
 }
 
-try_version || try_git || try_hg || SOURCE_DATE_EPOCH=""
+try_mtime() {
+	perl -e 'print((stat $ARGV[0])[9])' "$0"
+	[ -n "$SOURCE_DATE_EPOCH" ]
+}
+
+try_version || try_git || try_hg || try_mtime || SOURCE_DATE_EPOCH=""
 echo "$SOURCE_DATE_EPOCH"
-- 
GitLab