3 %bcond_without dist_kernel # allow non-distribution kernel
4 %bcond_with verbose # verbose build (V=1)
7 %undefine with_dist_kernel
10 %if "%{_alt_kernel}" != "%{nil}"
11 %if 0%{?build_kernels:1}
12 %{error:alt_kernel and build_kernels are mutually exclusive}
15 %global _build_kernels %{alt_kernel}
17 %global _build_kernels %{?build_kernels:,%{?build_kernels}}
20 %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)
21 %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)
22 %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)
26 Summary: Intel(R) PRO/1000e driver for Linux
27 Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e
28 Name: %{pname}%{_alt_kernel}
30 Release: %{rel}@%{_kernel_ver_str}
33 Source0: http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
34 # Source0-md5: b8d770160691edd247a90070f45642ce
35 URL: http://downloads.sourceforge.net/e1000/
36 BuildRequires: rpm-build-macros >= 1.678
37 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
38 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41 This package contains the Linux driver for the Intel(R) PRO/1000
42 family of 10/100/1000 Ethernet network adapters. This driver is
43 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit
44 adapters and 82567 controllers.
46 %description -l pl.UTF-8
47 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
48 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest
49 stworzony aby pracować z kartami gigabitowymi rodziny Intel®
50 82571/2/3/4 PCI-E oraz kontrolerami 82567.
53 %package -n kernel%{_alt_kernel}-net-%{pname}\
54 Summary: Intel(R) PRO/1000e driver for Linux\
55 Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e\
56 Release: %{rel}@%{_kernel_ver_str}\
58 Requires(post,postun): /sbin/depmod\
59 %if %{with dist_kernel}\
60 %requires_releq_kernel\
61 Requires(postun): %releq_kernel\
64 %description -n kernel%{_alt_kernel}-net-%{pname}\
65 This package contains the Linux driver for the Intel(R) PRO/1000\
66 family of 10/100/1000 Ethernet network adapters. This driver is\
67 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit\
68 adapters and 82567 controllers.\
70 %description -n kernel%{_alt_kernel}-net-%{pname} -l pl.UTF-8\
71 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych\
72 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest\
73 stworzony aby pracować z kartami gigabitowymi rodziny Intel®\
74 82571/2/3/4 PCI-E oraz kontrolerami 82567.\
76 %files -n kernel%{_alt_kernel}-net-%{pname}\
77 %defattr(755,root,root,755)\
79 /etc/modprobe.d/%{_kernel_ver}/%{pname}.conf\
80 /lib/modules/%{_kernel_ver}/kernel/drivers/net/%{pname}*.ko*\
82 %post -n kernel%{_alt_kernel}-net-%{pname}\
83 %depmod %{_kernel_ver}\
85 %postun -n kernel%{_alt_kernel}-net-%{pname}\
86 %depmod %{_kernel_ver}\
89 %define build_kernel_pkg()\
90 %build_kernel_modules -C src -m %{pname}\
91 %install_kernel_modules -D installed -m src/%{pname} -d kernel/drivers/net -n %{pname} -s current\
94 %define install_kernel_pkg()\
95 install -d $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}\
96 # blacklist kernel module\
97 cat > $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf <<'EOF'\
99 alias e1000e e1000e-current\
106 %setup -q -n %{pname}-%{version}
108 cat > src/Makefile <<'EOF'
110 e1000e-objs := netdev.o ethtool.o param.o \
111 82571.o ich8lan.o 80003es2lan.o \
112 mac.o nvm.o phy.o manage.o kcompat.o
114 EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
116 # add -DE1000E_NO_NAPI to disable NAPI
122 rm -rf $RPM_BUILD_ROOT
123 install -d $RPM_BUILD_ROOT
126 cp -a installed/* $RPM_BUILD_ROOT
129 rm -rf $RPM_BUILD_ROOT