Summary: | app-misc/lirc-0.9.0-r5 using lirc_serial doesn't compile with kernel 4.1.12 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Tom Dexter <digitalaudiorock> |
Component: | Current packages | Assignee: | Craig Andrews <candrews> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | candrews, proxy-maint |
Priority: | Normal | Keywords: | PATCH |
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
Patch for lirc-0.9.0-r5 lirc_serial for 4.1.12
Patch for lirc-0.9.0-r5 for kernel 4.0.5 for lirc_dev.c Minimal ebuild for lirc-0.9.2a and openrc init |
Description
Tom Dexter
2015-12-13 16:58:57 UTC
Created attachment 419130 [details, diff]
Patch for lirc-0.9.0-r5 for kernel 4.0.5 for lirc_dev.c
Just wow...I decided to do a little more digging to try and figure out exactly what that lirc_serial.c above even is. The first thing I discovered was that there was no such version anywhere in the lirc git repo at all. Anything I could find there appeared to be like the version currently in 0.9.0-r5, and anything past 0.9.1 no longer has any of this in the drivers directory at all. Finally I discovered that that's simply the exact version of lirc_serial.c that's apparently appeared in the kernel itself at drivers/staging/media/lirc/lirc_serial.c since (at least) kernel 4.0.5 apparently. Again...the patch is working fine for me but this has me totally confused. Is the approach in the newer versions of lirc that the actual support be enables in the kernel and that the lirc package just provides the daemon or something? Very confusing. Linux kernels starting somewhere around 3.0 have been carrying the physical drivers for most remote controls; to be honest it has imo rendered the lirc package nearly useless, at least from the perspective of any LIRC_DEVICES other than "userspace". I think anyone that's involved in maintaining this package should consider its future in terms of continuing to maintain the drivers, or just dropping them. Agreed. Correct me if I'm wrong, but it appears that the newer versions of lirc are mostly just a means of exposing the kernel drivers to userland via a socket using /usr/sbin/lircd. I see the the drivers directory isn't even really used apparently. I ended up compiling the lirc_serial support directly into my kernel (not as a module), and cobbling together a rather simple modified version of the 0.9.2a ebuild referenced here: https://bugs.gentoo.org/show_bug.cgi?id=515902 I'll probably attach it here for reference, but it's surely incomplete for many purposes. The primary differences between the mine and the one referenced there is that, rather than the systemd stuff he has in his, mine installs the openrc lircd init script and doesn't require anything in files that isn't already in the current files directory. In my case using lirc_serial it was surprisingly easy to get working. The only real difference in my case as far as configuration files was that I used the new /etc/lirc/lircd.conf format, which includes "lircd.conf.d/*.conf", and I put my existing remote config under lircd.conf.d. I sure won't miss recompiling lirc (or wondering if it in fact will) every time I upgrade my kernel. Created attachment 420780 [details]
Minimal ebuild for lirc-0.9.2a and openrc init
Is anyone willing to proxy maintain this package? https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers As of app-misc/lirc-0.9.4, lirc doesn't have LIRC_DEVICES or any kernel drivers (because, as stated in a previous comment, those are included in the kernel). So this issue is no longer relevant - please include whatever drivers you want/need using kernel configuration. |