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>
This commit is contained in:
Jo-Philipp Wich 2017-01-31 07:50:29 +01:00
parent 37b0d547db
commit 23fd4e65ba
1 changed files with 7 additions and 2 deletions

View File

@ -17,9 +17,14 @@ try_git() {
try_hg() { try_hg() {
[ -d .hg ] || return 1 [ -d .hg ] || return 1
SOURCE_DATE_EPOCH="" SOURCE_DATE_EPOCH="$(hg log --template '{date}' -l 1 | cut -d. -f1)"
[ -n "$SOURCE_DATE_EPOCH" ] [ -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" echo "$SOURCE_DATE_EPOCH"