mirror of
git://git.yoctoproject.org/poky.git
synced 2025-07-19 21:09:03 +02:00

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>
28 lines
534 B
Python
Executable File
28 lines
534 B
Python
Executable File
#!/usr/bin/env python3
|
|
#
|
|
# Wrapper around 'chown' that redirects to root in all cases
|
|
|
|
import os
|
|
import shutil
|
|
import sys
|
|
|
|
# calculate path to the real 'chown'
|
|
path = os.environ['PATH']
|
|
path = path.replace(os.path.dirname(sys.argv[0]), '')
|
|
real_chown = shutil.which('chown', path=path)
|
|
|
|
args = list()
|
|
|
|
found = False
|
|
for i in sys.argv:
|
|
if i.startswith("-"):
|
|
args.append(i)
|
|
continue
|
|
if not found:
|
|
args.append("root:root")
|
|
found = True
|
|
else:
|
|
args.append(i)
|
|
|
|
os.execv(real_chown, args)
|