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.

(From OE-Core rev: 811ebb4adc5cfcc24ac4460fe89fe68d8d03d837)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Kai Kang
2020-12-02 10:21:44 +08:00
committed by Richard Purdie
parent 3ac2ba83f2
commit 2ab32edca8

View File

@@ -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()