From: Kai Kang Date: Wed, 2 Dec 2020 02:21:44 +0000 (+0800) Subject: systemd-systemctl-native: capable to call without argument X-Git-Tag: uninative-2.10~575 X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=811ebb4adc5cfcc24ac4460fe89fe68d8d03d837;p=openembedded-core.git systemd-systemctl-native: capable to call without argument In systemd.bbclass, it will replace criterion command 'type systemctl' with 'systemctl' without any argument to judge whether command systemctl is available. The change is to fix install/remove package error in container when command systemctl exists but not callable. Make native systemctl wrapper prints help mesages if called without any argument to follow the update. Signed-off-by: Kai Kang Signed-off-by: Richard Purdie --- diff --git a/meta/recipes-core/systemd/systemd-systemctl/systemctl b/meta/recipes-core/systemd/systemd-systemctl/systemctl index 990de1ab39..de733e255b 100755 --- a/meta/recipes-core/systemd/systemd-systemctl/systemctl +++ b/meta/recipes-core/systemd/systemd-systemctl/systemctl @@ -282,7 +282,7 @@ def main(): sys.exit("Python 3.4 or greater is required") parser = argparse.ArgumentParser() - parser.add_argument('command', nargs=1, choices=['enable', 'mask', + parser.add_argument('command', nargs='?', choices=['enable', 'mask', 'preset-all']) parser.add_argument('service', nargs=argparse.REMAINDER) parser.add_argument('--root') @@ -300,7 +300,11 @@ def main(): locations.append(BASE_LIBDIR / "systemd") locations.append(LIBDIR / "systemd") - command = args.command[0] + command = args.command + if not command: + parser.print_help() + return 0 + if command == "mask": for service in args.service: SystemdUnit(root, service).mask()