[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