]> git.proxmox.com Git - mirror_ovs.git/blame - rhel/openvswitch-kmod-rhel6.spec.in
Merge branch 'dpdk_merge' of https://github.com/istokes/ovs into HEAD
[mirror_ovs.git] / rhel / openvswitch-kmod-rhel6.spec.in
CommitLineData
c434706a
BP
1# Spec file for Open vSwitch kernel modules on Red Hat Enterprise
2# Linux 6.
3
e0edde6f 4# Copyright (C) 2011, 2012 Nicira, Inc.
c434706a
BP
5#
6# Copying and distribution of this file, with or without modification,
7# are permitted in any medium without royalty provided the copyright
8# notice and this notice are preserved. This file is offered as-is,
9# without warranty of any kind.
10
1821f032
AF
11%define oname openvswitch
12
13Name: %{oname}-kmod
c434706a
BP
14Version: @VERSION@
15Release: 1%{?dist}
16Summary: Open vSwitch kernel module
17
18Group: System/Kernel
19License: GPLv2
20URL: http://openvswitch.org/
1821f032 21Source0: %{oname}-%{version}.tar.gz
9c12d2ec 22Source1: %{oname}-kmod.files
c434706a
BP
23BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
24BuildRequires: %kernel_module_package_buildreqs
25
26# Without this we get an empty openvswitch-debuginfo package (whose name
27# conflicts with the openvswitch-debuginfo package for OVS userspace).
28%undefine _enable_debug_packages
29
6c9b8ee4
AF
30# Use -D 'kversion 2.6.32-131.6.1.el6.x86_64' to build package
31# for specified kernel version.
32%{?kversion:%define kernel_version %kversion}
c434706a 33
6c9b8ee4
AF
34# Use -D 'kflavors default debug kdump' to build packages for
35# specified kernel variants.
36%{!?kflavors:%define kflavors default}
37
9c12d2ec 38%kernel_module_package -n %{oname} -f %{SOURCE1} %kflavors
c434706a
BP
39
40%description
41Open vSwitch Linux kernel module.
42
43%prep
44
1821f032 45%setup -n %{oname}-%{version}
c434706a
BP
46
47%build
48for flavor in %flavors_to_build; do
49 mkdir _$flavor
8a2d6596 50 (cd _$flavor && ../configure --with-linux="%{kernel_source $flavor}")
22bcc0e7 51 %{__make} -C _$flavor/datapath/linux %{?_smp_mflags}
c434706a
BP
52done
53
54%install
55export INSTALL_MOD_PATH=$RPM_BUILD_ROOT
1821f032 56export INSTALL_MOD_DIR=extra/%{oname}
c434706a
BP
57for flavor in %flavors_to_build ; do
58 make -C %{kernel_source $flavor} modules_install \
37d03458 59 M="`pwd`"/_$flavor/datapath/linux
ba119c13
AW
60
61 # Cleanup unnecessary kernel-generated module dependency files.
62 find $INSTALL_MOD_PATH/lib/modules -iname 'modules.*' -exec rm {} \;
c434706a 63done
9c12d2ec 64install -d %{buildroot}%{_sysconfdir}/depmod.d/
723a06ae
JS
65for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko;
66do
67 modname="$(basename ${module})"
68 echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf
69 echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf
70done
9c12d2ec 71install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/
c434706a 72
69f7e92f
GR
73%post
74# Ensure that modprobe will find our modules.
75for k in $(cd /lib/modules && /bin/ls); do
76 [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k"
77done
78if [ -x "/sbin/weak-modules" ]; then
79 for m in openvswitch vport-gre vport-stt vport-geneve \
80 vport-lisp vport-vxlan; do
81 echo "/lib/modules/%{kernel}/extra/$m.ko"
82 done | /sbin/weak-modules --add-modules
83fi
84
85%postun
86for k in $(cd /lib/modules && /bin/ls); do
87 [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k"
88done
89if [ "$1" = 0 ]; then # Erase, not upgrade
90 if [ -x "/sbin/weak-modules" ]; then
91 for m in openvswitch vport-gre vport-stt vport-geneve \
92 vport-lisp vport-vxlan; do
93 echo "/lib/modules/%{kernel}/extra/$m.ko"
94 done | /sbin/weak-modules --remove-modules
95 fi
96fi
97
723a06ae
JS
98%files
99%defattr(644,root,root)
100/etc/depmod.d/%{oname}.conf
101
c434706a
BP
102%clean
103rm -rf $RPM_BUILD_ROOT