From 462e3f505217c9b9e0d2c1cbdafb0c8910bb6a59 Mon Sep 17 00:00:00 2001 From: Peter Kjellerstedt Date: Thu, 30 Apr 2020 19:49:55 +0200 Subject: sstate.bbclass: Do not fail if files cannot be touched It may be that a file is not allowed to be touched, e.g., if it is a symbolic link into a global sstate cache served over NFS. Signed-off-by: Peter Kjellerstedt Signed-off-by: Richard Purdie --- meta/classes/sstate.bbclass | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) (limited to 'meta/classes') diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index c73c3b42a7..aa9c30b4e1 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass @@ -690,7 +690,10 @@ def sstate_package(ss, d): if not os.path.exists(siginfo): bb.siggen.dump_this_task(siginfo, d) else: - os.utime(siginfo, None) + try: + os.utime(siginfo, None) + except PermissionError: + pass return @@ -776,7 +779,7 @@ sstate_task_postfunc[dirs] = "${WORKDIR}" sstate_create_package () { # Exit early if it already exists if [ -e ${SSTATE_PKG} ]; then - touch ${SSTATE_PKG} + [ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG} return fi @@ -810,7 +813,7 @@ sstate_create_package () { else rm $TFILE fi - touch ${SSTATE_PKG} + [ ! -w ${SSTATE_PKG} ] || touch ${SSTATE_PKG} } python sstate_sign_package () { @@ -1122,7 +1125,11 @@ python sstate_eventhandler() { if not os.path.exists(siginfo): bb.siggen.dump_this_task(siginfo, d) else: - os.utime(siginfo, None) + try: + os.utime(siginfo, None) + except PermissionError: + pass + } SSTATE_PRUNE_OBSOLETEWORKDIR ?= "1" -- cgit 1.2.3-korg