]>
Commit | Line | Data |
---|---|---|
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 | ||
13 | Name: %{oname}-kmod | |
c434706a BP |
14 | Version: @VERSION@ |
15 | Release: 1%{?dist} | |
16 | Summary: Open vSwitch kernel module | |
17 | ||
18 | Group: System/Kernel | |
19 | License: GPLv2 | |
20 | URL: http://openvswitch.org/ | |
1821f032 | 21 | Source0: %{oname}-%{version}.tar.gz |
9c12d2ec | 22 | Source1: %{oname}-kmod.files |
c434706a BP |
23 | BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) |
24 | BuildRequires: %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 | |
41 | Open vSwitch Linux kernel module. | |
42 | ||
43 | %prep | |
44 | ||
1821f032 | 45 | %setup -n %{oname}-%{version} |
c434706a BP |
46 | |
47 | %build | |
48 | for 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 |
52 | done |
53 | ||
54 | %install | |
55 | export INSTALL_MOD_PATH=$RPM_BUILD_ROOT | |
1821f032 | 56 | export INSTALL_MOD_DIR=extra/%{oname} |
c434706a BP |
57 | for 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 | 63 | done |
9c12d2ec | 64 | install -d %{buildroot}%{_sysconfdir}/depmod.d/ |
723a06ae JS |
65 | for module in %{buildroot}/lib/modules/%{kernel_version}/$INSTALL_MOD_DIR/*.ko; |
66 | do | |
67 | modname="$(basename ${module})" | |
68 | echo "override ${modname%.ko} * extra/%{oname}" >> %{oname}.conf | |
69 | echo "override ${modname%.ko} * weak-updates/%{oname}" >> %{oname}.conf | |
70 | done | |
9c12d2ec | 71 | install -m 644 %{oname}.conf %{buildroot}%{_sysconfdir}/depmod.d/ |
c434706a | 72 | |
69f7e92f GR |
73 | %post |
74 | # Ensure that modprobe will find our modules. | |
75 | for k in $(cd /lib/modules && /bin/ls); do | |
76 | [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" | |
77 | done | |
78 | if [ -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 | |
83 | fi | |
84 | ||
85 | %postun | |
86 | for k in $(cd /lib/modules && /bin/ls); do | |
87 | [ -d "/lib/modules/$k/kernel/" ] && depmod -a "$k" | |
88 | done | |
89 | if [ "$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 | |
96 | fi | |
97 | ||
723a06ae JS |
98 | %files |
99 | %defattr(644,root,root) | |
100 | /etc/depmod.d/%{oname}.conf | |
101 | ||
c434706a BP |
102 | %clean |
103 | rm -rf $RPM_BUILD_ROOT |