Hi Steve, Can this patch be backported to dunfell branch to land in the next release 3.1.12?
Jose Jose Quaresma via lists.openembedded.org <quaresma.jose= gmail....@lists.openembedded.org> escreveu no dia quinta, 4/11/2021 à(s) 19:14: > This patch is a fixup for 676757f "sstate: fix touching files inside > pseudo" > > running the 'id' command inside the sstate_unpack_package > function shows that this funcion run inside the pseudo: > > uid=0(root) gid=0(root) groups=0(root) > > The check for [ -w ${SSTATE_PKG} ] and [ -O ${SSTATE_PKG}.siginfo ] > will always return true and the touch can fail when the real user > don't have permission or in readonly filesystem. > > As the documentation refers: > - the file test operator "-w" check if the file has write permission > (for the user running the test). > - the file test operator "-O" check if you are owner of file > > We can avoid this test running the touch and mask any return errors > that we have. > > Signed-off-by: Jose Quaresma <quaresma.j...@gmail.com> > --- > > V2: match the original code > > meta/classes/sstate.bbclass | 12 ++++++------ > 1 file changed, 6 insertions(+), 6 deletions(-) > > diff --git a/meta/classes/sstate.bbclass b/meta/classes/sstate.bbclass > index 8182010047..849723d4dc 100644 > --- a/meta/classes/sstate.bbclass > +++ b/meta/classes/sstate.bbclass > @@ -900,12 +900,12 @@ sstate_unpack_package () { > fi > > tar -I "$ZSTD" -xvf ${SSTATE_PKG} > - # update .siginfo atime on local/NFS mirror > - [ -O ${SSTATE_PKG}.siginfo ] && [ -w ${SSTATE_PKG}.siginfo ] && [ > -h ${SSTATE_PKG}.siginfo ] && touch -a ${SSTATE_PKG}.siginfo > - # Use "! -w ||" to return true for read only files > - [ ! -w ${SSTATE_PKG} ] || touch --no-dereference ${SSTATE_PKG} > - [ ! -w ${SSTATE_PKG}.sig ] || [ ! -e ${SSTATE_PKG}.sig ] || touch > --no-dereference ${SSTATE_PKG}.sig > - [ ! -w ${SSTATE_PKG}.siginfo ] || [ ! -e ${SSTATE_PKG}.siginfo ] > || touch --no-dereference ${SSTATE_PKG}.siginfo > + # update .siginfo atime on local/NFS mirror if it is a symbolic > link > + [ ! -h ${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 > } > > BB_HASHCHECK_FUNCTION = "sstate_checkhashes" > -- > 2.33.1 > > > > > -- Best regards, José Quaresma
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#157943): https://lists.openembedded.org/g/openembedded-core/message/157943 Mute This Topic: https://lists.openembedded.org/mt/86824160/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-