summaryrefslogtreecommitdiff
path: root/xenserver
diff options
context:
space:
mode:
authorEdwin Chiu <echiu@vmware.com>2015-04-28 15:15:54 -0700
committerAlex Wang <alexw@nicira.com>2015-05-02 10:57:00 -0700
commit2c3f6a7431f2f5afa5db97eaaa0d5ea91c0f18eb (patch)
tree006f9a30f8e331f0ba3f0b6310400521e05607df /xenserver
parent9b928914480271f91a64d78e0e8d812060f3d455 (diff)
downloadopenvswitch-2c3f6a7431f2f5afa5db97eaaa0d5ea91c0f18eb.tar.gz
xenserver: Use kernel uname version for XenServer 6.5
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 <astgosen@ccu.edu.tw> Signed-off-by: Edwin Chiu <echiu@vmware.com> Signed-off-by: Alex Wang <alexw@nicira.com>
Diffstat (limited to 'xenserver')
-rw-r--r--xenserver/openvswitch-xen.spec.in20
1 files changed, 14 insertions, 6 deletions
diff --git a/xenserver/openvswitch-xen.spec.in b/xenserver/openvswitch-xen.spec.in
index 2902372e8..7a0c30f4b 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