hooks/pre-pkg: fixed mtime support for packages.
overwrites the mtime of all files in a package with the commit-date of the package.
This commit is contained in:
parent
bb03d78ad0
commit
16050ad3f2
3 changed files with 34 additions and 1 deletions
26
common/hooks/pre-pkg/90-set-timestamps.sh
Normal file
26
common/hooks/pre-pkg/90-set-timestamps.sh
Normal file
|
@ -0,0 +1,26 @@
|
|||
# This hook executes the following tasks:
|
||||
# - sets the timestamps in a package to the commit date
|
||||
|
||||
hook() {
|
||||
local GIT_CMD date basepkg
|
||||
|
||||
# If XBPS_USE_GIT_COMMIT_DATE is disabled in conf file don't continue.
|
||||
if [ -z $XBPS_USE_GIT_COMMIT_DATE ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
if command -v chroot-git &>/dev/null; then
|
||||
GIT_CMD=$(command -v chroot-git)
|
||||
elif command -v git &>/dev/null; then
|
||||
GIT_CMD=$(command -v git)
|
||||
else
|
||||
msg_error "$pkgver: cannot find chroot-git or git utility, exiting...\n"
|
||||
fi
|
||||
basepkg=$pkgname
|
||||
if [ -L "${XBPS_SRCPKGDIR}/$basepkg" ]; then
|
||||
basepkg=$(readlink "${XBPS_SRCPKGDIR}/$basepkg")
|
||||
fi
|
||||
date=$($GIT_CMD -C ${XBPS_SRCPKGDIR}/${basepkg} log --pretty='%ci' --date=iso -n1 .)
|
||||
msg_normal "$pkgver: setting mtimes to %s\n" "$(date --date "$date")"
|
||||
find $PKGDESTDIR -print0 | xargs -0 touch --date "$date"
|
||||
}
|
|
@ -113,3 +113,9 @@ XBPS_SUCMD="sudo /bin/sh -c"
|
|||
#
|
||||
#XBPS_CHROOT_CMD=proot
|
||||
#XBPS_CHROOT_CMD_ARGS=""
|
||||
|
||||
# [OPTIONAL]
|
||||
# Enable fixed timestamps. If set xbps-src will overwrite the mtime of all files
|
||||
# in a package with the commit date of the package.
|
||||
#
|
||||
#XBPS_USE_GIT_COMMIT_DATE=yes
|
||||
|
|
3
xbps-src
3
xbps-src
|
@ -560,7 +560,8 @@ export XBPS_SHUTILSDIR XBPS_CROSSPFDIR XBPS_TRIGGERSDIR \
|
|||
XBPS_SKIP_REMOTEREPOS XBPS_CROSS_BUILD XBPS_PKG_OPTIONS XBPS_CONFIG_FILE \
|
||||
XBPS_KEEP_ALL XBPS_HOSTDIR XBPS_MASTERDIR XBPS_SRC_VERSION \
|
||||
XBPS_DESTDIR XBPS_MACHINE XBPS_TEMP_MASTERDIR XBPS_BINPKG_EXISTS \
|
||||
XBPS_LIBEXECDIR XBPS_DISTDIR XBPS_DISTFILES_MIRROR XBPS_ALLOW_RESTRICTED
|
||||
XBPS_LIBEXECDIR XBPS_DISTDIR XBPS_DISTFILES_MIRROR XBPS_ALLOW_RESTRICTED \
|
||||
XBPS_USE_GIT_COMMIT_DATE
|
||||
|
||||
for i in REPOSITORY DESTDIR BUILDDIR SRCDISTDIR; do
|
||||
eval val="\$XBPS_$i"
|
||||
|
|
Loading…
Reference in a new issue