You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The hook pre-pkg/90-set-timestamps.sh touches all files in a pkg to set the mtimes to the commit date. When a package installs files verbatim from its source, it might make sense to keep the original timestamp. This could be acomplished by using find predicate -newermt as in:
--- a/common/hooks/pre-pkg/90-set-timestamps.sh+++ b/common/hooks/pre-pkg/90-set-timestamps.sh@@ -5,6 +5,6 @@ hook() {
# If SOURCE_DATE_EPOCH is set, set mtimes to that timestamp.
if [ -n "$SOURCE_DATE_EPOCH" ]; then
msg_normal "$pkgver: setting mtimes to %s\n" "$(date --date "@$SOURCE_DATE_EPOCH")"
- find $PKGDESTDIR -print0 | xargs -0 touch -h --date "@$SOURCE_DATE_EPOCH"+ find $PKGDESTDIR -newermt "@$SOURCE_DATE_EPOCH" -print0 | xargs -0 touch -h --date "@$SOURCE_DATE_EPOCH"
fi
}
I am thinking on a package like pari-elldata which ships only data files from its source. The alternative I found is to set XBPS_USE_BUILD_MTIME=no in the template, but (a) that is only good for this pkg because I know all the files in the package have a deterministic timestamp and (b) xlint complains when using this variable.
Rationale: the timestamp of the original files in the source is more canonical than the commit date.
The text was updated successfully, but these errors were encountered:
Using commit date is not for canonicality but reproducibility. Time should be adjusted even when build machine clock is set eariler than commit date.
I wouldn't know how to avoid that in a simple way, is that a normal issue? Maybe the current date can be compared with the commit date and fail if it's older?
Are there any problems with pari-elldata files having build date?
Not really. It just seemed a good idea to ship unmodified files with their original dates. Maybe I'm overthinking it. For the packages in question (PR #32641) I set XBPS_USE_BUILD_MTIME=no. Nothing breaks without this.
The hook
pre-pkg/90-set-timestamps.sh
touches all files in a pkg to set the mtimes to the commit date. When a package installs files verbatim from its source, it might make sense to keep the original timestamp. This could be acomplished by using find predicate-newermt
as in:I am thinking on a package like
pari-elldata
which ships only data files from its source. The alternative I found is to setXBPS_USE_BUILD_MTIME=no
in the template, but (a) that is only good for this pkg because I know all the files in the package have a deterministic timestamp and (b) xlint complains when using this variable.Rationale: the timestamp of the original files in the source is more canonical than the commit date.
The text was updated successfully, but these errors were encountered: