1 # Module for kernels <2.6.24
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)
10 %undefine with_dist_kernel
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}
22 %if "%{_alt_kernel}" != "%{nil}"
23 %if 0%{?build_kernels:1}
24 %{error:alt_kernel and build_kernels are mutually exclusive}
27 %global _build_kernels %{alt_kernel}
29 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
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)
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}
43 Release: %{rel}%{?with_kernel:@%{_kernel_ver_str}}
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)
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.
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
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.
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}\
78 Requires(post,postun): /sbin/depmod\
79 %if %{with dist_kernel}\
80 %requires_releq_kernel\
81 Requires(postun): %releq_kernel\
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.\
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\
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.\
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*\
110 %post -n kernel%{_alt_kernel}-net-%{pname}\
111 %depmod %{_kernel_ver}\
113 %postun -n kernel%{_alt_kernel}-net-%{pname}\
114 %depmod %{_kernel_ver}\
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\
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'\
127 alias e1000e e1000e-current\
131 %{?with_kernel:%{expand:%kpkg}}
134 %setup -q -n %{pname}-%{version}
136 cat > src/Makefile <<'EOF'
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
142 EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
144 # add -DE1000E_NO_NAPI to disable NAPI
147 %{?with_kernel:%{expand:%bkpkg}}
150 rm -rf $RPM_BUILD_ROOT
151 install -d $RPM_BUILD_ROOT
155 cp -a installed/* $RPM_BUILD_ROOT
159 rm -rf $RPM_BUILD_ROOT