summaryrefslogtreecommitdiff
path: root/debian/openvswitch-switch.postinst
blob: 4be5a30c76c60ee27c5a4799b31e71f7b3364d18 (plain)
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
#!/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)
	DEFAULT=/etc/default/openvswitch-switch
	TEMPLATE=/usr/share/openvswitch/switch/default.template
	if ! test -e $DEFAULT; then
	    cp $TEMPLATE $DEFAULT
	else
            for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
            do
                if ! grep $var $DEFAULT >/dev/null 2>&1; then
	            echo >> $DEFAULT
	            sed -n "/$var:/,/$var=/p" $TEMPLATE >> $DEFAULT
                fi
            done
	fi

        if /etc/init.d/openvswitch-switch status >/dev/null 2>&1; then
            running=true
            /etc/init.d/openvswitch-switch stop
        else
            running=false
        fi

        if $running; then
            /etc/init.d/openvswitch-switch start
        fi
        ;;

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

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

#DEBHELPER#

exit 0