File: hal.postinst

package info (click to toggle)
hal 0.5.14-3
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 10,212 kB
  • ctags: 4,854
  • sloc: ansic: 60,732; xml: 16,387; sh: 11,366; makefile: 1,111; cpp: 292
file content (91 lines) | stat: -rw-r--r-- 2,963 bytes parent folder | download
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
#! /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'.

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

    # Remove old stop symlinks on upgrades
    if dpkg --compare-versions "$2" lt-nl "0.5.11-6"; then
      rm -f /etc/rc[06].d/K??hal
    fi

    # 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
  ;;
  abort-upgrade|abort-remove|abort-deconfigure)
  ;;
  triggered)
    echo "Regenerating hal fdi cache ..."
    rm -f /var/cache/hald/fdi-cache
    if [ -e /var/run/hald/hald.pid ]; then
      invoke-rc.d hal restart || true
    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.

#DEBHELPER#

exit 0