[Pkg-lirc-maint] Bug#617523: Please change the default socket location to /var/run/lirc/lircd
Stefan Lippers-Hollmann
s.L-H at gmx.de
Wed Mar 9 15:43:40 UTC 2011
Package: inputlirc
Version: 16-1
Severity: important
Tags: patch sid
X-Debbugs-CC: pkg-lirc-maint at lists.alioth.debian.org
Hi
lirc >= 0.8.6 changed the default, and expected by liblircclient0,
socket location from /dev/lircd to /var/run/lirc/lircd.
--- lirc-0.8.5/ChangeLog
+++ lirc-0.8.6/ChangeLog
[...]
+2009-05-24 lirc <lirc at m320>
+
+ * TODO: cleanup
+
+ * NEWS, configure.ac, contrib/lirc.m4, doc/html-source/configure.html, doc/html-source/install.html, doc/html-source/technical.html, doc/man-source/irsend.inc, doc/man-source/irw.inc, doc/man-source/lircd.inc:
+ moved lircd socket from /dev/lircd to /var/run/lirc/lircd,
+ moved default pid file location from /var/run/lircd.pid to /var/run/lirc/lircd.pid
+
+ * NEWS, daemons/config_file.h, daemons/ir_remote.c, daemons/ir_remote.h, daemons/ir_remote_types.h, daemons/receive.c, daemons/transmit.c, remotes/generic/XMP:
+ added support for XMP protocol
+
+ * ANNOUNCE, NEWS, configure.ac, doc/html-source/foot.html, doc/html-source/index.html, setup.sh:
+ started 0.8.6 development
+
2009-05-21 lirc <lirc at m320>
While /etc/init.d/lirc retains compatibility with old clients by
creating a symlink from /dev/lircd to the new /var/run/lirc/lircd, this
is not represented by inputlirc, which thereby breaks clients using
liblircclient0 >= 0.8.6 (0.9.0~pre1-1) to access the socket. Given that
this change is established upstream (lirc) and in several distributions
for almost 2 years already, I'd suggest adapting inputlirc instead of
reverting lirc to use /dev/lircd again - especially as the socket
doesn't really belong under /dev/. Ideally the compatibility symlink
can also be dropped after, maybe even before, wheezy gets released, as
only two packages in Debian/ unstable (audacious-plugins and irmp3)
hardcode /dev/lircd for build-time feature detection, while none
(except inputlirc) hardcode it at runtime.
Please consider applying something equivalent to the attached patch, as
lirc >= 0.9~ is required for using kernel driven remotes in combination
with linux-2.6 >= 2.6.36 and would ideally migrate with linux-2.6
2.6.37 to testing. Please refer to #617417 for further information
about the breakage, I'll add an according versioned Breaks to inputlirc
in liblircclient0, to allow a smooth transition for testing/ wheezy.
switch default socket location to /var/run/lirc/lircd
Starting with liblircclient0 >= 0.8.6, the default socket location for
lirc has moved to /var/run/lirc/lircd, this adapts inputlirc to follow
that precedence by retaining compatibility to old clients.
Signed-off-by: Stefan Lippers-Hollmann <s.l-h at gmx.de>
---
debian/changelog | 8 ++++++++
debian/control | 2 +-
debian/inputlirc.init | 6 ++++++
inputlircd.8 | 4 ++--
inputlircd.c | 2 +-
5 files changed, 18 insertions(+), 4 deletions(-)
diff -u a/debian/changelog b/debian/changelog
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+inputlirc (16-1+nmu1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * switch default socket location to /var/run/lirc/lircd, as needed by
+ liblircclient0 >= 0.8.6, by retaining compatibility with old clients.
+
+ -- Stefan Lippers-Hollmann <s.l-h at gmx.de> Wed, 09 Mar 2011 15:50:38 +0100
+
inputlirc (16-1) unstable; urgency=low
* New upstream release.
diff -u a/debian/control b/debian/control
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@
Package: inputlirc
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, liblircclient0 (>= 0.8.6)
Suggests: lirc, input-utils
Description: Zeroconf LIRC daemon using input event devices
This is a small LIRC-compatible daemon that reads from /dev/input/eventX
only in patch2:
unchanged:
diff -u a/debian/inputlirc.init b/debian/inputlirc.init
--- a/debian/inputlirc.init
+++ b/debian/inputlirc.init
@@ -21,7 +21,13 @@
case "$1" in
start)
echo "Starting $DESC"
+ [ -d "/var/run/lirc" ] || mkdir -p "/var/run/lirc"
start-stop-daemon --exec $DAEMON --start -- $OPTIONS $EVENTS
+
+ # retain compatibility with old clients
+ if [ -S "/var/run/lirc/lircd" ] && [ "/dev/lircd" != "/var/run/lirc/lircd" ]; then
+ rm -f /dev/lircd && ln -s /var/run/lirc/lircd /dev/lircd
+ fi
;;
stop)
echo "Stopping $DESC"
--- a/inputlircd.c
+++ b/inputlircd.c
@@ -62,7 +62,7 @@
static bool grab = false;
static int key_min = 88;
-static char *device = "/dev/lircd";
+static char *device = "/var/run/lirc/lircd";
static bool capture_modifiers = false;
static bool meta = false;
only in patch2:
unchanged:
--- a/inputlircd.8
+++ b/inputlircd.8
@@ -33,7 +33,7 @@
.It Fl d Ar socket
Location of the UNIX socket to which LIRC clients can connect.
The default is
-.Pa /dev/lircd .
+.Pa /var/run/lirc/lircd .
.It Fl f
Run in the foreground.
.It Fl c
@@ -97,7 +97,7 @@
.El
.Sh FILES
.Bl -tag -width indent
-.It Pa /dev/lircd
+.It Pa /var/run/lirc/lircd
Default location of the UNIX socket to which LIRC clients can connect.
.It Pa /dev/input/event Ns X
The kernel input layer's event device files.
--
Met vriendelijke groet,
Stefan Lippers-Hollmann
-- System Information:
Debian Release: wheezy/sid
APT prefers unstable
APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.38-rc8-aptosid-amd64 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages inputlirc depends on:
ii libc6 2.11.2-13 Embedded GNU C Library: Shared lib
inputlirc recommends no packages.
Versions of packages inputlirc suggests:
ii input-utils 0.0.20081014-1 utilities for the input layer of t
ii lirc 0.9.0~pre1-1 infra-red remote control support
-- no debconf information
More information about the Pkg-lirc-maint
mailing list