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>".

Signed-off-by: Edwin Chiu <ec...@vmware.com>
Signed-off-by: Alex Wang <al...@nicira.com>
---
 xenserver/openvswitch-xen.spec.in |   20 ++++++++++++++------
 1 file changed, 14 insertions(+), 6 deletions(-)

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

Reply via email to