Hi, maintainers:

Would you please cherry pick this to kirkstone, otherwise the SDK build on
kirkstone is broken.

//Ming Liu

Ming Liu <[email protected]> 於 2024年10月23日 週三 下午1:15寫道:

> From: Eilís 'pidge' Ní Fhlannagáin <[email protected]>
>
> Running either of these ends up corrupting the os.execv args.
>
> If we run:
> ./scripts/nativesdk-intercept/chown -R foo:foo bar
>
> The loop here ends up missing the conversion of foo:foo to root:root
> because
> it sees sys.argv[0] and assumes that it's the user:group argument and that
> we
> should convert that. We end up a os.execv(path, args) that have the
> following
> args:
>
> ['root:root', '-R', 'foo:foo', 'bar']
>
> As os.execv ignores args[0], we can just populate it with sys.argv[0] and
> then
> loop through sys.argv[1:]. As both chgrp and chown would have either flags
> and
> USER[:GROUP] next, this fixes the issue.
>
> (Backported from OE-Core rev: 2a75f647ec7696d353f4b09099d777ba53f34d36)
>
> Signed-off-by: Eilís 'pidge' Ní Fhlannagáin <[email protected]>
> Signed-off-by: Richard Purdie <[email protected]>
> ---
>  scripts/nativesdk-intercept/chgrp | 5 ++++-
>  scripts/nativesdk-intercept/chown | 5 ++++-
>  2 files changed, 8 insertions(+), 2 deletions(-)
>
> diff --git a/scripts/nativesdk-intercept/chgrp
> b/scripts/nativesdk-intercept/chgrp
> index 30cc417d3a..f8ae84b8b3 100755
> --- a/scripts/nativesdk-intercept/chgrp
> +++ b/scripts/nativesdk-intercept/chgrp
> @@ -14,7 +14,10 @@ real_chgrp = shutil.which('chgrp', path=path)
>  args = list()
>
>  found = False
> -for i in sys.argv:
> +
> +args.append(real_chgrp)
> +
> +for i in sys.argv[1:]:
>      if i.startswith("-"):
>          args.append(i)
>          continue
> diff --git a/scripts/nativesdk-intercept/chown
> b/scripts/nativesdk-intercept/chown
> index 3914b3e384..0805ceb70a 100755
> --- a/scripts/nativesdk-intercept/chown
> +++ b/scripts/nativesdk-intercept/chown
> @@ -14,7 +14,10 @@ real_chown = shutil.which('chown', path=path)
>  args = list()
>
>  found = False
> -for i in sys.argv:
> +
> +args.append(real_chown)
> +
> +for i in sys.argv[1:]:
>      if i.startswith("-"):
>          args.append(i)
>          continue
> --
> 2.43.0
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#206424): 
https://lists.openembedded.org/g/openembedded-core/message/206424
Mute This Topic: https://lists.openembedded.org/mt/109168419/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to