postinst is in hal 0.5.14-8.
This file is a maintainer script. It is executed when installing (*inst) or removing (*rm) the package.
The actual contents of the file can be viewed below.
| 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 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 | #! /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'.
get_pid() {
    [ -n "$1" ] || return 0
    [ -S /var/run/dbus/system_bus_socket ] || return 0
    dbus-send --system --dest=org.freedesktop.DBus --print-reply \
              /org/freedesktop/DBus org.freedesktop.DBus.GetConnectionUnixProcessID \
              string:$1 2>/dev/null | awk '/uint32/ {print $2}'
}
case "$1" in
  configure)
    adduser --system \
            --quiet  \
            --disabled-password \
            --no-create-home \
            --home "/var/run/hald" \
            --gecos "Hardware abstraction layer" \
            --group haldaemon
    addgroup --system --quiet plugdev || true
    addgroup --system --quiet powerdev || true
    # Update haldaemon home directory
    if dpkg --compare-versions "$2" lt-nl "0.5.12~git20090406.46dc48-1"; then
      usermod --home /var/run/hald haldaemon || true
    fi
    if dpkg --compare-versions "$2" lt-nl "0.5.14-2"; then
      # Kill any running hald daemon as the pid file might be missing or
      # outdated causing failures when upgrading from lenny. See #561505
      start-stop-daemon --stop --oknodo --quiet --exec /usr/sbin/hald
      # Cleanup old acl management files on upgrades and remove obsolete
      # directories which are no longer used by hal
      for dir in /var/lib/hal /var/run/hal ; do
        if [ -d $dir ]; then
          rm -f $dir/acl-list
          rmdir --ignore-fail-on-non-empty $dir
        fi
      done
      # Make /var/run/hald world readable and ensure this also happens on
      # upgrades so users can run "service hal status". See #562915
      [ -d /var/run/hald ] && chmod 755 /var/run/hald
    fi
    if [ -x /etc/init.d/dbus ]; then
      invoke-rc.d dbus force-reload || true
    fi
    # restart hald if it was running before
    pid=$(get_pid org.freedesktop.Hal)
    if [ -n "$pid" ]; then
      kill $pid 2>/dev/null || true
      lshal >/dev/null || true # will trigger through D-Bus activation
    fi
  ;;
  abort-upgrade|abort-remove|abort-deconfigure)
  ;;
  triggered)
    echo "Regenerating hal fdi cache ..."
    rm -f /var/cache/hald/fdi-cache
    # restart hald if it was running before
    pid=$(get_pid org.freedesktop.Hal)
    if [ -n "$pid" ]; then
      kill $pid 2>/dev/null || true
      lshal >/dev/null || true # will trigger through D-Bus activation
    fi
    exit 0
  ;;
  *)
    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.
 |