1 # Spec file for Open vSwitch kernel modules on Red Hat Enterprise
4 # Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
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.
11 %define kmod_name openvswitch
12 %{!?kversion: %define kversion 2.6.18-238.12.1.el5}
14 Name: %{kmod_name}-kmod
17 Group: System Environment
/Kernel
19 Summary: Open vSwitch kernel modules
20 URL: http
://openvswitch.org
/
22 BuildRequires
: redhat
-rpm
-config
23 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-build-%(%{__id_u} -n
)
24 ExclusiveArch: i686 x86_64
27 Source0: %{kmod_name}-%{version}.tar.gz
28 Source10: kmodtool
-%{kmod_name}-el5.sh
30 # Define the variants for each architecture.
39 # If kvariants isn't defined on the rpmbuild line, build all variants for this architecture.
40 %{!?kvariants: %define kvariants %{?basevar} %{?xenvar} %{?paevar}}
43 %{expand:%(sh %{SOURCE10} rpmtemplate_kmp %{kmod_name} %{kversion} %{kvariants})}
45 # Disable the building of the debug package(s).
46 %define debug_package
%{nil}
49 %define __find_requires sh
%{_builddir}/%{buildsubdir}/filter
-requires.sh
52 Open vSwitch Linux kernel module.
56 for kvariant
in %{kvariants} ; do
57 %{__cp} -a %{kmod_name}-%{version} _kmod_build_$kvariant
59 echo "
/usr
/lib
/rpm
/redhat
/find
-requires |
%{__sed} -e '
/^ksym.
*/d'"
> filter
-requires.sh
60 echo "override
%{kmod_name} * weak-updates/%{kmod_name}" > kmod-%{kmod_name}.conf
63 for kvariant
in %{kvariants} ; do
64 KSRC
=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu}
65 cd _kmod_build_$kvariant
66 ..
/openvswitch
-%{version}/configure
--with
-linux
="$KSRC"
67 %{__make} -C datapath/linux %{?_smp_mflags}
72 %{__rm} -rf %{buildroot}
73 export INSTALL_MOD_PATH
=%{buildroot}
74 export INSTALL_MOD_DIR
=extra
/%{kmod_name}
75 for kvariant
in %{kvariants} ; do
76 KSRC
=%{_usrsrc}/kernels/%{kversion}${kvariant:+-$kvariant}-%{_target_cpu}
77 %{__make} -C "${KSRC}" modules_install M
=$PWD
/_kmod_build_$kvariant
/datapath
/linux
79 %{__install} -d %{buildroot}%{_sysconfdir}/depmod.d
/
80 %{__install} kmod-%{kmod_name}.conf %{buildroot}%{_sysconfdir}/depmod.d
/
81 # Set the module(s) to be executable, so that they will be stripped when packaged.
82 find
%{buildroot} -type f -name \*.ko -exec %{__chmod} u+x \{\} \
;
85 %{__rm} -rf %{buildroot}