Dave Jones schrieb: > On Mon, Apr 30, 2007 at 07:09:31PM +0200, Thorsten Leemhuis wrote: > > > And sure, I fully understand that compiling a external module might > > break if the API that gets used changes between x, (x+1)-rc1 and (x+1). > > But that doesn't happen that often. > Exactly the opposite, the bulk of the changes happen between x and x+1-rc1 > It's neither .20, nor .21 at that point. Argh, my wording was bad. Sure I know that it's changing a lot between X and x+1-rc1. But it doesn't happen often that it changes twice (what was what I was up to). To get back to the specific example to show the annoying problem of the Fedora packaging in more detail: Download madwifi 0.93 from http://sourceforge.net/project/downloading.php?group_id=82936&use_mirror=switch&filename=madwifi-0.9.3.tar.bz2&2919227 Extract it and run this to not get confused by a different problem: sed -i 's|COPTS+=.*-Werror||' Makefile.inc Madwifi 0.93 includes a adjustment that was integrated weeks ago (e.g. weeks before 2.6.21 even was released) to make it compile with both 2.6.20 and 2.6.21. See include/compat.h ; relevant part: #include <linux/version.h> #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21) #define ATH_REGISTER_SYSCTL_TABLE(t) register_sysctl_table(t, 1) #else #define ATH_REGISTER_SYSCTL_TABLE(t) register_sysctl_table(t) #endif Compiling it against a recent 2.6.21 kernel from rawhide works just fine: > $ LC_ALL=C make KERNELPATH=/usr/src/kernels/2.6.21-1.3116.fc7-i686/ KERNELRELEASE=2.6.21-1.3116.fc7 UUDECODE=/usr/bin/uudecode modules > Checking requirements... ok. > Checking kernel configuration... ok. > make -C /usr/src/kernels/2.6.21-1.3116.fc7-i686/ SUBDIRS=/home/thl/tmp/madwifi-0.9.3 modules > make[1]: Entering directory `/usr/src/kernels/2.6.21-1.3116.fc7-i686' > CC [M] /home/thl/tmp/madwifi-0.9.3/ath/if_ath.o [...] > LD [M] /home/thl/tmp/madwifi-0.9.3/net80211/wlan_wep.ko > CC /home/thl/tmp/madwifi-0.9.3/net80211/wlan_xauth.mod.o > LD [M] /home/thl/tmp/madwifi-0.9.3/net80211/wlan_xauth.ko > make[1]: Leaving directory `/usr/src/kernels/2.6.21-1.3116.fc7-i686' > $ echo $? > 0 Compiling it against the kernel from test4, which is nearly the same as the final 2.6.21, fails, because Fedora is playing stupid tricks with version in Makefile: > $ LC_ALL=C make KERNELPATH=/usr/src/kernels/2.6.20-1.3104.fc7-i686/ KERNELRELEASE=2.6.20-1.3104.fc7 UUDECODE=/usr/bin/uudecode modules > Checking requirements... ok. > Checking kernel configuration... ok. > make -C /usr/src/kernels/2.6.20-1.3104.fc7-i686/ SUBDIRS=/home/thl/tmp/madwifi-0.9.3 modules > make[1]: Entering directory `/usr/src/kernels/2.6.20-1.3104.fc7-i686' > CC [M] /home/thl/tmp/madwifi-0.9.3/ath/if_ath.o > cc1: warnings being treated as errors > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c: In function 'ath_sysctl_halparam': > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c:9315: warning: comparison of unsigned expression < 0 is always false > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c:9327: warning: comparison of unsigned expression < 0 is always false > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c:9337: warning: comparison of unsigned expression < 0 is always false > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c: In function 'ath_dynamic_sysctl_register': > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c:9600: error: too many arguments to function 'register_sysctl_table' > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c: In function 'ath_sysctl_register': > /home/thl/tmp/madwifi-0.9.3/ath/if_ath.c:9754: error: too many arguments to function 'register_sysctl_table' > make[3]: *** [/home/thl/tmp/madwifi-0.9.3/ath/if_ath.o] Error 1 > make[2]: *** [/home/thl/tmp/madwifi-0.9.3/ath] Error 2 > make[1]: *** [_module_/home/thl/tmp/madwifi-0.9.3] Error 2 > make[1]: Leaving directory `/usr/src/kernels/2.6.20-1.3104.fc7-i686' > make: *** [modules] Error 2 This is just annoying, makes life harder for packagers of kernel-modules in 3rd party repos and confuses users a lot. For no good reason IMHO. CU thl _______________________________________________ Fedora-kernel-list mailing list Fedora-kernel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-kernel-list