]>
Commit | Line | Data |
---|---|---|
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} | |
19 | exit 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} | |
25 | exit 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 |
38 | Summary: Intel(R) PRO/1000e driver for Linux | |
adf7387a ER |
39 | Summary(en.UTF-8): Intel® PRO/1000e driver for Linux |
40 | Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e | |
15be7047 | 41 | Name: %{pname}%{_alt_kernel} |
596ad9ac | 42 | Version: 2.4.14 |
03a37721 | 43 | Release: %{rel}%{?with_kernel:@%{_kernel_ver_str}} |
15be7047 | 44 | License: GPL v2 |
45 | Group: Base/Kernel | |
2ce36bce | 46 | Source0: http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz |
596ad9ac | 47 | # Source0-md5: 05bae01409bb699f14297d726df2aa23 |
2ce36bce | 48 | URL: http://downloads.sourceforge.net/e1000/ |
03a37721 | 49 | BuildRequires: rpm-build-macros >= 1.678 |
15be7047 | 50 | %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2} |
15be7047 | 51 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
e3342377 PG |
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 | |
dc6adc54 ER |
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 | |
e61a765e ER |
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. | |
e3342377 PG |
64 | |
65 | %description -l pl.UTF-8 | |
66 | Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych | |
adf7387a | 67 | 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest |
15be7047 | 68 | stworzony aby pracować z kartami gigabitowymi rodziny Intel® |
42d1c636 | 69 | 82571/2/3/4 PCI-E oraz kontrolerami 82567. |
e3342377 | 70 | |
03a37721 JR |
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}} | |
e3342377 PG |
132 | |
133 | %prep | |
134 | %setup -q -n %{pname}-%{version} | |
03a37721 | 135 | |
e3342377 PG |
136 | cat > src/Makefile <<'EOF' |
137 | obj-m := e1000e.o | |
31d17c80 AM |
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 | |
e3342377 | 141 | |
31d17c80 | 142 | EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER |
e3342377 | 143 | EOF |
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 | |
150 | rm -rf $RPM_BUILD_ROOT | |
03a37721 JR |
151 | install -d $RPM_BUILD_ROOT |
152 | ||
153 | %if %{with kernel} | |
154 | %{expand:%ikpkg} | |
155 | cp -a installed/* $RPM_BUILD_ROOT | |
156 | %endif | |
e3342377 PG |
157 | |
158 | %clean | |
159 | rm -rf $RPM_BUILD_ROOT |