From: Stefan Schantl Date: Sun, 9 Oct 2011 17:23:51 +0000 (+0200) Subject: dbus: Add scriptlet for user/group creation and systemd interaction. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d265d3679a5a025dfa9b174fdfd045070f705cce;p=ipfire-3.x.git dbus: Add scriptlet for user/group creation and systemd interaction. --- 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