Package: ndiswrapper-source Version: 1.54-1 Severity: important Tags: upstream, patch
Trying to build ndiswrapper-source 1.54(-1) against kernel 2.6.29 fails with the following error messages: /usr/bin/make -C /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper KBUILD=/usr/src/linux-headers-2.6.29-rc8-sidux-amd64 make[3]: Entering directory `/tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper' /usr/bin/make -C /usr/src/linux-headers-2.6.29-rc8-sidux-amd64 M=/tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper make[4]: Entering directory `/usr/src/linux-headers-2.6.29-rc8-sidux-amd64' LD /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/built-in.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/crt_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/crt.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/hal_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/hal.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/iw_ndis.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/loader.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ndis_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ndis.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ntoskernel_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ntoskernel.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ntoskernel_io_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/ntoskernel_io.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/pe_linker.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/pnp.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/proc.o MKEXPORT /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/rtl_exports.h CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/rtl.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapmem.o CC [M] /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapndis.o /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapndis.c:1747: error: unknown field 'poll_controller' specified in initializer /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapndis.c:1747: warning: initialization from incompatible pointer type /tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapndis.c:1747: error: expected '}' before ';' token make[5]: *** [/tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper/wrapndis.o] Error 1 make[4]: *** [_module_/tmp/buildd/linux-modules-sidux-main-2.6-2.6.29~rc8.git3/debian/build/build_amd64_none_sidux-amd64_ndiswrapper] Error 2 make[4]: Leaving directory `/usr/src/linux-headers-2.6.29-rc8-sidux-amd64' (yes, this still happens with the final 2.6.29) The reason for this is actually two-fold, on the one hand the field name is wrong, .poll_controller should be .ndo_poll_controller, on the other hand a syntax error sneaked into the netdev_ops conditional (; instead of ,) which only triggers on kernel >= 2.6.29. fix C syntax error and field name in conditional netdev ops struct, triggering on kernel >= 2.6.29 and CONFIG_NET_POLL_CONTROLLER=y. Signed-off-by: Stefan Lippers-Hollmann <[email protected]> --- a/driver/wrapndis.c +++ b/driver/wrapndis.c @@ -1744,7 +1744,7 @@ static const struct net_device_ops ndis_ .ndo_set_mac_address = ndis_set_mac_address, .ndo_get_stats = ndis_get_stats, #ifdef CONFIG_NET_POLL_CONTROLLER - .poll_controller = ndis_poll_controller; + .ndo_poll_controller = ndis_poll_controller, #endif }; #endif A complete debdiff is attached, build (amd64/ i386) and runtime (i386, SiS 163u) tested against 2.6.29 (the change is inside an >= 2.6.29 ifdef, so it has no effect on <=2.6.28). Regards Stefan Lippers-Hollmann -- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Kernel: Linux 2.6.29-0.slh.1-sidux-amd64 (SMP w/4 CPU cores; PREEMPT) Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ndiswrapper-source depends on: ii bzip2 1.0.5-1 high-quality block-sorting file co ii debhelper 7.2.6 helper programs for debian/rules ii module-assistant 0.10.11.0 tool to make module package creati ndiswrapper-source recommends no packages. Versions of packages ndiswrapper-source suggests: ii kernel-package 11.017 A utility for building Linux kerne -- no debconf information
diff -u ndiswrapper-1.54/debian/rules ndiswrapper-1.54/debian/rules --- ndiswrapper-1.54/debian/rules +++ ndiswrapper-1.54/debian/rules @@ -1,22 +1,23 @@ #!/usr/bin/make -f +include /usr/share/quilt/quilt.make # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 build: build-indep build-arch build-indep: build-indep-stamp -build-indep-stamp: +build-indep-stamp: $(QUILT_STAMPFN) touch $@ build-arch: build-arch-stamp -build-arch-stamp: +build-arch-stamp: $(QUILT_STAMPFN) dh_testdir $(MAKE) -C utils touch $@ -clean: +clean: unpatch dh_testdir dh_testroot diff -u ndiswrapper-1.54/debian/control ndiswrapper-1.54/debian/control --- ndiswrapper-1.54/debian/control +++ ndiswrapper-1.54/debian/control @@ -4,7 +4,7 @@ Maintainer: Julian Andres Klode <[email protected]> Uploaders: Kel Modderman <[email protected]> Standards-Version: 3.8.1 -Build-Depends: debhelper (>= 5), bzip2 +Build-Depends: debhelper (>= 5), bzip2, quilt Homepage: http://ndiswrapper.sourceforge.net/ Package: ndiswrapper-common only in patch2: unchanged: --- ndiswrapper-1.54.orig/debian/patches/fix-typo-in-netdev-ops-struct.patch +++ ndiswrapper-1.54/debian/patches/fix-typo-in-netdev-ops-struct.patch @@ -0,0 +1,16 @@ +fix C syntax error and field name in conditional netdev ops struct, +triggering on kernel >= 2.6.29 and CONFIG_NET_POLL_CONTROLLER=y. + +Signed-off-by: Stefan Lippers-Hollmann <[email protected]> + +--- a/driver/wrapndis.c ++++ b/driver/wrapndis.c +@@ -1744,7 +1744,7 @@ static const struct net_device_ops ndis_ + .ndo_set_mac_address = ndis_set_mac_address, + .ndo_get_stats = ndis_get_stats, + #ifdef CONFIG_NET_POLL_CONTROLLER +- .poll_controller = ndis_poll_controller; ++ .ndo_poll_controller = ndis_poll_controller, + #endif + }; + #endif only in patch2: unchanged: --- ndiswrapper-1.54.orig/debian/patches/series +++ ndiswrapper-1.54/debian/patches/series @@ -0,0 +1 @@ +fix-typo-in-netdev-ops-struct.patch
signature.asc
Description: This is a digitally signed message part.

