debian: Create the config database if it doesn't exist on startup
[sliver-openvswitch.git] / debian / openvswitch-switch.postinst
1 #!/bin/sh
2 # postinst script for openvswitch-switch
3 #
4 # see: dh_installdeb(1)
5
6 set -e
7
8 # summary of how this script can be called:
9 #        * <postinst> `configure' <most-recently-configured-version>
10 #        * <old-postinst> `abort-upgrade' <new version>
11 #        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12 #          <new-version>
13 #        * <postinst> `abort-remove'
14 #        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
15 #          <failed-install-package> <version> `removing'
16 #          <conflicting-package> <version>
17 # for details, see http://www.debian.org/doc/debian-policy/ or
18 # the debian-policy package
19
20
21 case "$1" in
22     configure)
23         DEFAULT=/etc/default/openvswitch-switch
24         TEMPLATE=/usr/share/openvswitch/switch/default.template
25         if ! test -e $DEFAULT; then
26             cp $TEMPLATE $DEFAULT
27         else
28             for var in $(awk -F'[ :]' '/^# [_A-Z0-9]+:/{print $2}' $TEMPLATE)
29             do
30                 if ! grep $var $DEFAULT >/dev/null 2>&1; then
31                     echo >> $DEFAULT
32                     sed -n "/$var:/,/$var=/p" $TEMPLATE >> $DEFAULT
33                 fi
34             done
35         fi
36
37         if /etc/init.d/openvswitch-switch status >/dev/null 2>&1; then
38             running=true
39             /etc/init.d/openvswitch-switch stop
40         else
41             running=false
42         fi
43
44         if $running; then
45             /etc/init.d/openvswitch-switch start
46         fi
47         ;;
48
49     abort-upgrade|abort-remove|abort-deconfigure)
50         ;;
51
52     *)
53         echo "postinst called with unknown argument \`$1'" >&2
54         exit 1
55         ;;
56 esac
57
58 #DEBHELPER#
59
60 exit 0
61
62