poky/scripts/nativesdk-intercept/chgrp
Richard Purdie 8dd0a45c85 nativesdk: Handle chown/chgrp calls in nativesdk do_install tasks
We disable the useradd code for nativesdk targets since we don't support
postinstalls or multiple users in those cases. This means any usage
of chown/chgrp inside do_install tasks won't work and would have to be
conditional. Rather than require all recipes to do that, add intercepts
of the calls and map those to root/root user/groups. We can't just ignore
them as some calls are used to remove host contamination from the host
user ID so they need to be made, just as root.

(From OE-Core rev: e1f40670c438e33cae87678425de72ca03566888)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-26 17:01:08 +00:00

529 B
Executable File

#!/usr/bin/env python3

Wrapper around 'chgrp' that redirects to root in all cases

import os import shutil import sys

calculate path to the real 'chgrp'

path = os.environ['PATH'] path = path.replace(os.path.dirname(sys.argv[0]), '') real_chgrp = shutil.which('chgrp', path=path)

args = list()

found = False for i in sys.argv: if i.startswith("-"): args.append(i) continue if not found: args.append("root") found = True else: args.append(i)

os.execv(real_chgrp, args)