Applied to master and branch-2.3~ On Fri, May 1, 2015 at 10:23 AM, Alex Wang <al...@nicira.com> wrote:
> From: Edwin Chiu <ec...@vmware.com> > > In XenServer 6.5, multiple kernel packages with different > rpm versions can have the same uname. So, it is not > necessary for openvswitch kernel module to require the > exact rpm version. Instead, the kernel module package > should check the uname version. > > This commit will add a new variable %{kernel_uname} to > specify whether to use kernel uname version or kernel > rpm version as requirement. > > When %{kernel_name} is used, openvswitch-module will have > "Requires: kernel-uname-r = <uname version>" set instead of > "Requires: kernel = <version>". > > Reported-by: Gosen Chien <astgo...@ccu.edu.tw> > Signed-off-by: Edwin Chiu <ec...@vmware.com> > Signed-off-by: Alex Wang <al...@nicira.com> > > --- > PATCH->V2: > - Credit Gosen as reporter. > - Update the INSTALL.Xenserver.md. > --- > INSTALL.XenServer.md | 18 ++++-------------- > xenserver/openvswitch-xen.spec.in | 20 ++++++++++++++------ > 2 files changed, 18 insertions(+), 20 deletions(-) > > diff --git a/INSTALL.XenServer.md b/INSTALL.XenServer.md > index 072a9f2..4be974b 100644 > --- a/INSTALL.XenServer.md > +++ b/INSTALL.XenServer.md > @@ -81,26 +81,16 @@ where: > the crashdump kernel flavor. Commonly, one would specify "xen" here. > > For XenServer 6.5 or above, the kernel version naming no longer contains > -KERNEL_FLAVOR. Correspondingly, the the final "rpmbuild" step changes to: > +KERNEL_FLAVOR. In fact, only providing the `uname -r` output is enough. > +So, the final "rpmbuild" step changes to: > > ``` > - VERSION=<Open vSwitch version> > - KERNEL_NAME=<Xen Kernel name> > - KERNEL_VERSION=<Xen Kernel version> > - XEN_VERSION=<Xen Kernel flavor(suffix) > > + KERNEL_UNAME=<`uname -r` output> > rpmbuild \ > - -D "openvswitch_version $VERSION" \ > - -D "kernel_name $KERNEL_NAME" \ > - -D "kernel_version $KERNEL_VERSION" \ > - -D "xen_version $XEN_VERSION" \ > + -D "kenel_uname $KERNEL_UNAME" \ > -bb xenserver/openvswitch-xen.spec > ``` > > -where: > - > - `<Xen Version>` is the output of `uname -r`. Since XenServer 6.5, the > - directory name in 'lib/modules/' becomes a shortened expression of the > - KERNEL_VERSION. > > Installing Open vSwitch for XenServer > ------------------------------------- > diff --git a/xenserver/openvswitch-xen.spec.in b/xenserver/ > openvswitch-xen.spec.in > index 2902372..7a0c30f 100644 > --- a/xenserver/openvswitch-xen.spec.in > +++ b/xenserver/openvswitch-xen.spec.in > @@ -18,14 +18,12 @@ > # -D "kernel_flavor xen" > # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec > # > -# For XenServer version >= 6.5, replace kernel_flavor with xen_version > which > -# should be the `uname -r` output. > +# For XenServer version >= 6.5, use kernel_uname which should be > +# the `uname -r` output. > # for example: > # > # rpmbuild -D "openvswitch_version 2.3.0+build123" > -# -D "kernel_name NAME-xen" > -# -D "kernel_version 3.10.41-323.380416" > -# -D "xen_version 3.10.0+2" > +# -D "kernel_uname 3.10.0+2" > # -bb /usr/src/redhat/SPECS/openvswitch-xen.spec > # > # If tests have to be skipped while building, specify the '--without > check' > @@ -36,6 +34,11 @@ > %define openvswitch_version @VERSION@ > %endif > > +%if %{?kernel_uname:1}%{!?kernel_uname:0} > +%define kernel_name kernel > +%define kernel_version %{kernel_uname} > +%endif > + > %if %{?kernel_name:0}%{!?kernel_name:1} > %define kernel %(rpm -qa 'kernel*xen-devel' | head -1) > %define kernel_name %(rpm -q --queryformat "%%{Name}" %{kernel} | sed > 's/-devel//' | sed 's/kernel-//') > @@ -44,7 +47,7 @@ > %endif > > %if %{?xen_version:0}%{!?xen_version:1} > -%define xen_version %{kernel_version}%{kernel_flavor} > +%define xen_version %{kernel_version}%{?kernel_flavor:%{kernel_flavor}} > %endif > > # bump this when breaking compatibility with userspace > @@ -78,7 +81,12 @@ Summary: Open vSwitch kernel module > Group: System Environment/Kernel > License: GPLv2 > Provides: %{name}-modules%{?kernel_flavor:-%{kernel_flavor}} = > %{kernel_version}, openvswitch.ko.%{module_abi_version} > +%if %{?kernel_uname:0}%{!?kernel_uname:1} > Requires: kernel%{?kernel_flavor:-%{kernel_flavor}} = %{kernel_version} > +%endif > +%if %{?kernel_uname:1}%{!?kernel_uname:0} > +Requires: kernel-uname-r = %{kernel_version} > +%endif > > %description %{module_package} > Open vSwitch Linux kernel module compiled against kernel version > -- > 1.7.9.5 > > _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev