retitle 588027 lirc_i2c fails to build against linux >= 2.6.32 reassign 588027 lirc-modules-source severity 588027 important thanks
Hi On Monday 12 July 2010, Peter Baumann wrote: > Package: lirc No, there isn't any problem with 'lirc', all of its 41 userspace drivers are still working fine. The "only" problem is with the lirc_i2c module in 'lirc-modules-source'; reassigning accordingly. > Version: 0.8.3-5 > Severity: grave > Justification: renders package unusable > > Trying to build lirc-modules-source with m-a fails with the following > compile error. This renders the package unusable and unappropriate for > squeeze. One (lirc_i2c) module out of 14 fails to build against 2.6.32, while this needs to be fixed urgently, I don't consider it to "render[s] the package unusable and unappropriate for squeeze" for all users and (even common) configurations. Even less, as building lirc_i2c can be disabled through debconf. Therefore I'm downgrading the severity of this bug from RC to "important". $ dpkg --contents lirc-modules-2.6.32-5-686_0.8.3-5+2.6.32-17_i386.deb | grep lib\\/modules.*ko$ -rw-r--r-- root/root 5916 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_bt829.ko -rw-r--r-- root/root 15437 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_sasem.ko -rw-r--r-- root/root 10813 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_igorplugusb.ko -rw-r--r-- root/root 13332 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_streamzap.ko -rw-r--r-- root/root 23638 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_atiusb.ko -rw-r--r-- root/root 9592 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_cmdir.ko -rw-r--r-- root/root 12592 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_mceusb.ko -rw-r--r-- root/root 18103 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_mceusb2.ko -rw-r--r-- root/root 15167 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/commandir.ko -rw-r--r-- root/root 18491 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_imon.ko -rw-r--r-- root/root 18757 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_serial.ko -rw-r--r-- root/root 11831 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_sir.ko -rw-r--r-- root/root 16454 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_dev.ko -rw-r--r-- root/root 15599 2010-07-12 00:22 ./lib/modules/2.6.32-5-686/misc/lirc_it87.ko Yes, I'm aware that this situation becomes worse in kernels >> 2.6.32, like those present in experimental and that lirc needs to be fixed. However this situation isn't as easy as it looks: - the most current lirc upstream version needs patching for kernel >= 2.6.32 support just as well (done in svn); 0.8.7 hasn't been released yet. - 'lirc' >= 0.8.6 introduces an FTBS on kfreebsd-{amd64,i386} (not fixed yet) - lirc >= 0.8.6 breaks the long standing ABI between kernel- and userspace, therefore upgrades affecting 'lirc' and 'lirc-modules-$(uname -r) must happen in lockstep (which doesn't seem to be easily expressable in packaging terms). - serious debconf refactoring is still pending, to meet 3.9.0 policy requirements (started in svn, but not finished yet). Any help with these issues is always seriously appreciated, especially in regards to the mandatory debconf changes - which is the most blocking sub-topic (and also preventing yet another 0.8.3 upload). > sudo m-a --verbose --text-mode build lirc [...] > # build module > /usr/bin/make -C /usr/src/modules/lirc-modules > KSRC=/lib/modules/2.6.32-5-amd64/build > make[2]: Entering directory `/usr/src/modules/lirc-modules' > /usr/bin/make -C /lib/modules/2.6.32-5-amd64/build > SUBDIRS=/usr/src/modules/lirc-modules modules > make[3]: Entering directory `/usr/src/linux-headers-2.6.32-5-amd64' > CC [M] /usr/src/modules/lirc-modules/lirc_dev.o > CC [M] /usr/src/modules/lirc-modules/lirc_i2c.o > /usr/src/modules/lirc-modules/lirc_i2c.c:399: error: unknown field ‘id’ > specified in initializer > /usr/src/modules/lirc-modules/lirc_i2c.c:399: warning: initialization makes > pointer from integer without a cast > make[6]: *** [/usr/src/modules/lirc-modules/lirc_i2c.o] Error 1 [...] If you don't need lirc_i2c for your hardware, you could disable it through "dpkg-reconfigure lirc-modules-source" (however debconf selection of kernel modules will be dropped in future versions). Alternatively the following patch would fix kernel 2.6.32 compatibility for lirc_i2c in lirc-modules-source 0.8.3-5 (tested on i386 and default module selection): --- a/drivers/lirc_i2c/lirc_i2c.c +++ b/drivers/lirc_i2c/lirc_i2c.c @@ -399,8 +399,8 @@ static struct i2c_driver driver = { .name = "i2c ir driver", }, #endif - .id = I2C_DRIVERID_EXP3, /* FIXME */ #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 31) + .id = I2C_DRIVERID_EXP3, /* FIXME */ .attach_adapter = ir_probe, .detach_client = ir_remove, #else Regards Stefan Lippers-Hollmann
signature.asc
Description: This is a digitally signed message part.