2
0
mirror of https://github.com/openvswitch/ovs synced 2025-10-15 14:17:18 +00:00
Files
openvswitch/debian/openvswitch-switch.postinst
Frode Nordahl 98f2d36d23 debian: Do not modify pre-existing defaults file
Currently, on installation or upgrade the openvswitch-switch deb package
will in some circumstances modify a pre-existing
/etc/default/openvswitch-switch configuration file.

This does not play well with modeling and configuration management tools
and may lead to unnecessary restarts of the openvswitch-switch service
after the initial restart done as part of the package upgrade. As
restarting the openvswitch-switch affects the datapath this is
something we should try to avoid.

I also believe the current behaviour to be in conflict with best practices
set out in the config files section of the
[Debian Policy](https://www.debian.org/doc/debian-policy/#s-config-files).

This commit addresses this by removing the part of the postinst script
that attempts to append missing documentation parts of the template
and leaves the installed defaults file alone when it exists.

Fixes: 0aaa379d99f4 ("Debian packaging: Add several new settings to /etc/default/openflow-switch.")
Signed-off-by: Frode Nordahl <frode.nordahl@gmail.com>
Reported-at: https://github.com/openvswitch/ovs-issues/issues/137
Signed-off-by: Ben Pfaff <blp@ovn.org>
2018-02-01 13:47:09 -08:00

61 lines
1.9 KiB
Bash
Executable File

#!/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
fi
# Certain versions of upstream Ubuntu's openvswitch packages (which
# are forks) may install upstart files which are incompatible
# with the packages generated from this repo. Remove them.
if [ -e "/etc/init/openvswitch-switch.conf" ]; then
rm /etc/init/openvswitch-switch.conf
fi
if [ -e "/etc/init/openvswitch-force-reload-kmod.conf" ]; then
rm /etc/init/openvswitch-force-reload-kmod.conf
fi
;;
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
#DEBHELPER#
exit 0