diff options
author | Norman Stetter <norman.stetter@garz-fricke.com> | 2020-09-25 13:49:43 +0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-09-28 14:15:48 +0100 |
commit | 0679d0b8592113c1c1b2804f4ce2de03bb7bb68b (patch) | |
tree | daef3f67d1d4457da63058ef14185200f32ff140 /meta/classes/sstate.bbclass | |
parent | b089c8f39df84e9ad0c760619ec44e6d60eb05f4 (diff) | |
download | poky-0679d0b8592113c1c1b2804f4ce2de03bb7bb68b.tar.gz |
sstate.bbclass: Check file ownership before doing 'touch -a'
In contrast to 'touching' a file without parameters 'touch -a' can only be
performed by the file owner. In case of a shared sstate-cache served
locally (e.g. over NFS), where the user running bitbake is not the
owner of sstate-cache files, even if he has write access on group level,
the sstate_unpack_package task will fail.
Checking if the file is owned by the user before attempting to run
'touch -a' on it solves this.
(From OE-Core rev: f1554e8bd40c640fd58daac18ecf7b458e754109)
Signed-off-by: Norman Stetter <norman.stetter@garz-fricke.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/classes/sstate.bbclass')
-rw-r--r-- | meta/classes/sstate.bbclass | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass index 375196ef21..66a96a7603 100644 --- a/meta/classes/sstate.bbclass +++ b/meta/classes/sstate.bbclass | |||
@@ -847,7 +847,7 @@ python sstate_report_unihash() { | |||
847 | sstate_unpack_package () { | 847 | sstate_unpack_package () { |
848 | tar -xvzf ${SSTATE_PKG} | 848 | tar -xvzf ${SSTATE_PKG} |
849 | # update .siginfo atime on local/NFS mirror | 849 | # update .siginfo atime on local/NFS mirror |
850 | [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo | 850 | [ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo |
851 | # Use "! -w ||" to return true for read only files | 851 | # Use "! -w ||" to return true for read only files |
852 | [ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG} | 852 | [ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG} |
853 | [ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig | 853 | [ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch --no-dereference ${SSTATE_PKG}.sig |