From d84d62940d9e3eeda049b8750aadc78abe5e06ca Mon Sep 17 00:00:00 2001 From: Enno Boland Date: Sun, 6 Mar 2016 12:52:20 +0100 Subject: [PATCH] common/environment: check if package is under version control. only use git commit date for SOURCE_DATE_EPOCH if the template is under version control. Fall back to templates mtime if it's not managed by git. --- common/environment/setup/git.sh | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/common/environment/setup/git.sh b/common/environment/setup/git.sh index 9bb32903a3..58f73494fd 100644 --- a/common/environment/setup/git.sh +++ b/common/environment/setup/git.sh @@ -6,5 +6,10 @@ if [ -z "$XBPS_USE_BUILD_MTIME" -a -z "${SOURCE_DATE_EPOCH}" -a -n "$IN_CHROOT" elif command -v git &>/dev/null; then GIT_CMD=$(command -v git) fi - export SOURCE_DATE_EPOCH="$($GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} log --pretty='%ct' -n1 .)" + # check if the template is under version control: + if $GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} status --porcelain template | grep "^?? " &> /dev/null; then + export SOURCE_DATE_EPOCH="$(stat -c %Y ${XBPS_SRCPKGDIR}/${basepkg}/template)" + else + export SOURCE_DATE_EPOCH="$($GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} log --pretty='%ct' -n1 .)" + fi fi