* [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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.