1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82
|
#! /bin/sh
# postinst script for hal
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
#
# quoting from the policy:
# Any necessary prompting should almost always be confined to the
# post-installation script, and should be protected with a conditional
# so that unnecessary prompting doesn't happen if a package's
# installation fails and the `postinst' is called with `abort-upgrade',
# `abort-remove' or `abort-deconfigure'.
UDEVSEND="/sbin/udevsend"
do_udev() {
# Synthesize events on block devices, so we know the permissions are setup
# the right way
SYSFS="/sys"
for i in /sys/block/* ; do
# for each device
ACTION=add DEVPATH=${i#${SYSFS}} ${UDEVSEND} block &
for j in $i/* ; do
if [ -f $j/dev ]; then
ACTION=add DEVPATH=${j#${SYSFS}} ${UDEVSEND} block &
fi
done
done
}
case "$1" in
configure)
if ! getent passwd hal >/dev/null; then
adduser --quiet --system --home /var/run/hal \
--gecos "Hardware abstraction layer" --group hal
# be sure that hal has access to cdrom and floppy devices.
adduser --quiet hal floppy
adduser --quiet hal cdrom
fi
# be sure the run dir is owned by the hal user
chown hal:hal /var/run/hal 2>/dev/null || true
if [ -f /etc/init.d/hal ]; then
# handle upgrades
mv /etc/init.d/hal /etc/dbus-1/event.d/
update-rc.d hal remove
fi
if [ -x ${UDEVSEND} ] ; then
do_udev;
fi
if [ -x /etc/init.d/dbus-1 ]; then
invoke-rc.d dbus-1 restart || true
fi
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
|