#!/bin/sh set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # 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. # Automatically added by dh_python2: if which pycompile >/dev/null 2>&1; then pycompile -p landscape-common fi # End automatically added section exit 0