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]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to