mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 05:54:26 -04:00 
			
		
		
		
	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>
		
			
				
	
	
		
			31 lines
		
	
	
		
			649 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			649 B
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
| #!/usr/bin/env bash
 | |
| export LANG=C
 | |
| export LC_ALL=C
 | |
| [ -n "$TOPDIR" ] && cd $TOPDIR
 | |
| 
 | |
| try_version() {
 | |
| 	[ -f version.date ] || return 1
 | |
| 	SOURCE_DATE_EPOCH="$(cat version.date)"
 | |
| 	[ -n "$SOURCE_DATE_EPOCH" ]
 | |
| }
 | |
| 
 | |
| try_git() {
 | |
| 	[ -e .git ] || return 1
 | |
| 	SOURCE_DATE_EPOCH="$(git log -1 --format=format:%ct)"
 | |
| 	[ -n "$SOURCE_DATE_EPOCH" ]
 | |
| }
 | |
| 
 | |
| try_hg() {
 | |
| 	[ -d .hg ] || return 1
 | |
| 	SOURCE_DATE_EPOCH="$(hg log --template '{date}' -l 1 | cut -d. -f1)"
 | |
| 	[ -n "$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"
 |