#! /bin/sh
# postinst script for webgui
#
# 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
#

case "$1" in
    configure)
        # Make sure web working area has appropiate permissions
        if [ -d /var/lib/webgui ]; then
            chown -R www-data:www-data /var/lib/webgui
            chmod 2775 /var/lib/webgui/*
        fi

        # Make sure cache location has appropiate permissions
        if [ -d /var/cache/webgui ]; then
            chown -R www-data:www-data /var/cache/webgui
            chmod 2775 /var/cache/webgui
        fi

        # Make sure log directory has appropiate permissions
        [ -d /var/log/webgui ] && chown -R root:www-data /var/log/webgui

        # Make sure local customization directory exists
        if [ ! -e /usr/local/share/webgui/lib ]
        then
            if mkdir -p /usr/local/share/webgui/lib 2>/dev/null
            then
                chown root:staff /usr/local/share/webgui/lib
                chmod 775 /usr/local/share/webgui/lib
            fi
        fi

        ### Automatic data upgrade
 
        # This should only be attempted on upgrades.
        if [ -n "$2" ]; then

            # Stop WebGUI's Spectre daemon
            /etc/init.d/webgui stop

            # Reload Apache so the latest WebGUI modules are loaded
            # before attempting the upgrade.
            if [ -x "/etc/init.d/apache2" ]; then
                if [ -x "/usr/sbin/invoke-rc.d" ]; then
                    invoke-rc.d apache2 restart || true
                else
                    /etc/init.d/apache2 restart || true
                fi
            fi

            # Attempt WebGUI's upgrade
            wg-upgrade --doit || true

            # Reload Apache after the upgrade
            if [ -x "/etc/init.d/apache2" ]; then
                if [ -x "/usr/sbin/invoke-rc.d" ]; then
                    invoke-rc.d apache2 restart || true
                else
                    /etc/init.d/apache2 restart || true
                fi
            fi

            # Start WebGUI's Spectre daemon
            /etc/init.d/webgui start
        fi

        ;;

    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


