[packages/test/newkernel] - real working example with e1000e driver as guinea pig

baggins baggins at pld-linux.org
Wed Oct 23 12:04:51 CEST 2013


commit 36cd5b5293fc45a11c0d52ba44386235e27d9ccd
Author: Jan Rękorajski <baggins at pld-linux.org>
Date:   Wed Oct 23 12:02:25 2013 +0200

    - real working example with e1000e driver as guinea pig

 test.spec | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 44 insertions(+), 11 deletions(-)
---
diff --git a/test.spec b/test.spec
index 015b1ef..f0fb466 100644
--- a/test.spec
+++ b/test.spec
@@ -25,7 +25,7 @@ exit 1
 %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)
 
 %define		rel	0.1
-%define		pname	test
+%define		pname	e1000e
 
 %define	kernel_pkg()\
 %package -n kernel%{_alt_kernel}-net-%{pname}\
@@ -51,23 +51,40 @@ Ten pakiet zawiera sterownik dla Linuksa do kart sieciowych\
 stworzony aby pracować z kartami gigabitowymi rodziny Intel®\
 82571/2/3/4 PCI-E oraz kontrolerami 82567.\
 \
-%files -n kernel%{_alt_kernel}-net-%{pname} -f kernel%{_alt_kernel}-net-%{pname}.list\
+%if %{with kernel}\
+%files -n kernel%{_alt_kernel}-net-%{pname}\
 %defattr(755,root,root,755)\
+%doc e1000e.7 README\
+/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf\
+/lib/modules/%{_kernel_ver}/kernel/drivers/net/%{pname}*.ko*\
+%endif\
 %{nil}
 
 %define build_kernel_pkg()\
-echo %{_kernelsrcdir}\
-touch kernel%{_alt_kernel}-net-%{pname}.list\
+%build_kernel_modules -C src -m %{pname}\
+%install_kernel_modules -D installed -m src/%{pname} -d kernel/drivers/net -n %{pname} -s current\
+%{nil}
+
+%define install_kernel_pkg()\
+install -d $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}\
+# blacklist kernel module\
+cat > $RPM_BUILD_ROOT/etc/modprobe.d/%{_kernel_ver}/%{pname}.conf <<'EOF'\
+blacklist e1000e\
+alias e1000e e1000e-current\
+EOF\
 %{nil}
 
 Summary:	testing something
-Name:		%{pname}
-Version:	1
+Name:		%{pname}%{_alt_kernel}
+Version:	2.4.14
 Release:	%{rel}%{?with_kernel:@%{_kernel_ver_str}}
-License:	GPL
-Group:		Applications/System
+License:	GPL v2
+Group:		Base/Kernel
+Source0:	http://downloads.sourceforge.net/e1000/%{pname}-%{version}.tar.gz
+# Source0-md5:	05bae01409bb699f14297d726df2aa23
 URL:		http://www.pld-linux.org/
-#BuildRequires:	rpm-build-macros >= 1.676
+BuildRequires:	rpm-build-macros >= 1.676
+%{?with_dist_kernel:BuildRequires:	kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
@@ -76,13 +93,29 @@ testing something
 %{?with_kernel:%{expand:%kpkg}}
 
 %prep
-%setup -qcT
+%setup -q -n %{pname}-%{version}
+
+cat > src/Makefile <<'EOF'
+obj-m := e1000e.o
+e1000e-objs := netdev.o ethtool.o param.o \
+82571.o ich8lan.o 80003es2lan.o \
+mac.o nvm.o phy.o manage.o kcompat.o
+
+EXTRA_CFLAGS=-DDRIVER_E1000E -DCONFIG_E1000E_SEPARATE_TX_HANDLER
+EOF
+# add -DE1000E_NO_NAPI to disable NAPI
+
+%build
+%{?with_kernel:%{expand:%bkpkg}}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT
 
-%{?with_kernel:%{expand:%bkpkg}}
+%if %{with kernel}
+%{expand:%ikpkg}
+cp -a installed/* $RPM_BUILD_ROOT
+%endif
 
 %clean
 
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/test.git/commitdiff/952ff23f11893c1e9ab097ea883e6abc30fed8c6



More information about the pld-cvs-commit mailing list