From 811ebb4adc5cfcc24ac4460fe89fe68d8d03d837 Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Wed, 2 Dec 2020 10:21:44 +0800 Subject: 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 --- meta/recipes-core/systemd/systemd-systemctl/systemctl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) 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() -- cgit 1.2.3-korg