|
Zbigniew Jędrzejewski-Szmek |
5d6eed |
From fba761f0bc86d37119bd18f7bc231e2d9f5d94a7 Mon Sep 17 00:00:00 2001
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
Date: Thu, 12 Jan 2017 04:16:20 -0500
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
Subject: [PATCH] rpm triggers: do nothing if systemd is not running (#5065)
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
If we are running in a chroot/container/..., we would print a useless warning about
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
not being able to communicate with systemd. Trying to do daemon-reload is pointless
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
in those cases, so let's just skip all actions in that case.
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
The check uses /run/system/system, as recommended by sd_booted(3).
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
https://bugzilla.redhat.com/show_bug.cgi?id=1411299
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
(cherry picked from commit 13749f547357f8e9ec398680548f818dea3aba1c)
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
---
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
src/core/triggers.systemd.in | 22 +++++++++++++---------
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
1 file changed, 13 insertions(+), 9 deletions(-)
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
diff --git a/src/core/triggers.systemd.in b/src/core/triggers.systemd.in
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
index 0d8c303136..f8c8cbc5f9 100644
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
--- a/src/core/triggers.systemd.in
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+++ b/src/core/triggers.systemd.in
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
@@ -27,11 +27,13 @@
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-- installed, because other cases are covered by the *un scriptlets,
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-- so sometimes we will reload needlessly.
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-pid = posix.fork()
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-if pid == 0 then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
- assert(posix.exec("%{_bindir}/systemctl", "daemon-reload"))
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-elseif pid > 0 then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
- posix.wait(pid)
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+if posix.access("/run/systemd/system") then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ pid = posix.fork()
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ if pid == 0 then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ assert(posix.exec("%{_bindir}/systemctl", "daemon-reload"))
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ elseif pid > 0 then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ posix.wait(pid)
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ end
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
end
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
%transfiletriggerun -p <lua> -- @systemunitdir@ /etc/systemd/system
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
@@ -48,10 +50,12 @@ end
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-- file in %transfiletriggerun and execute the daemon-reload in
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-- the first %filetriggerpostun.
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-posix.mkdir("%{_localstatedir}/lib")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-posix.mkdir("%{_localstatedir}/lib/rpm-state")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-posix.mkdir("%{_localstatedir}/lib/rpm-state/systemd")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
-io.open("%{_localstatedir}/lib/rpm-state/systemd/needs-reload", "w")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+if posix.access("/run/systemd/system") then
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ posix.mkdir("%{_localstatedir}/lib")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ posix.mkdir("%{_localstatedir}/lib/rpm-state")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ posix.mkdir("%{_localstatedir}/lib/rpm-state/systemd")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+ io.open("%{_localstatedir}/lib/rpm-state/systemd/needs-reload", "w")
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
+end
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
%filetriggerpostun -P 1000100 -p <lua> -- @systemunitdir@ /etc/systemd/system
|
|
Zbigniew Jędrzejewski-Szmek |
03e93e |
if posix.access("%{_localstatedir}/lib/rpm-state/systemd/needs-reload") then
|