diff --git a/common/environment/setup/git.sh b/common/environment/setup/git.sh index 5f9b157a89..13e5178ccf 100644 --- a/common/environment/setup/git.sh +++ b/common/environment/setup/git.sh @@ -18,3 +18,15 @@ elif [ -z "${SOURCE_DATE_EPOCH}" ]; then export SOURCE_DATE_EPOCH="$($XBPS_GIT_CMD -C ${XBPS_DISTDIR} log --pretty='%ct' -n1 HEAD)" fi fi + +# if XBPS_USE_GIT_REVS is enabled in conf file, +# compute XBPS_GIT_REVS to use in pkg hooks +if [ -z "$XBPS_USE_GIT_REVS" ]; then + unset XBPS_GIT_REVS +elif [ -z "$XBPS_GIT_REVS" ]; then + if [ -n "$IN_CHROOT" ]; then + msg_error "xbps-src's BUG: XBPS_GIT_REVS is undefined\n" + else + export XBPS_GIT_REVS="$($XBPS_GIT_CMD -C "${XBPS_DISTDIR}" rev-parse --verify --short HEAD)" + fi +fi diff --git a/common/hooks/post-install/05-generate-gitrevs.sh b/common/hooks/post-install/05-generate-gitrevs.sh index 754ba8865b..c5a51f0d10 100644 --- a/common/hooks/post-install/05-generate-gitrevs.sh +++ b/common/hooks/post-install/05-generate-gitrevs.sh @@ -3,7 +3,6 @@ hook() { local GITREVS_FILE=${XBPS_STATEDIR}/gitrev - local rev # If XBPS_USE_GIT_REVS is disabled in conf file don't continue. if [ -z $XBPS_USE_GIT_REVS ]; then @@ -14,12 +13,11 @@ hook() { return fi - if [ -z "$XBPS_GIT_CMD" ]; then - msg_error "BUG: post-install: XBPS_GIT_CMD is not set\n" + if [ -z "$XBPS_GIT_REVS" ]; then + msg_error "BUG: XBPS_GIT_REVS is not set\n" fi cd $XBPS_SRCPKGDIR - rev="$($XBPS_GIT_CMD rev-parse --short HEAD)" - echo "${sourcepkg}:${rev}" - echo "${sourcepkg}:${rev}" > $GITREVS_FILE + echo "${sourcepkg}:${XBPS_GIT_REVS}" + echo "${sourcepkg}:${XBPS_GIT_REVS}" > $GITREVS_FILE } diff --git a/common/xbps-src/shutils/chroot.sh b/common/xbps-src/shutils/chroot.sh index 1298952fd4..436f8866cd 100644 --- a/common/xbps-src/shutils/chroot.sh +++ b/common/xbps-src/shutils/chroot.sh @@ -175,6 +175,7 @@ chroot_handler() { ${HTTP_PROXY_AUTH:+HTTP_PROXY_AUTH="${HTTP_PROXY_AUTH}"} \ ${FTP_RETRIES:+FTP_RETRIES="${FTP_RETRIES}"} \ SOURCE_DATE_EPOCH="$SOURCE_DATE_EPOCH" \ + XBPS_GIT_REVS="$XBPS_GIT_REVS" \ XBPS_ALLOW_CHROOT_BREAKOUT="$XBPS_ALLOW_CHROOT_BREAKOUT" \ $XBPS_COMMONDIR/chroot-style/${XBPS_CHROOT_CMD:=uunshare}.sh \ $XBPS_MASTERDIR $XBPS_DISTDIR "$XBPS_HOSTDIR" "$XBPS_CHROOT_CMD_ARGS" \