This file is indexed.

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.