inputlirc doesn't work with irexec from lirc 0.8.6

Bug #581420 reported by Ben Lings
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
inputlirc (Ubuntu)
New
Undecided
Unassigned
Nominated for Lucid by Ben Lings

Bug Description

Binary package hint: inputlirc

$ lsb_release -rd
Description: Ubuntu 10.04 LTS
Release: 10.04

$ apt-cache policy inputlirc
inputlirc:
  Installed: 16-1
  Candidate: 16-1
  Version table:
 *** 16-1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid/universe Packages
        100 /var/lib/dpkg/status

$ apt-cache policy lirc
lirc:
  Installed: 0.8.6-0ubuntu4.1
  Candidate: 0.8.6-0ubuntu4.1
  Version table:
 *** 0.8.6-0ubuntu4.1 0
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid-updates/main Packages
        100 /var/lib/dpkg/status
     0.8.6-0ubuntu4 0
        500 http://gb.archive.ubuntu.com/ubuntu/ lucid/main Packages

I set up inputlirc and this was working correctly (with MythTV frontend). IrExec wouldn't start.

inputlirc by default creates the LIRC socket in /dev/lircd. Since 0.8.6, LIRC creates the socket in /var/run/lirc/lircd and irexec expects to connect to the socket in this location.

I've worked around the problem by making the following changes:

diff --git a/default/inputlirc b/default/inputlirc
index 34b8847..2bff0fb 100644
--- a/default/inputlirc
+++ b/default/inputlirc
@@ -1,3 +1,3 @@
 # Options to be passed to inputlirc.
 EVENTS="/dev/input/by-id/usb-HOLTEK_YaoCoo-event-kbd"
-OPTIONS="-m0 -c -g -r 253"
+OPTIONS="-m0 -c -g -r 253 -d/var/run/lirc/lircd"
diff --git a/init.d/inputlirc b/init.d/inputlirc
index 0f7cc66..7cbcdac 100755
--- a/init.d/inputlirc
+++ b/init.d/inputlirc
@@ -20,8 +20,10 @@ test -x $DAEMON || exit 0

 case "$1" in
   start)
+ [ -d /var/run/lirc ] || mkdir -p /var/run/lirc
     echo "Starting $DESC"
     start-stop-daemon --exec $DAEMON --start -- $OPTIONS $EVENTS
+ rm -f /dev/lircd && ln -s /var/run/lirc/lircd /dev/lircd
   ;;
   stop)
     echo "Stopping $DESC"

I've copied the logic for this from the /etc/init.d/lirc script. This makes inputlircd create its socket in /var/run/lirc/lircd and then creates a symlink for compatibility in the old location. (Other apps, eg. MythFrontend expect the socket in the old location).

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.