From d265d3679a5a025dfa9b174fdfd045070f705cce Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sun, 9 Oct 2011 19:23:51 +0200 Subject: [PATCH] dbus: Add scriptlet for user/group creation and systemd interaction. --- dbus/dbus.nm | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/dbus/dbus.nm b/dbus/dbus.nm index 95921949e..2c0f6d698 100644 --- a/dbus/dbus.nm +++ b/dbus/dbus.nm @@ -5,7 +5,7 @@ name = dbus version = 1.4.0 -release = 3 +release = 4 groups = System/Daemons url = http://www.freedesktop.org/software/dbus/ @@ -13,12 +13,12 @@ license = GPLv2+ AFL summary = D-BUS message bus. description - D-BUS is a system for sending messages between applications. It is \ - used both for the system-wide message bus service, and as a \ + D-BUS is a system for sending messages between applications. It is + used both for the system-wide message bus service, and as a per-user-login-session messaging facility. end -source_dl = +source_dl = http://dbus.freedesktop.org/releases/dbus/ build requires @@ -55,6 +55,40 @@ end packages package %{name} + prerequires += shadow-utils + + script prein + getent group dbus >/dev/null || groupadd -r dbus > /dev/null 2>&1 || : + getent passwd dbus >/dev/null || \ + useradd -r -g dbus -d HOMEDIR -s /sbin/nologin \ + -c "User for dbus service" dbus > /dev/null 2>&1 || : + exit 0 + end + + # Just search for new unit files that were just installed. + script postin + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + + # The dbus service should be started on default. + /bin/systemctl enable dbus.service > /dev/null 2>&1 || : + end + + # Disable the service that is to be removed and stop it if it is still running. + script preun + /bin/systemctl --no-reload disable dbus.service >/dev/null 2>&1 || : + /bin/systemctl stop dbus.service >/dev/null 2>&1 || : + end + + # Just tell systemd that unitfiles have been removed. + script postun + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + end + + # Try to restart the service if it is running. + script postup + /bin/systemctl daemon-reload >/dev/null 2>&1 || : + /bin/systemctl try-restart dbus.service >/dev/null 2>&1 || : + end end package %{name}-libs -- 2.39.2