]> git.pld-linux.org Git - packages/e1000e.git/blame - e1000e.spec
- switch to macro driven module build for multiple kernel versions
[packages/e1000e.git] / e1000e.spec
CommitLineData
15be7047 1# Module for kernels <2.6.24
e3342377
PG
2#
3# Conditional build:
4%bcond_without dist_kernel # allow non-distribution kernel
5%bcond_without kernel # don't build kernel modules
03a37721 6%bcond_without userspace # don't build userspace programs
e3342377
PG
7%bcond_with verbose # verbose build (V=1)
8
e3342377
PG
9%if %{without kernel}
10%undefine with_dist_kernel
11%endif
03a37721
JR
12
13# The goal here is to have main, userspace, package built once with
14# simple release number, and only rebuild kernel packages with kernel
15# version as part of release number, without the need to bump release
16# with every kernel change.
17%if 0%{?_pld_builder:1} && %{with kernel} && %{with userspace}
18%{error:kernel and userspace cannot be built at the same time on PLD builders}
19exit 1
20%endif
21
e3342377 22%if "%{_alt_kernel}" != "%{nil}"
03a37721
JR
23%if 0%{?build_kernels:1}
24%{error:alt_kernel and build_kernels are mutually exclusive}
25exit 1
e3342377 26%endif
03a37721
JR
27%global _build_kernels %{alt_kernel}
28%else
29%global _build_kernels %{?build_kernels:,%{?build_kernels}}
30%endif
31
32%define kpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%kernel_pkg ; done)
33%define bkpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%build_kernel_pkg ; done)
34%define ikpkg %(echo %{_build_kernels} | tr , '\\n' | while read n ; do echo %%undefine alt_kernel ; [ -z "$n" ] || echo %%define alt_kernel $n ; echo %%install_kernel_pkg ; done)
e3342377 35
df96a7ad 36%define rel 19
15be7047 37%define pname e1000e
38Summary: Intel(R) PRO/1000e driver for Linux
adf7387a
ER
39Summary(en.UTF-8): Intel® PRO/1000e driver for Linux
40Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e
15be7047 41Name: %{pname}%{_alt_kernel}
596ad9ac 42Version: 2.4.14
03a37721 43Release: %{rel}%{?with_kernel:@%{_kernel_ver_str}}
15be7047 44License: GPL v2
45Group: Base/Kernel
2ce36bce 46Source0: http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
596ad9ac 47# Source0-md5: 05bae01409bb699f14297d726df2aa23
2ce36bce 48URL: http://downloads.sourceforge.net/e1000/
03a37721 49BuildRequires: rpm-build-macros >= 1.678
15be7047 50%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
15be7047 51BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
e3342377
PG
52
53%description
54This package contains the Linux driver for the Intel(R) PRO/1000
55family of 10/100/1000 Ethernet network adapters. This driver is
dc6adc54
ER
56designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit
57adapters and 82567 controllers.
58
59%description -l en.UTF-8
e61a765e
ER
60This package contains the Linux driver for the Intel® PRO/1000 family
61of 10/100/1000 Ethernet network adapters. This driver is designed to
62work with the Intel® 82571/2/3/4 PCI-E family of gigabit adapters and
6382567 controllers.
e3342377
PG
64
65%description -l pl.UTF-8
66Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
adf7387a 6710/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest
15be7047 68stworzony aby pracować z kartami gigabitowymi rodziny Intel®
42d1c636 6982571/2/3/4 PCI-E oraz kontrolerami 82567.
e3342377 70
03a37721
JR
71%define kernel_pkg()\
72%package -n kernel%{_alt_kernel}-net-%{pname}\
73Summary: Intel(R) PRO/1000e driver for Linux %{_kernelsrcdir}:%{__kernel_rpmvr}\
74Summary(en.UTF-8): Intel® PRO/1000e driver for Linux\
75Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e\
76Release: %{rel}@%{_kernel_ver_str}\
77Group: Base/Kernel\
78Requires(post,postun): /sbin/depmod\
79%if %{with dist_kernel}\
80%requires_releq_kernel\
81Requires(postun): %releq_kernel\
82%endif\
83\
84%description -n kernel%{_alt_kernel}-net-%{pname}\
85This package contains the Linux driver for the Intel(R) PRO/1000\
86family of 10/100/1000 Ethernet network adapters. This driver is\
87designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit\
88adapters and 82567 controllers.\
89\
90%description -n kernel%{_alt_kernel}-net-%{pname} -l en.UTF-8\
91This package contains the Linux driver for the Intel® PRO/1000 family\
92of 10/100/1000 Ethernet network adapters. This driver is designed to\
93work with the Intel® 82571/2/3/4 PCI-E family of gigabit adapters and\
9482567 controllers.\
95\
96%description -n kernel%{_alt_kernel}-net-%{pname} -l pl.UTF-8\
97Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych\
9810/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest\
99stworzony aby pracować z kartami gigabitowymi rodziny Intel®\
10082571/2/3/4 PCI-E oraz kontrolerami 82567.\
101\
102%if %{with kernel}\
103%files -n kernel%{_alt_kernel}-net-%{pname}\
104%defattr(755,root,root,755)\
105%doc e1000e.7 README\
106/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf\
107/lib/modules/%{_kernel_ver}/kernel/drivers/net/%{pname}*.ko*\
108%endif\
109\
110%post -n kernel%{_alt_kernel}-net-%{pname}\
111%depmod %{_kernel_ver}\
112\
113%postun -n kernel%{_alt_kernel}-net-%{pname}\
114%depmod %{_kernel_ver}\
115%{nil}
116
117%define build_kernel_pkg()\
118%build_kernel_modules -C src -m %{pname}\
119%install_kernel_modules -D installed -m src/%{pname} -d kernel/drivers/net -n %{pname} -s current\
120%{nil}
121
122%define install_kernel_pkg()\
123install -d $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}\
124# blacklist kernel module\
125cat > $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf <<'EOF'\
126blacklist e1000e\
127alias e1000e e1000e-current\
128EOF\
129%{nil}
130
131%{?with_kernel:%{expand:%kpkg}}
e3342377
PG
132
133%prep
134%setup -q -n %{pname}-%{version}
03a37721 135
e3342377
PG
136cat > src/Makefile <<'EOF'
137obj-m := e1000e.o
31d17c80
AM
138e1000e-objs := netdev.o ethtool.o param.o \
13982571.o ich8lan.o 80003es2lan.o \
140mac.o nvm.o phy.o manage.o kcompat.o
e3342377 141
31d17c80 142EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
e3342377 143EOF
225f4ace 144# add -DE1000E_NO_NAPI to disable NAPI
e3342377
PG
145
146%build
03a37721 147%{?with_kernel:%{expand:%bkpkg}}
e3342377
PG
148
149%install
150rm -rf $RPM_BUILD_ROOT
03a37721
JR
151install -d $RPM_BUILD_ROOT
152
153%if %{with kernel}
154%{expand:%ikpkg}
155cp -a installed/* $RPM_BUILD_ROOT
156%endif
e3342377
PG
157
158%clean
159rm -rf $RPM_BUILD_ROOT
This page took 0.278659 seconds and 4 git commands to generate.