#!/bin/sh
# Copyright © 2003 Colin Walters <walters@debian.org>
# Copyright © 2006 Sjoerd Simons <sjoerd@debian.org>

set -e

MESSAGEUSER=messagebus
MESSAGEHOME=/var/run/dbus
LAUNCHER=/usr/lib/dbus-1.0/dbus-daemon-launch-helper

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
fi

# update init script symlinks for new runlevels and priorities for upgrades
# from older versions
if [ "$1" = configure ] && dpkg --compare-versions "$2" lt-nl 1.1.20-1; then
    echo "Reinstalling init script for new runlevels and priorities ..." >&2
    # remove old init script symlinks; dh_installinit adds the proper
    # update-rc.d snippet later on
    update-rc.d -f dbus remove >/dev/null
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

if [ "$1" = configure ] && [ -n "$2" ] && [ -x "/etc/init.d/dbus" ]; then
    # Do not restart dbus on upgrades, only on fresh installations.
    # (dh_installinit -r creates a start action)
    # But do reload it so the machine-id can be generated
    if /etc/init.d/dbus status > /dev/null; 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
        if [ -x "/etc/init.d/dbus" ]; then
            if [ -x "`which invoke-rc.d 2>/dev/null`" ]; then
                invoke-rc.d dbus reload || true
            else
                /etc/init.d/dbus reload || true
            fi
        fi
    fi
fi

#DEBHELPER#

