#!/bin/sh # Copyright © 2003 Colin Walters # Copyright © 2006 Sjoerd Simons set -e MESSAGEUSER=messagebus MESSAGEHOME=/var/run/dbus LAUNCHER=/usr/lib/dbus-1.0/dbus-daemon-launch-helper SMF_FMRI=svc:/system/dbus:default if [ "$1" = configure ]; then adduser --system \ --quiet \ --home "$MESSAGEHOME" \ --no-create-home \ --disabled-password \ --group "$MESSAGEUSER" if ! dpkg-statoverride --list "$LAUNCHER" >/dev/null 2>&1; then chown root:"$MESSAGEUSER" "$LAUNCHER" chmod 4754 "$LAUNCHER" fi # This is idempotent, so it's OK to do every time. The system bus' init # script does this anyway, but you also have to do this before a session # bus will work, so we do this here for the benefit of people starting # a temporary session bus in a chroot dbus-uuidgen --ensure fi # Remove stop symlinks for runlevel 1 as killprocs already does the job for us. if [ "$1" = configure ] && dpkg --compare-versions "$2" lt-nl 1.2.24-1; then rm -f /etc/rc1.d/K??dbus fi dbus_is_running () { if [ -x "/etc/init.d/dbus" ]; then /etc/init.d/dbus status > /dev/null elif [ -x /usr/bin/svcstatus ]; then [ x`/usr/bin/svcstatus $SMF_FMRI` = xonline ] fi } if [ "$1" = configure ] && [ -n "$2" ]; then # On upgrades, we only reload config, and don't restart (restarting the # system bus is not supported by upstream). The code added by # dh_installinit -r creates a start action, below. if dbus_is_running; then # trigger an update notification which recommends to reboot [ -x /usr/share/update-notifier/notify-reboot-required ] && \ /usr/share/update-notifier/notify-reboot-required || true fi # This is what the init script would do, but it's simpler (and less # dependent on sysvinit vs. Upstart) if we do it directly. # If it's not running (perhaps we're in a chroot) this will just fail # harmlessly, so there's no need to condition on status. dbus-send --print-reply --system --type=method_call \ --dest=org.freedesktop.DBus \ / org.freedesktop.DBus.ReloadConfig > /dev/null || true fi #DEBHELPER#