소스 검색

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 <[email protected]>
Jo-Philipp Wich 8 년 전
부모
커밋
68bef935d5
1개의 변경된 파일7개의 추가작업 그리고 2개의 파일을 삭제
  1. 7 2
      scripts/get_source_date_epoch.sh

+ 7 - 2
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"