diff options
author | Peter Kjellerstedt <peter.kjellerstedt@axis.com> | 2020-04-30 19:49:55 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-05-09 18:55:43 +0100 |
commit | 462e3f505217c9b9e0d2c1cbdafb0c8910bb6a59 (patch) | |
tree | 7fecf58bf093dab1d04d9d23446fbca7e1a1f163 /meta/classes/sstate.bbclass | |
parent | d3f6ffb148e8837f2f6ba81f07dbfd6bbec64726 (diff) | |
download | openembedded-core-contrib-462e3f505217c9b9e0d2c1cbdafb0c8910bb6a59.tar.gz |
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 <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r-- | meta/classes/sstate.bbclass | 15 |
1 files changed, 11 insertions, 4 deletions
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" |