]> git.pld-linux.org Git - packages/e1000e.git/blob - e1000e.spec
- switch to macro driven module build for multiple kernel versions
[packages/e1000e.git] / e1000e.spec
1 # Module for kernels <2.6.24
2 #
3 # Conditional build:
4 %bcond_without  dist_kernel     # allow non-distribution kernel
5 %bcond_without  kernel          # don't build kernel modules
6 %bcond_without  userspace       # don't build userspace programs
7 %bcond_with     verbose         # verbose build (V=1)
8
9 %if %{without kernel}
10 %undefine with_dist_kernel
11 %endif
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}
19 exit 1
20 %endif
21
22 %if "%{_alt_kernel}" != "%{nil}"
23 %if 0%{?build_kernels:1}
24 %{error:alt_kernel and build_kernels are mutually exclusive}
25 exit 1
26 %endif
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)
35
36 %define         rel     19
37 %define         pname   e1000e
38 Summary:        Intel(R) PRO/1000e driver for Linux
39 Summary(en.UTF-8):      Intel® PRO/1000e driver for Linux
40 Summary(pl.UTF-8):      Sterownik do karty Intel® PRO/1000e
41 Name:           %{pname}%{_alt_kernel}
42 Version:        2.4.14
43 Release:        %{rel}%{?with_kernel:@%{_kernel_ver_str}}
44 License:        GPL v2
45 Group:          Base/Kernel
46 Source0:        http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
47 # Source0-md5:  05bae01409bb699f14297d726df2aa23
48 URL:            http://downloads.sourceforge.net/e1000/
49 BuildRequires:  rpm-build-macros >= 1.678
50 %{?with_dist_kernel:BuildRequires:      kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
51 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
52
53 %description
54 This package contains the Linux driver for the Intel(R) PRO/1000
55 family of 10/100/1000 Ethernet network adapters. This driver is
56 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit
57 adapters and 82567 controllers.
58
59 %description -l en.UTF-8
60 This package contains the Linux driver for the Intel® PRO/1000 family
61 of 10/100/1000 Ethernet network adapters. This driver is designed to
62 work with the Intel® 82571/2/3/4 PCI-E family of gigabit adapters and
63 82567 controllers.
64
65 %description -l pl.UTF-8
66 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
67 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest
68 stworzony aby pracować z kartami gigabitowymi rodziny Intel®
69 82571/2/3/4 PCI-E oraz kontrolerami 82567.
70
71 %define kernel_pkg()\
72 %package -n kernel%{_alt_kernel}-net-%{pname}\
73 Summary:        Intel(R) PRO/1000e driver for Linux %{_kernelsrcdir}:%{__kernel_rpmvr}\
74 Summary(en.UTF-8):      Intel® PRO/1000e driver for Linux\
75 Summary(pl.UTF-8):      Sterownik do karty Intel® PRO/1000e\
76 Release:        %{rel}@%{_kernel_ver_str}\
77 Group:          Base/Kernel\
78 Requires(post,postun):  /sbin/depmod\
79 %if %{with dist_kernel}\
80 %requires_releq_kernel\
81 Requires(postun):       %releq_kernel\
82 %endif\
83 \
84 %description -n kernel%{_alt_kernel}-net-%{pname}\
85 This package contains the Linux driver for the Intel(R) PRO/1000\
86 family of 10/100/1000 Ethernet network adapters. This driver is\
87 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit\
88 adapters and 82567 controllers.\
89 \
90 %description -n kernel%{_alt_kernel}-net-%{pname} -l en.UTF-8\
91 This package contains the Linux driver for the Intel® PRO/1000 family\
92 of 10/100/1000 Ethernet network adapters. This driver is designed to\
93 work with the Intel® 82571/2/3/4 PCI-E family of gigabit adapters and\
94 82567 controllers.\
95 \
96 %description -n kernel%{_alt_kernel}-net-%{pname} -l pl.UTF-8\
97 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych\
98 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest\
99 stworzony aby pracować z kartami gigabitowymi rodziny Intel®\
100 82571/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()\
123 install -d $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}\
124 # blacklist kernel module\
125 cat > $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf <<'EOF'\
126 blacklist e1000e\
127 alias e1000e e1000e-current\
128 EOF\
129 %{nil}
130
131 %{?with_kernel:%{expand:%kpkg}}
132
133 %prep
134 %setup -q -n %{pname}-%{version}
135
136 cat > src/Makefile <<'EOF'
137 obj-m := e1000e.o
138 e1000e-objs := netdev.o ethtool.o param.o \
139 82571.o ich8lan.o 80003es2lan.o \
140 mac.o nvm.o phy.o manage.o kcompat.o
141
142 EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
143 EOF
144 # add -DE1000E_NO_NAPI to disable NAPI
145
146 %build
147 %{?with_kernel:%{expand:%bkpkg}}
148
149 %install
150 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT
152
153 %if %{with kernel}
154 %{expand:%ikpkg}
155 cp -a installed/* $RPM_BUILD_ROOT
156 %endif
157
158 %clean
159 rm -rf $RPM_BUILD_ROOT
This page took 0.070396 seconds and 3 git commands to generate.