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


case "$1" in
    configure)
        update-alternatives --install /usr/sbin/ovs-vswitchd ovs-vswitchd \
            /usr/lib/openvswitch-switch/ovs-vswitchd 100
        mkdir -p /var/lib/openvswitch

	# Ensure that /etc/openvswitch/conf.db links to /var/lib/openvswitch,
	# moving an existing file if there is one.
	#
	# Ditto for .conf.db.~lock~.
	for base in conf.db .conf.db.~lock~; do
	    new=/var/lib/openvswitch/$base
	    old=/etc/openvswitch/$base
	    if test -f $old && test ! -e $new; then
		mv $old $new
	    fi
	    if test ! -e $old && test ! -h $old; then
		ln -s $new $old
	    fi
	done
        ;;

    abort-upgrade|abort-remove|abort-deconfigure)
        ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
        ;;
esac

# Do not fail package installation just because the kernel module
# is not available.
OVS_MISSING_KMOD_OK=yes
export OVS_MISSING_KMOD_OK

# force-reload-kmod during upgrade. If a user wants to override this,
# they can set the variable OVS_FORCE_RELOAD_KMOD=no while installing.
[ -z "${OVS_FORCE_RELOAD_KMOD}" ] && OVS_FORCE_RELOAD_KMOD=yes || true
export OVS_FORCE_RELOAD_KMOD

# Automatically added by dh_systemd_enable/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	# This will only remove masks created by d-s-h on package removal.
	deb-systemd-helper unmask 'openvswitch-switch.service' >/dev/null || true

	# was-enabled defaults to true, so new installations run enable.
	if deb-systemd-helper --quiet was-enabled 'openvswitch-switch.service'; then
		# Enables the unit on first installation, creates new
		# symlinks on upgrades if the unit file has changed.
		deb-systemd-helper enable 'openvswitch-switch.service' >/dev/null || true
	else
		# Update the statefile to add new symlinks (if any), which need to be
		# cleaned up on purge. Also remove old symlinks.
		deb-systemd-helper update-state 'openvswitch-switch.service' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_systemd_start/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -d /run/systemd/system ]; then
		systemctl --system daemon-reload >/dev/null || true
		if [ -n "$2" ]; then
			_dh_action=restart
		else
			_dh_action=start
		fi
		deb-systemd-invoke $_dh_action 'ovs-record-hostname.service' >/dev/null || true
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -z "${DPKG_ROOT:-}" ] && [ -x "/etc/init.d/openvswitch-switch" ]; then
		update-rc.d openvswitch-switch defaults >/dev/null
		if [ -n "$2" ]; then
			_dh_action=restart
		else
			_dh_action=start
		fi
		invoke-rc.d openvswitch-switch $_dh_action || exit 1
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -x "/etc/init.d/ovsdb-server" ]; then
		update-rc.d ovsdb-server defaults >/dev/null || exit 1
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -x "/etc/init.d/ovs-vswitchd" ]; then
		update-rc.d ovs-vswitchd defaults >/dev/null || exit 1
	fi
fi
# End automatically added section
# Automatically added by dh_installinit/13.6ubuntu1
if [ "$1" = "configure" ] || [ "$1" = "abort-upgrade" ] || [ "$1" = "abort-deconfigure" ] || [ "$1" = "abort-remove" ] ; then
	if [ -x "/etc/init.d/ovs-record-hostname" ]; then
		update-rc.d ovs-record-hostname defaults >/dev/null || exit 1
	fi
fi
# End automatically added section


exit 0
