Tym razem postarałem się dopasować spece zgodnie ze wzorcem z pliku 
template-kernel-module.spec. Przyznaję, w obu przypadkach są pewne 
niezgodności z wzorcem, ale wynikają one z mojej nieznajomości założeń 
przyjętych przez developerów. Są to drobiazgi, w pierwszym wypadku 
wynikające z tego, że pakiet generuje kilka modułów w jednym pakiecie, a w 
drugim dotyczy to kilku linijek dla arch ppc64, co do których nie umiem się 
ustosunkować (zakomentowałem je, wydaje mi się, że powinny wylecieć).

Prosiłbym (po raz wtóry) kogoś z władnych o zerknięcie w te poprawki i 
ewentuale wrzucenie do CVS-u. Oczywiście przyjmę wszelką konstruktywną 
krytykę.

Pozdrawiam.
-- 
Łukasz Maśko                                           GG:   2441498    _o)
Lukasz.Masko(at)ipipan.waw.pl                         ICQ: 146553537    /\\
Registered Linux User #61028           JID: [EMAIL PROTECTED]   _\_V
Index: ipw2200.spec
===================================================================
RCS file: /cvsroot/SPECS/ipw2200.spec,v
retrieving revision 1.34
diff -u -r1.34 ipw2200.spec
--- ipw2200.spec	15 Jan 2006 23:58:38 -0000	1.34
+++ ipw2200.spec	16 Feb 2006 20:16:06 -0000
@@ -82,37 +82,42 @@
 	if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
 		exit 1
 	fi
-	rm -rf include
-	install -d include/{linux,config}
-	ln -sf %{_kernelsrcdir}/config-$cfg .config
-	ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
-	ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
-	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
-	%if %{without dist_kernel}
-                ln -sf %{_kernelsrcdir}/scripts
-        %endif
-	touch include/config/MARKER
+	install -d o/include/linux
+	ln -sf %{_kernelsrcdir}/config-$cfg o/.config
+	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
+	ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
+%if %{with dist_kernel}
+	%{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
+%else
+	install -d o/include/config
+	touch o/include/config/MARKER
+	ln -sf %{_kernelsrcdir}/scripts o/scripts
+%endif
 	export IEEE80211_INC=%{_kernelsrcdir}/include
 	%{__make} -C %{_kernelsrcdir} clean \
-		RCS_FIND_IGNORE="-name '*.ko' -o" \
-		M=$PWD O=$PWD \
+		RCS_FIND_IGNORE="-name '*.ko' -o -name nv-kernel.o -o" \
+		SYSSRC=%{_kernelsrcdir} \
+		SYSOUT=$PWD/o \
+		M=$PWD O=$PWD/o \
 		%{?with_verbose:V=1}
 	%{__make} -C %{_kernelsrcdir} modules \
 		CC="%{__cc}" CPP="%{__cpp}" \
-		M=$PWD O=$PWD \
+		SYSSRC=%{_kernelsrcdir} \
+		SYSOUT=$PWD/o \
+		M=$PWD O=$PWD/o \
 		%{?with_verbose:V=1}
-	mv *.ko built/$cfg
+
+	mv ipw2200{,-$cfg}.ko
 done
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-cd built
 install -d $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}{,smp}/misc
-install %{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}/ipw2200.ko \
+install ipw2200-%{?with_dist_kernel:up}%{!?with_dist_kernel:nondist}.ko \
 	$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}/misc/ipw2200_current.ko
 %if %{with smp} && %{with dist_kernel}
-install smp/ipw2200.ko \
+install ipw2200-smp.ko \
 	$RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}smp/misc/ipw2200_current.ko
 %endif
 
Index: kernel-net-ieee80211.spec
===================================================================
RCS file: /cvsroot/SPECS/kernel-net-ieee80211.spec,v
retrieving revision 1.12
diff -u -r1.12 kernel-net-ieee80211.spec
--- kernel-net-ieee80211.spec	8 Feb 2006 23:02:58 -0000	1.12
+++ kernel-net-ieee80211.spec	16 Feb 2006 20:12:15 -0000
@@ -73,30 +73,37 @@
 	if [ ! -r "%{_kernelsrcdir}/config-$cfg" ]; then
 		exit 1
 	fi
-	rm -rf include
-	install -d include/{linux,config}
-	ln -sf %{_kernelsrcdir}/config-$cfg .config
-	ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h include/linux/autoconf.h
-%ifarch ppc ppc64
-        install -d include/asm
-        [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* include/asm
-        [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm
+	install -d o/include/linux
+	ln -sf %{_kernelsrcdir}/config-$cfg o/.config
+	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers
+	ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h
+#%ifarch ppc ppc64
+#        install -d include/asm
+#        [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -sf %{_kernelsrcdir}/include/asm-powerpc/* include/asm
+#        [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -snf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* include/asm
+#%else
+#        ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
+#%endif
+%if %{with dist_kernel}
+	%{__make} -C %{_kernelsrcdir} O=$PWD/o prepare scripts
 %else
-        ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} include/asm
+	install -d o/include/config
+	touch o/include/config/MARKER
+	ln -sf %{_kernelsrcdir}/scripts o/scripts
 %endif
-	ln -sf %{_kernelsrcdir}/Module.symvers-$cfg Module.symvers
-	%if %{without dist_kernel}
-                ln -sf %{_kernelsrcdir}/scripts
-        %endif
-	touch include/config/MARKER
 	%{__make} -C %{_kernelsrcdir} clean \
-		RCS_FIND_IGNORE="-name '*.ko' -o" \
-		M=$PWD O=$PWD \
+		RCS_FIND_IGNORE="-name '*.ko' -o -name nv-kernel.o -o" \
+		SYSSRC=%{_kernelsrcdir} \
+		SYSOUT=$PWD/o \
+		M=$PWD O=$PWD/o \
 		%{?with_verbose:V=1}
 	%{__make} -C %{_kernelsrcdir} modules \
 		CC="%{__cc}" CPP="%{__cpp}" \
-		M=$PWD O=$PWD \
+		SYSSRC=%{_kernelsrcdir} \
+		SYSOUT=$PWD/o \
+		M=$PWD O=$PWD/o \
 		%{?with_verbose:V=1}
+		
 	mv *.ko built/$cfg
 done
 
_______________________________________________
pld-devel-pl mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-devel-pl

Odpowiedź listem elektroniczym