JayFoxRox / lirc-xboxlibusb

LIRC with support for Xbox DVD Movie Playback Kit
MIT License
2 stars 0 forks source link

Convert to out-of-tree build. #1

Open leamas opened 5 years ago

leamas commented 5 years ago

Hi!

New plugins are always welcome. That said, I think the best path for this plugin for now would be to build it out of tree, to decouple it from the main lirc. This way users can install it without rebuilding lirc, and since most users use the packaged versions rebuilding is a major headache.

There are some notes on building drivers out of tree in the drivers/default directory, including a README and an example Makefile. Some more info is in the very end of http://lirc.org/api-docs/html/group__driver__manual.html

Yes, I wrote this somewhere else - I just lost track of where...

JayFoxRox commented 5 years ago

(You also wrote it at https://github.com/JayFoxRox/lirc-xboxlibusb/commit/67a8cc4288e58c124c4b32e50ef41d2d85992623#commitcomment-30749550)


I did consider an out-of-tree build, but I don't think I'd even use it myself then. Distribution would be my responsibility then, and it's hard to attract new users, and even harder to find maintainers / packagers who package it for each distribution.

I only care about having it work out-of-the-box on new installs, and having to write my own install scripts for various package managers (or bypassing packet managers) is not an option - lirc is already well packaged and sometimes even pre-installed. The way I host my lirc fork currently, it's enough for me to edit the source URL in existing lirc-git packages to have a working lirc. I was hoping this is a temporary hack until the plugin is upstreamed.


Instead of moving it out-of-tree, I'd probably rather write my own small Python program using libusb and uinput; maybe also plirc. At least I could easily distribute it through pip for all platforms.

I also did consider writing a linux kernel driver instead, but currently don't have time to do that; so I chose to make the lirc plugin, as it was the best fit for ease of install.

In fact, both of these (Python script and Linux kernel driver), will probably happen eventually - so having a lirc plugin was actually meant as a short-term solution; if it won't be upstreamed in the next couple of weeks, then I'll just start work on the other solutions and ditch lirc entirely.