* [PATCH v3 0/2] Update the criterion whether command systemctl available in systemd.bbclass
@ 2020-12-02 2:21 kai
2020-12-02 2:21 ` [PATCH v3 1/2] systemd-systemctl-native: capable to call without argument kai
2020-12-02 2:21 ` [PATCH v3 2/2] systemd.bbclass: update command to check systemctl available kai
0 siblings, 2 replies; 3+ messages in thread
From: kai @ 2020-12-02 2:21 UTC (permalink / raw)
To: openembedded-core
From: Kai Kang <kai.kang@windriver.com>
v3:
* update commit messages to make more clearer
Kai Kang (2):
systemd-systemctl-native: capable to call without argument
systemd.bbclass: update command to check systemctl available
meta/classes/systemd.bbclass | 4 ++--
meta/recipes-core/systemd/systemd-systemctl/systemctl | 8 ++++++--
2 files changed, 8 insertions(+), 4 deletions(-)
--
2.17.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH v3 1/2] systemd-systemctl-native: capable to call without argument
2020-12-02 2:21 [PATCH v3 0/2] Update the criterion whether command systemctl available in systemd.bbclass kai
@ 2020-12-02 2:21 ` kai
2020-12-02 2:21 ` [PATCH v3 2/2] systemd.bbclass: update command to check systemctl available kai
1 sibling, 0 replies; 3+ messages in thread
From: kai @ 2020-12-02 2:21 UTC (permalink / raw)
To: openembedded-core
From: Kai Kang <kai.kang@windriver.com>
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 <kai.kang@windriver.com>
---
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()
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v3 2/2] systemd.bbclass: update command to check systemctl available
2020-12-02 2:21 [PATCH v3 0/2] Update the criterion whether command systemctl available in systemd.bbclass kai
2020-12-02 2:21 ` [PATCH v3 1/2] systemd-systemctl-native: capable to call without argument kai
@ 2020-12-02 2:21 ` kai
1 sibling, 0 replies; 3+ messages in thread
From: kai @ 2020-12-02 2:21 UTC (permalink / raw)
To: openembedded-core
From: Kai Kang <kai.kang@windriver.com>
When use a core image with systemd as docker image, it fails to
install/remove package which calls systemctl in post scripts.
It fails to run systemctl in a container:
bash-5.0# systemctl
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
So replace the criterion command 'type systemctl' with 'systemctl' in
package post scripts to check whether systemctl available.
Signed-off-by: Kai Kang <kai.kang@windriver.com>
---
meta/classes/systemd.bbclass | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/meta/classes/systemd.bbclass b/meta/classes/systemd.bbclass
index 9e8a82c9f1..9ec465c759 100644
--- a/meta/classes/systemd.bbclass
+++ b/meta/classes/systemd.bbclass
@@ -23,7 +23,7 @@ python __anonymous() {
}
systemd_postinst() {
-if type systemctl >/dev/null 2>/dev/null; then
+if systemctl >/dev/null 2>/dev/null; then
OPTS=""
if [ -n "$D" ]; then
@@ -48,7 +48,7 @@ fi
}
systemd_prerm() {
-if type systemctl >/dev/null 2>/dev/null; then
+if systemctl >/dev/null 2>/dev/null; then
if [ -z "$D" ]; then
systemctl stop ${SYSTEMD_SERVICE_ESCAPED}
--
2.17.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-12-02 2:22 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-12-02 2:21 [PATCH v3 0/2] Update the criterion whether command systemctl available in systemd.bbclass kai
2020-12-02 2:21 ` [PATCH v3 1/2] systemd-systemctl-native: capable to call without argument kai
2020-12-02 2:21 ` [PATCH v3 2/2] systemd.bbclass: update command to check systemctl available kai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox