From: Richard Purdie Date: Mon, 27 Jul 2026 10:55:47 +0000 (+0100) Subject: sstate: Update unpack touch code to be consistent X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=5213ca88cbec4e86b50d8da1fe4c300ca8f5de17;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git sstate: Update unpack touch code to be consistent When we unpack sstate files, we want to update the mtime+atime of the sstate object and any sig/siginfo files, both for the files themselves and symlinks. The logic was getting a bit hard to follow and wasn't entirely consistent with only a time in some cases. Clean it up and be consistent for all the files. Signed-off-by: Richard Purdie --- diff --git a/meta/classes-global/sstate.bbclass b/meta/classes-global/sstate.bbclass index 9037d20927..6ee83717bb 100644 --- a/meta/classes-global/sstate.bbclass +++ b/meta/classes-global/sstate.bbclass @@ -932,12 +932,13 @@ sstate_unpack_package () { fi tar -I "$ZSTD" -xvpf ${SSTATE_PKG} - # update .siginfo atime on local/NFS mirror if it is a symbolic link - [ ! -h ${SSTATE_PKG}.siginfo ] || [ ! -e ${SSTATE_PKG}.siginfo ] || touch -a ${SSTATE_PKG}.siginfo 2>/dev/null || true - # update each symbolic link instead of any referenced file - touch --no-dereference ${SSTATE_PKG} 2>/dev/null || true - [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig 2>/dev/null || true - [ ! -e ${SSTATE_PKG}.siginfo ] || touch --no-dereference ${SSTATE_PKG}.siginfo 2>/dev/null || true + + # Update both any file and any symlink pointing to the file for sigs as well as the file + for file in ${SSTATE_PKG} ${SSTATE_PKG}.sig ${SSTATE_PKG}.siginfo + do + [ ! -e $file ] || touch $file 2>/dev/null || true + [ ! -e $file ] || touch --no-dereference $file 2>/dev/null || true + done } BB_HASHCHECK_FUNCTION = "sstate_checkhashes"