Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
LIRC upgrade
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
Buffoon
Veteran
Veteran


Joined: 17 Jun 2015
Posts: 1369
Location: EU or US

PostPosted: Mon Jul 04, 2016 3:14 pm    Post subject: LIRC upgrade Reply with quote

I see new lirc-0.9.4 has all LIRC_DEVICES disabled. What is going on here?
Back to top
View user's profile Send private message
Buffoon
Veteran
Veteran


Joined: 17 Jun 2015
Posts: 1369
Location: EU or US

PostPosted: Tue Jul 05, 2016 6:37 pm    Post subject: Reply with quote

Ohh, with heavy heart I'm going to be the guinea pig myself ... will try and upgrade. If it breaks my working setup, who I have to blame?
Back to top
View user's profile Send private message
jd2066
Apprentice
Apprentice


Joined: 04 Jun 2006
Posts: 155

PostPosted: Mon Jul 11, 2016 2:48 am    Post subject: Re: LIRC upgrade Reply with quote

Buffoon wrote:
I see new lirc-0.9.4 has all LIRC_DEVICES disabled. What is going on here?

The LIRC_DEVICES variable is not disabled, it's completely removed from the 0.9.4 and 0.9.4a ebuilds as is the transmitter USE flag.
This means all devices are always enabled and it seems the IR Sending function is always disabled.
I just did an upgrade to lirc and didn't notice the problem and after merging it, my CommandIR device did not work at all.
I had to downgrade back to 0.9.0-r6 to have a working IR transmitter again.
I don't know why the new ebuilds are missing those options but until it's fixed, I will not be upgrading lirc again.

Edit: Looking at the new ebuilds, it seems all the patches, some configure options and some inherited eclasses like linux-mod were all removed for no apparent reason.
It seems like someone just gutted the 0.9.0-r6 ebuild, changed it to be simpler and use EAPI 6 instead of 4 and use that for the new version's ebuild.
It doesn't make any sense to me, why though.
Back to top
View user's profile Send private message
candrews
Developer
Developer


Joined: 10 Aug 2005
Posts: 162

PostPosted: Thu Jul 21, 2016 3:38 pm    Post subject: Reply with quote

LIRC_DEVICES is no longer necessary because upstream decided to always build support for all devices. In fact, they removed the ability to only build certain device support entirely. This change shouldn't impact you; the driver you used is still being built.

The transmitter use flag was removed for a similar reason. That use flag added a driver for a simple IR diode transmitter - it really should have been in LIRC_DEVICES, not a separate flag. In any case, upstream removed support for this device, so the use flag versus LIRC_DEVICES point is moot. Note that the transmitter use flag never controlled if transmitters in general were supported - it was always to enable support for a home made IR diode based transmitter. (The use flag was very confusing and misleading.)

The removal of inherited eclasses (such as linux-mod) was done because those eclasses aren't used. Remember, lirc has been around for a long time - back in the day, lirc used to build out of tree kernel modules then eventually that was upstreamed into the kernel. There was a lot of cruft from that, and other, factors in the ebuild that have finally been cleaned up. Upstream similarly has done a lot of cleanup.

Please do report bugs as you see fit at bugs.gentoo.org. Someone already reported the missing LIRC_DEVICES and transmitter use flag issues: https://bugs.gentoo.org/show_bug.cgi?id=588638
Back to top
View user's profile Send private message
jd2066
Apprentice
Apprentice


Joined: 04 Jun 2006
Posts: 155

PostPosted: Fri Jul 22, 2016 6:13 am    Post subject: Reply with quote

candrews wrote:
Please do report bugs as you see fit at bugs.gentoo.org. Someone already reported the missing LIRC_DEVICES and transmitter use flag issues: https://bugs.gentoo.org/show_bug.cgi?id=588638

That would be me, I wrote the forum post and then later realized that the Gentoo Bugzilla would be a better place to report this issue.
I meant to update my forum post but I forgot about it.

candrews wrote:
LIRC_DEVICES is no longer necessary because upstream decided to always build support for all devices. In fact, they removed the ability to only build certain device support entirely. This change shouldn't impact you; the driver you used is still being built.

The transmitter use flag was removed for a similar reason. That use flag added a driver for a simple IR diode transmitter [...] (The use flag was very confusing and misleading.)

After you replied to my bug report, I looked at documentation at lirc.org and figured out that you are correct.
The one thing that wasn't really explained there was how lircd figures out which of the drivers to load.
I figured out that I could pass the -H option to lircd to specify which driver I wanted (though I'm still not sure how lircd decides what driver to load without the -H option).
When using the openrc init script, this required adding LIRCD_OPTS="-H commandir" to /etc/conf.d/lircd.
It would be helpful if the ebuild had a notice saying that instead of using LIRC_DEVICES with the drivers you want, that all will be built and the one you use should be passed to lircd with the -H option.

On the transmitter USE flag, I seem to recall reading about it being needed for any transmitter support on a wiki page or something.
I think it was around 2006 that I first used lirc so I may have remembered wrong or the flag just confused the author of that wiki page too.

candrews wrote:

The removal of inherited eclasses (such as linux-mod) was done because those eclasses aren't used. Remember, lirc has been around for a long time - back in the day, lirc used to build out of tree kernel modules then eventually that was upstreamed into the kernel. There was a lot of cruft from that, and other, factors in the ebuild that have finally been cleaned up. Upstream similarly has done a lot of cleanup.

If I understand you correctly, the lircd ebulild doesn't need to build kernel modules as those kernel modules are now included in the kernel.
That makes since.

When I first installed lirc 0.9.4a, I noticed the removal of the use flags, the socket path was not correct and irsend said the hardware didn't support transmitting.
I then looked at the ebuild and when I saw many changes from the last version and knowing how important LIRC_DEVICES was before (with modules not being dynamically loaded like the newer lirc version does, it sometimes lead to conflicts between the drivers), I thought the ebuild was broken.

I've now found that the ebuild only had mirror issues such not specifying the correct socket path.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum