From: Peter Kjellerstedt Date: Thu, 30 Apr 2020 17:49:55 +0000 (+0200) Subject: sstate.bbclass: Do not fail if files cannot be touched X-Git-Tag: uninative-2.9~870 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=462e3f505217c9b9e0d2c1cbdafb0c8910bb6a59;p=openembedded-core.git 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 --- 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"