#
# Conditional build:
%bcond_without dist_kernel # allow non-distribution kernel
+%bcond_without kernel # don't build kernel modules
%bcond_without smp # don't build SMP module
%bcond_without up # don't build UP module
%bcond_with verbose # verbose build (V=1)
-#
+%bcond_with grsec_kernel # build for kernel-grsecurity
+
+%if %{without kernel}
+%undefine with_dist_kernel
+%endif
+%if %{with kernel} && %{with dist_kernel} && %{with grsec_kernel}
+%define alt_kernel grsecurity
+%endif
+%if "%{_alt_kernel}" != "%{nil}"
+%undefine with_userspace
+%endif
+
%define _rel 1
-%define _mod_name e1000
-#
+%define pname e1000
Summary: Intel(R) PRO/1000 driver for Linux
Summary(pl): Sterownik do karty Intel(R) PRO/1000
-Name: kernel%{_alt_kernel}-net-e1000
+Name: %{pname}%{_alt_kernel}
Version: 7.6.12
-Release: %{_rel}@%{_kernel_ver_str}
+Release: %{_rel}
License: GPL v2
Group: Base/Kernel
-Source0: http://dl.sourceforge.net/e1000/%{_mod_name}-%{version}.tar.gz
+Source0: http://dl.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
# Source0-md5: e3a54d3a2862b378eeddfa2ce6298cae
URL: http://sourceforge.net/projects/e1000/
%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.7}
BuildRequires: rpmbuild(macros) >= 1.330
+# gcc fails on AC
+ExcludeArch: ppc
+BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+This package contains the Linux driver for the Intel(R) PRO/1000
+family of 10/100/1000 Ethernet network adapters.
+
+%description -l pl
+Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
+10/100/1000Mbit z rodziny Intel(R) PRO/1000.
+
+%package -n kernel%{_alt_kernel}-net-e1000
+Summary: Intel(R) PRO/1000 driver for Linux SMP
+Summary(pl): Sterownik do karty Intel(R) PRO/1000
+Release: %{_rel}@%{_kernel_ver_str}
+Group: Base/Kernel
Requires(post,postun): /sbin/depmod
%if %{with dist_kernel}
%requires_releq_kernel_up
Provides: kernel(e1000)
Obsoletes: e1000
Obsoletes: linux-net-e1000
-# gcc fails on AC
-ExcludeArch: ppc
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%description
-This package contains the Linux driver for the Intel(R) PRO/1000
+%description -n kernel%{_alt_kernel}-net-e1000
+This package contains the Linux SMP driver for the Intel(R) PRO/1000
family of 10/100/1000 Ethernet network adapters.
-%description -l pl
-Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych
+%description -n kernel%{_alt_kernel}-net-e1000 -l pl
+Ten pakiet zawiera sterownik dla Linuksa SMP do kart sieciowych
10/100/1000Mbit z rodziny Intel(R) PRO/1000.
%package -n kernel%{_alt_kernel}-smp-net-e1000
10/100/1000Mbit z rodziny Intel(R) PRO/1000.
%prep
-%setup -q -n %{_mod_name}-%{version}
+%setup -q -n %{pname}-%{version}
cat > src/Makefile <<'EOF'
obj-m := e1000.o
e1000-objs := e1000_main.o e1000_82540.o e1000_82542.o e1000_82571.o e1000_82541.o \
EOF
%build
-%build_kernel_modules -C src -m %{_mod_name}
+%build_kernel_modules -C src -m %{pname}
%install
rm -rf $RPM_BUILD_ROOT
-%install_kernel_modules -m src/%{_mod_name} -d kernel/drivers/net -n %{_mod_name} -s current
+%install_kernel_modules -m src/%{pname} -d kernel/drivers/net -n %{pname} -s current
%clean
rm -rf $RPM_BUILD_ROOT
-%post
+%post -n kernel%{_alt_kernel}-net-e1000
%depmod %{_kernel_ver}
-%postun
+%postun -n kernel%{_alt_kernel}-net-e1000
%depmod %{_kernel_ver}
%post -n kernel%{_alt_kernel}-smp-net-e1000
%postun -n kernel%{_alt_kernel}-smp-net-e1000
%depmod %{_kernel_ver}smp
+%if %{with kernel}
%if %{with up}
-%files
+%files -n kernel%{_alt_kernel}-net-e1000
%defattr(644,root,root,755)
-%doc e1000.7 README
-/etc/modprobe.d/%{_kernel_ver}/%{_mod_name}.conf
-/lib/modules/%{_kernel_ver}/kernel/drivers/net/%{_mod_name}*.ko*
+%doc e1000.7 README
+/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf
+/lib/modules/%{_kernel_ver}/kernel/drivers/net/%{pname}*.ko*
%endif
-%if %{with smp}
+%if %{with smp} && %{with dist_kernel}
%files -n kernel%{_alt_kernel}-smp-net-e1000
%defattr(644,root,root,755)
%doc e1000.7 README
-/etc/modprobe.d/%{_kernel_ver}smp/%{_mod_name}.conf
-/lib/modules/%{_kernel_ver}smp/kernel/drivers/net/%{_mod_name}*.ko*
+/etc/modprobe.d/%{_kernel_ver}smp/%{pname}.conf
+/lib/modules/%{_kernel_ver}smp/kernel/drivers/net/%{pname}*.ko*
+%endif
%endif