aboutsummaryrefslogtreecommitdiff
path: root/common/hooks/pre-pkg/90-set-timestamps.sh
blob: dcb0b57a4899905c2a46a2acda2d0e7ec7bea397 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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_BUILD_MTIME is enabled in conf file don't continue.
	if [ -n "$XBPS_USE_BUILD_MTIME" ]; 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"
}