~bjornt/landscape-client/fetch-progress-lucid-failure

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
102
103
104
#!/bin/sh
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>
#        * <postinst> `abort-remove'
#        * <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

. /usr/share/debconf/confmodule
trap "db_stop || true" EXIT HUP INT QUIT TERM

PACKAGE=landscape-common

# Use the default installed Python.  Running just "python" might run
# something from /usr/local/bin, which doesn't necessarily support
# running the landscape client.
PYTHON=/usr/bin/python

case "$1" in
    configure)

       db_get $PACKAGE/sysinfo
       # Choices:
       #  * Do not display sysinfo on login
       #  * Cache sysinfo in /etc/motd
       #  * Run sysinfo on every login
       SYSINFO="${RET:-Cache sysinfo in /etc/motd}"
       WRAPPER=/usr/share/landscape/landscape-sysinfo.wrapper
       PROFILE_LOCATION=/etc/profile.d/50-landscape-sysinfo.sh
       UPDATE_MOTD_LOCATION=/etc/update-motd.d/50-landscape-sysinfo
       if [ "$RET" = "Cache sysinfo in /etc/motd" ]; then
           rm -f $PROFILE_LOCATION 2>/dev/null || true
           ln -sf $WRAPPER $UPDATE_MOTD_LOCATION
           /usr/sbin/update-motd 2>/dev/null || true
       elif [ "$RET" = "Run sysinfo on every login" ]; then
           rm -f $UPDATE_MOTD_LOCATION 2>/dev/null || true
           /usr/sbin/update-motd 2>/dev/null || true
           ln -sf $WRAPPER $PROFILE_LOCATION
       else
           rm -f $UPDATE_MOTD_LOCATION 2>/dev/null || true
           /usr/sbin/update-motd 2>/dev/null || true
           rm -f $PROFILE_LOCATION || true
       fi

        # 0.9.1 introduces non-backwards compatible changes.  This detects
        # whether or not the data is in the current format.  If not, all
        # existing data is removed.
        DATA_DIR=/var/lib/landscape

        if [ -d $DATA_DIR/data ]; then
            rm -rf $DATA_DIR/*
        elif [ -f $DATA_DIR/client/data.bpickle ]; then
            LAST_BYTE=`sed -n '$,$s/.*\(.\)/\1/p' $DATA_DIR/client/data.bpickle`
            if [ "$LAST_BYTE" = e ]; then
                rm -rf $DATA_DIR/*
            fi
        fi

        # Create landscape system user
        if ! getent passwd landscape >/dev/null; then
            adduser --quiet --system --group --disabled-password \
                --home /var/lib/landscape --no-create-home landscape
        fi

        # Create landscape system group (for <= 1.0.29.1-0ubuntu0.9.04.0)
        if ! getent group landscape >/dev/null; then
            addgroup --quiet --system landscape
        fi

        # Ensure primary group is landscape (for <= 1.0.29.1-0ubuntu0.9.04.0)
        if ! usermod -g landscape landscape > /dev/null 2>&1; then
          echo "ERROR: usermod -g landscape landscape failed."
        fi

        # Fix prior ownerships, we exclude the custom-graph-scripts directory
        # because there might script-generated files that we want to preserve
        # the ownership of.
        find /var/lib/landscape/ -wholename /var/lib/landscape/client/custom-graph-scripts -prune -or -exec chown landscape {} \; > /dev/null 2>&1
        chown -R landscape /var/log/landscape

    ;;

    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