diff options
Diffstat (limited to 'script/update/project/release')
| -rwxr-xr-x | script/update/project/release | 18 | 
1 files changed, 14 insertions, 4 deletions
| diff --git a/script/update/project/release b/script/update/project/release index 426db72a..b6c0acf5 100755 --- a/script/update/project/release +++ b/script/update/project/release @@ -264,11 +264,21 @@ insert_version_files()  mktarball()  {  	# preserve timestamps for reproducible tarballs +	touch_implementation="$(touch --version)"  	tar_implementation="$(tar --version)" -	tar_implementation="${tar_implementation% *}" -	mtime="" -	[ "${tar_implementation}" = "tar (GNU tar)" ] && \ -		mtime="--mtime=${versiondate}" +	eval "$(setvars "" mtime touch)" +	[ "${tar_implementation% *}" = "tar (GNU tar)" ] && \ +		mtime="--mtime='@${versiondate}'" +	[ "${touch_implementation% *}" = "touch (GNU coreutils)" ] || \ +		touch_implementation="" + +	( +	x_ cd "${1}" +	[ -z "${touch_implementation}" ] || \ +		find . -exec touch -h -a -m \ +		    -d "$(date -Rd @${versiondate})" {} + || \ +		    err "mktarball ${1}: can't set universal timestamps" +	)  	[ "${2%/*}" = "${2}" ] || x_ mkdir -p "${2%/*}"  	x_ tar -c "${1}" ${mtime} | xz -T0 -9e > "${2}" | 
