summaryrefslogtreecommitdiff
path: root/debian/openvswitch-switch.postinst
diff options
context:
space:
mode:
authorSimon Horman <horms@verge.net.au>2011-09-10 15:09:31 +0900
committerBen Pfaff <blp@nicira.com>2011-09-12 09:31:18 -0700
commit64624b3cf405d0ca089fe978898896087337cb90 (patch)
treea946b7049b1309a48bc617cf40ac65b8af3657c5 /debian/openvswitch-switch.postinst
parent40a751774f4255d7b6af699547d72e823c0be1e1 (diff)
downloadopenvswitch-64624b3cf405d0ca089fe978898896087337cb90.tar.gz
Debian: fail gracefully if modules can't be loaded on install
By registering an error-handler for the init script used in openvswitch-switch.postinst and detecting if module insertion fails, it is possible to avoid failure to install in the case where the openvswitch_mod module is not available. This is done without altering the behaviour that the start target of the openvswitch-switch init script will fail if module insertion fails. This patch also adds a friendly hint as as to why starting openvswitch-switch has failed if it is due to failure to insert the openvswtich_mod. This message is displayed as necessary both on package install and other calls to the start target of the init script. [Ben Pfaff fixed up == to = in postinst]
Diffstat (limited to 'debian/openvswitch-switch.postinst')
-rwxr-xr-xdebian/openvswitch-switch.postinst17
1 files changed, 17 insertions, 0 deletions
diff --git a/debian/openvswitch-switch.postinst b/debian/openvswitch-switch.postinst
index 74b52ba90..c50853a11 100755
--- a/debian/openvswitch-switch.postinst
+++ b/debian/openvswitch-switch.postinst
@@ -44,6 +44,23 @@ case "$1" in
;;
esac
+HAVE_KMOD="no"
+
+init_script_error () {
+ if test X"$HAVE_KMOD" = Xno; then
+ exit 0
+ fi
+ exit 1
+}
+
+# Do not fail package installation just because the kernel module
+# is not available.
+if test -x /etc/init.d/openvswitch-switch; then
+ if invoke-rc.d openvswitch-switch load-kmod; then
+ HAVE_KMOD="yes"
+ fi
+fi
+
#DEBHELPER#
exit 0