[ovs-dev] Bug#663051: [PATCH] debian: Use a different way to avoid failing install without kernel module.

Ethan Jackson ethan at nicira.com
Wed Mar 14 21:49:08 UTC 2012


This looks fine to me, I don't know much about debian though.  If you
feel confident in it I'm fine with merging it.  Otherwise someone else
should look at it.

Ethan

On Mon, Mar 12, 2012 at 11:27, Ben Pfaff <blp at nicira.com> wrote:
> The dh_installinit --error-handler option makes a lot of sense, but after
> playing with it for a while I could not figure out a nice way to use it
> only for openvswitch-switch without either duplicating the dh_installinit
> fragments in postinst and prerm (the actual bug that was reported) or
> omitting them for some package.
>
> Also, we forgot to write the error handler function for the prerm.
>
> This commit switches to a different way to avoid failing the install when
> the kernel module is not available, without using --error-handler.
>
> CC: 663051 at bugs.debian.org
> Reported-by: Thomas Goirand <zigo at debian.org>
> Signed-off-by: Ben Pfaff <blp at nicira.com>
> ---
>  debian/openvswitch-switch.init     |    7 +++++++
>  debian/openvswitch-switch.postinst |   18 ++----------------
>  debian/rules                       |    3 +--
>  3 files changed, 10 insertions(+), 18 deletions(-)
>
> diff --git a/debian/openvswitch-switch.init b/debian/openvswitch-switch.init
> index 98863e3..aebf21e 100755
> --- a/debian/openvswitch-switch.init
> +++ b/debian/openvswitch-switch.init
> @@ -58,6 +58,13 @@ start () {
>             echo "For instructions, read"
>        fi
>        echo "/usr/share/doc/openvswitch-datapath-source/README.Debian"
> +
> +       if test X"$OVS_MISSING_KMOD_OK" = Xyes; then
> +           # We're being invoked by the package postinst.  Do not
> +           # fail package installation just because the kernel module
> +           # is not available.
> +           exit 0
> +       fi
>     fi
>     set ovs_ctl ${1-start} --system-id=random
>     if test X"$FORCE_COREFILES" != X; then
> diff --git a/debian/openvswitch-switch.postinst b/debian/openvswitch-switch.postinst
> index c50853a..7b9d7bc 100755
> --- a/debian/openvswitch-switch.postinst
> +++ b/debian/openvswitch-switch.postinst
> @@ -44,25 +44,11 @@ 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
> +OVS_MISSING_KMOD_OK=yes
> +export OVS_MISSING_KMOD_OK
>
>  #DEBHELPER#
>
>  exit 0
> -
> -
> diff --git a/debian/rules b/debian/rules
> index 4160025..24c9850 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -134,8 +134,7 @@ binary-common:
>        dh_installexamples
>        dh_installdebconf
>        dh_installlogrotate
> -       dh_installinit -R -Nopenvswitch-switch
> -       dh_installinit -R -popenvswitch-switch --error-handler=init_script_error
> +       dh_installinit -R
>        dh_installcron
>        dh_installman --language=C
>        dh_link
> --
> 1.7.2.5
>
> _______________________________________________
> dev mailing list
> dev at openvswitch.org
> http://openvswitch.org/mailman/listinfo/dev





More information about the dev mailing list