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(pl.UTF-8): Sterownik do karty Intel® PRO/1000e
40 Name: %{pname}%{_alt_kernel}
42 Release: %{rel}%{?with_kernel:@%{_kernel_ver_str}}
45 Source0: http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
46 # Source0-md5: 05bae01409bb699f14297d726df2aa23
47 URL: http://downloads.sourceforge.net/e1000/
48 BuildRequires: rpm-build-macros >= 1.678
49 %{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
50 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
53 This package contains the Linux driver for the Intel(R) PRO/1000
54 family of 10/100/1000 Ethernet network adapters. This driver is
55 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit
56 adapters and 82567 controllers.
58 %description -l pl.UTF-8
59 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
60 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest
61 stworzony aby pracować z kartami gigabitowymi rodziny Intel®
62 82571/2/3/4 PCI-E oraz kontrolerami 82567.
65 %package -n kernel%{_alt_kernel}-net-%{pname}\
66 Summary: Intel(R) PRO/1000e driver for Linux %{_kernelsrcdir}:%{__kernel_rpmvr}\
67 Summary(pl.UTF-8): Sterownik do karty Intel® PRO/1000e\
68 Release: %{rel}@%{_kernel_ver_str}\
70 Requires(post,postun): /sbin/depmod\
71 %if %{with dist_kernel}\
72 %requires_releq_kernel\
73 Requires(postun): %releq_kernel\
76 %description -n kernel%{_alt_kernel}-net-%{pname}\
77 This package contains the Linux driver for the Intel(R) PRO/1000\
78 family of 10/100/1000 Ethernet network adapters. This driver is\
79 designed to work with the Intel(R) 82571/2/3/4 PCI-E family of gigabit\
80 adapters and 82567 controllers.\
82 %description -n kernel%{_alt_kernel}-net-%{pname} -l pl.UTF-8\
83 Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych\
84 10/100/1000Mbit z rodziny Intel® PRO/1000. Ten sterownik jest\
85 stworzony aby pracować z kartami gigabitowymi rodziny Intel®\
86 82571/2/3/4 PCI-E oraz kontrolerami 82567.\
89 %files -n kernel%{_alt_kernel}-net-%{pname}\
90 %defattr(755,root,root,755)\
92 /etc/modprobe.d/%{_kernel_ver}/%{pname}.conf\
93 /lib/modules/%{_kernel_ver}/kernel/drivers/net/%{pname}*.ko*\
96 %post -n kernel%{_alt_kernel}-net-%{pname}\
97 %depmod %{_kernel_ver}\
99 %postun -n kernel%{_alt_kernel}-net-%{pname}\
100 %depmod %{_kernel_ver}\
103 %define build_kernel_pkg()\
104 %build_kernel_modules -C src -m %{pname}\
105 %install_kernel_modules -D installed -m src/%{pname} -d kernel/drivers/net -n %{pname} -s current\
108 %define install_kernel_pkg()\
109 install -d $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}\
110 # blacklist kernel module\
111 cat > $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf <<'EOF'\
113 alias e1000e e1000e-current\
117 %{?with_kernel:%{expand:%kpkg}}
120 %setup -q -n %{pname}-%{version}
122 cat > src/Makefile <<'EOF'
124 e1000e-objs := netdev.o ethtool.o param.o \
125 82571.o ich8lan.o 80003es2lan.o \
126 mac.o nvm.o phy.o manage.o kcompat.o
128 EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
130 # add -DE1000E_NO_NAPI to disable NAPI
133 %{?with_kernel:%{expand:%bkpkg}}
136 rm -rf $RPM_BUILD_ROOT
137 install -d $RPM_BUILD_ROOT
141 cp -a installed/* $RPM_BUILD_ROOT
145 rm -rf $RPM_BUILD_ROOT