epel8
Alec Leamas 8 years ago
parent baf33aa807
commit 6734307363

1
.gitignore vendored

@ -15,3 +15,4 @@ lirc-0.8.7pre2.tar.bz2
/lirc-0.9.4a.tar.gz /lirc-0.9.4a.tar.gz
/lirc-0.9.4b.tar.gz /lirc-0.9.4b.tar.gz
/lirc-0.9.4c.tar.gz /lirc-0.9.4c.tar.gz
/lirc-0.10.0.tar.gz

@ -1,25 +0,0 @@
From 94a67d9d3debf63affaa679971fafa304a6929d1 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sat, 22 Oct 2016 16:53:48 +0200
Subject: [PATCH 01/10] plugins: girs.c: Default device typo fix.
---
plugins/girs.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/plugins/girs.c b/plugins/girs.c
index 4bc1461..f722348 100644
--- a/plugins/girs.c
+++ b/plugins/girs.c
@@ -55,7 +55,7 @@
"/bin/sh ls /dev/ttyACM* /dev/ttyUSB* /dev/arduino* 2>/dev/null"
#define DRIVER_NAME "girs"
-#define DEFAULT_DEVICE "/dev/ttyAMC0"
+#define DEFAULT_DEVICE "/dev/ttyACM0"
#define DRIVER_RESOLUTION 50
#define DRIVER_VERSION "2016-08-19"
--
2.5.5

@ -1,46 +0,0 @@
From ff0d431cbed74a2495b78dedce8f74f2b5a436ea Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 23 Oct 2016 15:07:21 +0200
Subject: [PATCH 02/10] configure: Fix cross-compilation error (#233).
---
configure.ac | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/configure.ac b/configure.ac
index a041571..20933a8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -305,6 +305,19 @@ AC_RUN_IFELSE([AC_LANG_PROGRAM([[
AC_MSG_RESULT(yes)
],[
AC_MSG_RESULT(no)
+],[
+ case x$HAVE_WORKING_POLL in
+ xyes)
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_POLL_FINE)
+ ;;
+ xno)
+ AC_MSG_RESULT(no)
+ ;;
+ *) AC_MSG_ERROR([
+ Define HAVE_WORKING_POLL to "yes" or "no" when cross-compiling])
+ ;;
+ esac
])
@@ -429,6 +442,9 @@ AC_ARG_ENABLE([python3_fix],
[enable_python3_fix="no"])
AM_CONDITIONAL(NEED_PYTHON3, [test "x$enable_python3_fix" = "xyes"])
+AC_ARG_VAR(HAVE_WORKING_POLL,[
+ On cross-compile: Target has a working poll(2) implementation])
+
suffix=$(echo "$VERSION" | sed 's/.*-//')
AM_CONDITIONAL(DEVEL, [test x$suffix = xdevel])
--
2.5.5

@ -1,55 +0,0 @@
From f86da92490ff32465a1aba8754c0c856191e6907 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 23 Oct 2016 15:45:52 +0200
Subject: [PATCH 03/10] build: lirc.h: Configure includes in lirc.h (#234).
Fall back to sys/ioctl.h instead of linux/ioctl.h etc. on
non-linux platform i. e., MacOS.
---
configure.ac | 5 +++--
include/media/lirc.h | 11 +++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/configure.ac b/configure.ac
index 20933a8..cde9813 100644
--- a/configure.ac
+++ b/configure.ac
@@ -48,8 +48,9 @@ LIBUSB_CONFIG="pkg-config libusb"
dnl Checks for header files.
AC_HEADER_STDC
AC_HEADER_TIME
-AC_CHECK_HEADERS([fcntl.h limits.h poll.h sys/ioctl.h sys/poll.h sys/time.h ])
-AC_CHECK_HEADERS([syslog.h unistd.h util.h libutil.h pty.h])
+AC_CHECK_HEADERS([fcntl.h limits.h linux/ioctl.h poll.h sys/ioctl.h \
+ sys/poll.h sys/time.h syslog.h unistd.h util.h \
+ libutil.h pty.h])
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
diff --git a/include/media/lirc.h b/include/media/lirc.h
index 991ab45..84af7ed 100644
--- a/include/media/lirc.h
+++ b/include/media/lirc.h
@@ -6,8 +6,19 @@
#ifndef _LINUX_LIRC_H
#define _LINUX_LIRC_H
+#include <config.h>
+
+#ifdef HAVE_LINUX_TYPES_H
#include <linux/types.h>
+#else
+#include <sys/types.h>
+#endif
+
+#ifdef HAVE_LINUX_IOCTL_H
#include <linux/ioctl.h>
+#else
+#include <sys/ioctl.h>
+#endif
#define PULSE_BIT 0x01000000
#define PULSE_MASK 0x00FFFFFF
--
2.5.5

@ -1,104 +0,0 @@
From c3e65dd45ece8ac328332c63b8009cd1f77a2ca4 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 23 Oct 2016 17:10:26 +0200
Subject: [PATCH 04/10] lirc.org: Clean up distribution links, bugfixes.
---
doc/html-source/configure.html | 1 +
doc/lirc.org/index.html | 54 +++++++++++++++++++++++++++---------------
2 files changed, 36 insertions(+), 19 deletions(-)
diff --git a/doc/html-source/configure.html b/doc/html-source/configure.html
index 7c01b3d..feb7d41 100644
--- a/doc/html-source/configure.html
+++ b/doc/html-source/configure.html
@@ -60,6 +60,7 @@
<p>
<H3> uinput and effective user </h3>
+ <p>
If your distribution does not have uinput enabled by default
(i. e., there is a /dev/uinput device) add to the file /etc/modules
the entry: </p>
diff --git a/doc/lirc.org/index.html b/doc/lirc.org/index.html
index 93cecf7..7b4ab21 100644
--- a/doc/lirc.org/index.html
+++ b/doc/lirc.org/index.html
@@ -96,7 +96,7 @@
</P>
<UL CLASS="menu">
<li>The latest version of LIRC can be downloaded from
- <A HREF="http://sourceforge.net/projects/lirc/files/LIRC/0.9.4b">
+ <A HREF="http://sourceforge.net/projects/lirc/files/LIRC/0.9.4c">
SourceForge</a></li>
<li>Other, unmaintained programs such as xrc and xirw
as well as older LIRC version can also be found on
@@ -104,6 +104,39 @@
SourceForge</A></li>
</UL>
<BR>
+ <!-- Linux distributions w LIRC -->
+ <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
+ CELLPADDING="0" SUMMARY="">
+ <TR>
+ <TD CLASS="menuhead">
+ Linux distributions packaging LIRC
+ </TD>
+ </TR>
+ </TABLE>
+ <UL TYPE="SQUARE">
+ <LI><A HREF="https://www.archlinux.org/">Arch Linux</A></LI>
+ <LI><A HREF="http://www.debian.org/">Debian</A></LI>
+ <LI><A HREF="http://www.fedoraproject.org/">Fedora</A></LI>
+ <LI><A HREF="http://www.gentoo.org/">Gentoo</A></LI>
+ <LI><A HREF="http://www.mandrivalinux.com">Mandriva(Previously Mandrake)</A></LI>
+ <LI><A HREF="http://www.redhat.com/">RedHat</A></LI>
+ <LI><A HREF="http://www.slackware.com/">Slackware</A>
+ - the mother of all Distributions
+ </LI>
+ <LI><A HREF="http://www.suse.de/">SUSE.</A></LI>
+ <LI><A HREF="http://www.ubuntu.com/">Ubuntu</A></LI>
+ </UL>
+ <TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
+ CELLPADDING="0" SUMMARY="">
+ <TR>
+ <TD CLASS="menuhead"> MacOS builds </TD>
+ </TR>
+ </TABLE>
+ <UL TYPE="SQUARE">
+ <LI><A HREF="https://www.macports.org/ports.php?by=name&substr=lirc">
+ MacPorts
+ </A></LI>
+ </UL>
<!-- Hardware -->
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
@@ -286,24 +319,7 @@
<LI><A HREF="http://www.kernel.org/">www.kernel.org</A> - Linux Kernel Website</LI>
<LI><A HREF="http://www.freshmeat.net/">www.freshmeat.net</A> - A great place for searching for Linux Applications</LI>
</UL>
- <FONT SIZE="+1" COLOR="#FFFFFF">
- Linux Distributions Packaging LIRC
- </FONT>
- <UL TYPE="SQUARE">
- <LI><A HREF="http://www.slackware.com/">Slackware</A> - the mother of all Distributions</LI>
- <LI><A HREF="http://www.redhat.com/">RedHat</A></LI>
- <LI><A HREF="http://www.debian.org/">Debian</A></LI>
- <LI><A HREF="http://www.ubuntu.com/">Ubuntu</A></LI>
- <LI><A HREF="http://www.fedoraproject.org/">Fedora</A></LI>
- <LI><A HREF="http://www.gentoo.org/">Gentoo</A></LI>
- <LI><A HREF="http://www.suse.de/">SUSE.</A></LI>
- <LI><A HREF="http://www.mandrivalinux.com">Mandriva(Previously Mandrake)</A></LI>
- <LI><A HREF="https://www.archlinux.org/">Arch Linux</A></LI>
- <LI><A HREF="https://www.macports.org/ports.php?by=name&substr=lirc">
- MacOS - MacPorts
- </A></LI>
- </UL>
- </DIV>
+ </DIV>
<TABLE WIDTH="100%" BORDER="0" CELLSPACING="0"
CELLPADDING="0" SUMMARY="">
--
2.5.5

@ -1,35 +0,0 @@
From 33c40d127877179e0cba2f6595816377bb6bcda1 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Tue, 25 Oct 2016 10:28:14 +0200
Subject: [PATCH 05/10] lib: curl_poll.h: Ensure build on unconfiguredclients.
---
lib/curl_poll.h | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/lib/curl_poll.h b/lib/curl_poll.h
index 6144c42..af25381 100644
--- a/lib/curl_poll.h
+++ b/lib/curl_poll.h
@@ -21,7 +21,9 @@
* KIND, either express or implied.
*
***************************************************************************/
+#ifdef HAVE_CONFIG_H
#include "config.h"
+#endif
#ifdef __cplusplus
extern "C" {
@@ -29,7 +31,7 @@ extern "C" {
#ifdef HAVE_SYS_POLL_H
#include <sys/poll.h>
-#elif defined(HAVE_POLL_H)
+#else
#include <poll.h>
#endif
--
2.5.5

@ -1,23 +0,0 @@
From 916a48ffcb9f1c259a0fc778a2de1be729423092 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Tue, 25 Oct 2016 21:29:27 +0200
Subject: [PATCH 06/10] lirc.pc: Fix bad library specification (#236).
---
lirc.pc.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lirc.pc.in b/lirc.pc.in
index 802f00e..5ed7c1c 100644
--- a/lirc.pc.in
+++ b/lirc.pc.in
@@ -10,5 +10,5 @@ includedir=@includedir@
pkgdatadir=@datadir@/lirc
plugindir=${libdir}/lirc/plugins
-Libs: -L${libdir} -llirc
+Libs: -L${libdir} -llirc_client
Cflags: -I${includedir}
--
2.5.5

@ -1,38 +0,0 @@
From 0463f56357d1dd223a4d2882dbc460a0a7a7e9ad Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sat, 29 Oct 2016 11:06:50 +0200
Subject: [PATCH 07/10] Build: Use HAVE_UINPUT=1 to force building uinput code
(#238).
---
configure.ac | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index cde9813..08e2c8e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -33,7 +33,7 @@ if test x$XSLTPROC != "xyes"; then
AC_MSG_ERROR([
xsltproc is required to build. It usually comes with libxml])
fi
-AM_CONDITIONAL(HAVE_UINPUT, test -e /dev/uinput)
+AM_CONDITIONAL(HAVE_UINPUT, test -n "$HAVE_UINPUT" -o -e /dev/uinput)
AC_CHECK_PROG([MAN2HTML],[man2html],[yes],[no])
AM_CONDITIONAL(HAVE_MAN2HTML, test x$MAN2HTML = xyes)
AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
@@ -446,6 +446,11 @@ AM_CONDITIONAL(NEED_PYTHON3, [test "x$enable_python3_fix" = "xyes"])
AC_ARG_VAR(HAVE_WORKING_POLL,[
On cross-compile: Target has a working poll(2) implementation])
+AC_ARG_VAR(HAVE_UINPUT,[
+ If not-empty, assume uinput is available despite missing /dev/uinput
+])
+
+
suffix=$(echo "$VERSION" | sed 's/.*-//')
AM_CONDITIONAL(DEVEL, [test x$suffix = xdevel])
--
2.5.5

@ -1,25 +0,0 @@
From eb06327fc1b4e8e9682cf471643ccbab35fed241 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sat, 29 Oct 2016 11:50:23 +0200
Subject: [PATCH 08/10] systemd: Fix wrong path to irexec (#239).
---
systemd/irexec.service | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/systemd/irexec.service b/systemd/irexec.service
index 6eb8e6f..25ac6fc 100644
--- a/systemd/irexec.service
+++ b/systemd/irexec.service
@@ -20,7 +20,7 @@ Description=Handle events from IR remotes decoded by lircd(8)
Type=simple
-ExecStart=/usr/sbin/irexec /etc/lirc/irexec.lircrc
+ExecStart=/usr/bin/irexec /etc/lirc/irexec.lircrc
[Install]
WantedBy=multi-user.target
--
2.5.5

@ -1,32 +0,0 @@
From eb21328b2ecb59cb3215ef349e7de73d328eac2c Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 30 Oct 2016 03:53:22 +0100
Subject: [PATCH 09/10] .gitignore: doc/ fixes
---
.gitignore | 2 ++
1 file changed, 2 insertions(+)
diff --git a/.gitignore b/.gitignore
index 16bc688..40bed98 100644
--- a/.gitignore
+++ b/.gitignore
@@ -37,6 +37,7 @@ kernel-drivers.yaml
doc/api-docs
doc/man-html
doc/man/*.[1-9]
+doc/man
doc/html
doc/NEWS*
doc/lirc.hwdb
@@ -44,6 +45,7 @@ doc/table.html
doc/driver-toc.xsl
doc/docpage.xsl
doc/lirc.org/html
+doc/lirc.org/api-docs/
doc/ext-driver-toc.xsl
doxygen-warnings.txt
--
2.5.5

@ -1,59 +0,0 @@
From e50858c64e21d7a7243cd047042107d782f7c918 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Sun, 30 Oct 2016 04:00:18 +0100
Subject: [PATCH 10/10] lib: Only use local headers in lirc_private.h (#237).
The lirc_private.h header should only be used internally
when building lirc tools, and i this case we should not
care about what's possibly installed in /usr/include/lirc.
---
lib/lirc_private.h | 34 +++++++++++++++++-----------------
1 file changed, 17 insertions(+), 17 deletions(-)
diff --git a/lib/lirc_private.h b/lib/lirc_private.h
index 741f86c..2336c0a 100644
--- a/lib/lirc_private.h
+++ b/lib/lirc_private.h
@@ -19,22 +19,22 @@
#include "include/media/lirc.h"
#endif
-#include "lirc/ir_remote_types.h"
-#include "lirc/lirc_log.h"
-#include "lirc/lirc_options.h"
-#include "lirc/lirc-utils.h"
-#include "lirc/curl_poll.h"
-#include "lirc/config_file.h"
-#include "lirc/dump_config.h"
-#include "lirc/input_map.h"
-#include "lirc/driver.h"
-#include "lirc/ir_remote_types.h"
-#include "lirc/drv_admin.h"
-#include "lirc/ir_remote.h"
-#include "lirc/receive.h"
-#include "lirc/release.h"
-#include "lirc/serial.h"
-#include "lirc/transmit.h"
-#include "lirc/ciniparser.h"
+#include "ir_remote_types.h"
+#include "lirc_log.h"
+#include "lirc_options.h"
+#include "lirc-utils.h"
+#include "curl_poll.h"
+#include "config_file.h"
+#include "dump_config.h"
+#include "input_map.h"
+#include "driver.h"
+#include "ir_remote_types.h"
+#include "drv_admin.h"
+#include "ir_remote.h"
+#include "receive.h"
+#include "release.h"
+#include "serial.h"
+#include "transmit.h"
+#include "ciniparser.h"
#endif
--
2.5.5

@ -1,25 +0,0 @@
From 761c3c3f035192610cd563747ed7e3c205fbf937 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Wed, 16 Nov 2016 08:03:13 +0100
Subject: [PATCH] systemd: Add missing lircd-setup.service to distribution
(#243).
---
systemd/Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/systemd/Makefile.am b/systemd/Makefile.am
index bfa339d..1cd80b5 100644
--- a/systemd/Makefile.am
+++ b/systemd/Makefile.am
@@ -2,6 +2,7 @@
ACLOCAL_AMFLAGS = -I m4
dist_systemdsystemunit_DATA = lircd.socket lircd.service \
+ lircd-setup.service \
lircd-uinput.service \
lircmd.service \
irexec.service
--
2.5.5

@ -1,29 +0,0 @@
From a6984f0249dbe5ec265af2df547526c2255bcf5c Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Wed, 7 Dec 2016 18:21:25 +0100
Subject: [PATCH] slusk
---
systemd/lircd-setup.service | 10 ++++++++++
1 file changed, 10 insertions(+)
create mode 100644 systemd/lircd-setup.service
diff --git a/systemd/lircd-setup.service b/systemd/lircd-setup.service
new file mode 100644
index 0000000..d448229
--- /dev/null
+++ b/systemd/lircd-setup.service
@@ -0,0 +1,10 @@
+[Unit]
+Documentation=man:lircd-setup(8)
+Description=lircd(8) initialization helper tool
+
+[Service]
+Type=oneshot
+ExecStart=/usr/sbin/lircd-setup
+
+[Install]
+WantedBy=multi-user.target
--
2.5.5

@ -1,64 +0,0 @@
From 1d307be4a95a32fe905793066e866bf64b49ee56 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Thu, 22 Dec 2016 16:04:15 +0100
Subject: [PATCH] lircd: Fix --listen option parsing [#249].
---
daemons/lircd.cpp | 8 ++++----
doc/man-source/lircd.8 | 3 ++-
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
index 9fe60c5..e491178 100644
--- a/daemons/lircd.cpp
+++ b/daemons/lircd.cpp
@@ -2169,7 +2169,7 @@ static int opt2host_port(const char* optarg_arg,
{
char optarg[strlen(optarg_arg) + 1];
- strncpy(optarg, optarg_arg, strlen(optarg_arg));
+ strcpy(optarg, optarg_arg);
long p;
char* endptr;
char* sep = strchr(optarg, ':');
@@ -2296,8 +2296,8 @@ static void lircd_parse_options(int argc, char** const argv)
options_set_opt("lircd:output", optarg);
break;
case 'l':
- options_set_opt("lircd:listen", "True");
- options_set_opt("lircd:listen_hostport", optarg);
+ options_set_opt("lircd:listen",
+ optarg ? optarg : "0.0.0.0:8765");
break;
case 'c':
options_set_opt("lircd:connect", optarg);
@@ -2403,7 +2403,7 @@ int main(int argc, char** argv)
lirc_log_set_file(opt);
if (options_getstring("lircd:listen") != NULL) {
listen_tcpip = 1;
- opt = options_getstring("lircd:listen_hostport");
+ opt = options_getstring("lircd:listen");
if (opt) {
if (opt2host_port(opt, &address, &port, errmsg) != 0) {
fputs(errmsg, stderr);
diff --git a/doc/man-source/lircd.8 b/doc/man-source/lircd.8
index df0a5e4..1aa036f 100644
--- a/doc/man-source/lircd.8
+++ b/doc/man-source/lircd.8
@@ -1,4 +1,4 @@
-.TH LIRCD "8" "Last change: Aug 2016" "lircd @version@" "System Administration Utilities"
+.TH LIRCD "8" "Last change: Dec 2016" "lircd @version@" "System Administration Utilities"
.SH NAME
.P
\fBlircd\fR - Decode infrared signals and provide them on a socket.
@@ -94,6 +94,7 @@ to all sorts of changes. It has not ben tested thoroughly.
Let lircd listen for network
connections on the given address/port. The default address is 0.0.0.0,
which means that connections on all network interfaces will be accepted.
+The address must be given in dotted numerical form.
The default port is 8765. No security checks are currently implemented.
The listening lircd instance will send all IR events to the connecting
lircd instances.
--
2.7.4

@ -1,25 +0,0 @@
From 614ea57ffc672359b0353ecdfd471dcd18e700d4 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Fri, 30 Dec 2016 20:05:50 +0100
Subject: [PATCH] build: Include config.h in installed headers (#250).
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 1e41cab..868ad7f 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -51,7 +51,7 @@ dist_pkgconfig_DATA = lirc.pc lirc-driver.pc
headerdir = $(includedir)/lirc
nobase_header_HEADERS = include/media/lirc.h
-header_HEADERS = paths.h drivers/irpipe/irpipe.h
+header_HEADERS = paths.h config.h drivers/irpipe/irpipe.h
install-data-hook:
$(SED) -i -e '/^plugindir/s|/usr/lib|$(libdir)|' \
--
2.7.4

@ -1,41 +0,0 @@
From f105ffaec389c7765549cac834aaed144cdebdc8 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Tue, 3 Jan 2017 17:26:31 +0100
Subject: [PATCH 20/21] lircd: Fix segfault in SET_INPUTLOG without arguments
(#252).
---
daemons/lircd.cpp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
index 4e9162a..64cbc0c 100644
--- a/daemons/lircd.cpp
+++ b/daemons/lircd.cpp
@@ -1687,13 +1687,17 @@ static int set_inputlog(int fd, char* message, char* arguments)
FILE* f;
int r;
- r = sscanf(arguments, "%128s", buff);
- if (r != 1) {
- return send_error(fd, message,
- "Illegal argument (protocol error): %s",
- arguments);
+ if (arguments) {
+ r = sscanf(arguments, "%128s", buff);
+ if (r != 1) {
+ return send_error(
+ fd, message,
+ "Illegal argument (protocol error): %s",
+ arguments
+ );
+ }
}
- if (strcasecmp(buff, "null") == 0) {
+ if (!arguments || strcasecmp(buff, "null") == 0) {
rec_buffer_set_logfile(NULL);
return send_success(fd, message);
}
--
2.7.4

@ -1,66 +0,0 @@
From 7c3caa5b02e6907d44d9d04fe0dfc93974b5d32c Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Mon, 2 Jan 2017 18:43:14 +0100
Subject: [PATCH 21/21] ircat: Fix option parsing bug + empty conditions
(#251).
The --command/-c option was not parsed correctly, despite that
it seemed to work. lirc_code2char is not guarenteed to return
NULL if there is no more data, it could just be empty.
---
tools/ircat.cpp | 16 ++++++++++------
1 file changed, 10 insertions(+), 6 deletions(-)
diff --git a/tools/ircat.cpp b/tools/ircat.cpp
index 8d93f9b..b41dece 100644
--- a/tools/ircat.cpp
+++ b/tools/ircat.cpp
@@ -58,6 +58,7 @@ int main(int argc, char* argv[])
{
struct lirc_config* config;
char* config_file = NULL;
+ int r;
while (1) {
int c;
@@ -67,7 +68,7 @@ int main(int argc, char* argv[])
{ "version", no_argument, NULL, 'v' },
{ 0, 0, 0, 0 }
};
- c = getopt_long(argc, argv, "chv", long_options, NULL);
+ c = getopt_long(argc, argv, "c:hv", long_options, NULL);
if (c == -1)
break;
switch (c) {
@@ -94,20 +95,23 @@ int main(int argc, char* argv[])
if (lirc_init(argv[argc - 1], 1) == -1)
exit(EXIT_FAILURE);
- if (lirc_readconfig(config_file, &config, NULL) == 0) {
+ r = lirc_readconfig(config_file, &config, NULL);
+ if (r == 0) {
char* code;
char* c;
- int ret;
+ int r;
while (lirc_nextcode(&code) == 0) {
- if (code == NULL)
+ if (code == NULL || !*code)
continue;
- while ((ret = lirc_code2char(config, code, &c)) == 0 && c != NULL) {
+ while ((r = lirc_code2char(config, code, &c)) == 0) {
+ if (c == NULL || !*c)
+ break;
printf("%s\n", c);
fflush(stdout);
}
free(code);
- if (ret == -1)
+ if (r == -1)
break;
}
lirc_freeconfig(config);
--
2.7.4

@ -1,60 +0,0 @@
From ec8704b21b722183af42982c3fa8edf92fee9209 Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Wed, 25 Jan 2017 13:23:23 +0100
Subject: [PATCH] doc: Fix python import paths.
---
doc/Makefile.am | 4 ++--
doc/data2hwdb | 2 +-
doc/data2table | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/doc/Makefile.am b/doc/Makefile.am
index 658ea14..777482f 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -135,13 +135,13 @@ $(srcdir)/manpage.xsl: $(abs_builddir)/driver-toc.xsl
table.html: docpage.xsl
test -e lirc || ln -s $(top_srcdir)/tools/lirc-setup lirc || :
- PYTHONPATH=.:$(top_srcdir)/tools \
+ PYTHONPATH=.:$(top_srcdir)/tools/lirc-setup:$(top_srcdir)/tools \
$(PYTHON) $(srcdir)/data2table $(top_srcdir)/configs ../configs \
| xsltproc --html docpage.xsl - > table.html
lirc.hwdb:
test -e lirc || ln -s $(top_srcdir)/tools/lirc-setup lirc || :
- PYTHONPATH=.:$(top_srcdir)/tools \
+ PYTHONPATH=.:$(top_srcdir)/tools/lirc-setup:$(top_srcdir)/tools \
$(PYTHON) $(srcdir)/data2hwdb $(top_srcdir)/configs ../configs \
> lirc.hwdb
diff --git a/doc/data2hwdb b/doc/data2hwdb
index 2f0c1c9..8455f4a 100755
--- a/doc/data2hwdb
+++ b/doc/data2hwdb
@@ -7,7 +7,7 @@ import os
import sys
import yaml
-from lirc import database
+import database
HEADER = '''
# LIRC - Hardware DataBase
diff --git a/doc/data2table b/doc/data2table
index 05fb1e2..62a1e86 100755
--- a/doc/data2table
+++ b/doc/data2table
@@ -7,7 +7,7 @@ import os
import sys
import yaml
-from lirc import database
+import database
MENUS = {'home_brew': 'Home-brew serial and parallel devices',
--
2.9.3

@ -1,50 +0,0 @@
From 46e2156480cd1a618079233bc0926dee2ae23e9a Mon Sep 17 00:00:00 2001
From: Alec Leamas <leamas.alec@gmail.com>
Date: Tue, 4 Apr 2017 10:31:26 +0200
Subject: [PATCH] Fix missing socket activation
---
configure.ac | 2 ++
daemons/lircd.cpp | 2 ++
2 files changed, 4 insertions(+)
diff --git a/configure.ac b/configure.ac
index 08e2c8e..d032365 100644
--- a/configure.ac
+++ b/configure.ac
@@ -385,6 +385,7 @@ AC_CHECK_HEADERS(linux/i2c-dev.h,[
PKG_CHECK_MODULES([SYSTEMD],[libsystemd-daemon],,[true])
+test -n "$SYSTEMD_LIBS" || PKG_CHECK_MODULES([SYSTEMD],[libsystemd],,[true])
if test -n "$SYSTEMD_LIBS"; then
CFLAGS="$CFLAGS $SYSTEMD_CFLAGS"
AC_DEFINE(HAVE_SYSTEMD)
@@ -530,6 +531,7 @@ AC_REPORT_CONDITIONAL([NEED_PYTHON3])
AC_REPORT_CONDITIONAL([SYSTEMD_INSTALL])
AC_REPORT_CONDITIONAL([DEVEL])
AC_REPORT_CONDITIONAL([HAVE_UINPUT])
+AC_REPORT_CONDITIONAL([HAVE_SYSTEMD])
AC_REPORT_CONDITIONAL([DARWIN])
AC_REPORT_CONDITIONAL([BSD])
diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
index 69331b1..652afdc 100644
--- a/daemons/lircd.cpp
+++ b/daemons/lircd.cpp
@@ -1035,10 +1035,12 @@ void start_server(mode_t permission, int nodaemon, loglevel_t loglevel)
fprintf(stderr, "Too many file descriptors received.\n");
goto start_server_failed0;
} else if (n == 1) {
+ log_notice("Using systemd fd");
sockfd = SD_LISTEN_FDS_START + 0;
}
#endif
if (sockfd == -1) {
+ log_debug("No systemd fd found");
sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
if (sockfd == -1) {
perror("Could not create socket");
--
2.9.3

@ -1,47 +1,32 @@
%global _hardened_build 1 %global _hardened_build 1
%global __python %{__python3}
%global released 1 %global released 1
#define tag devel #define tag devel
Name: lirc Name: lirc
Version: 0.9.4c Version: 0.10.0
Release: %{?tag:0.}8%{?tag:.}%{?tag}%{?dist}.2 Release: 1%{?tag:.}%{?tag}%{?dist}
Summary: The Linux Infrared Remote Control package Summary: The Linux Infrared Remote Control package
%global repo http://downloads.sourceforge.net/lirc/LIRC/%{version}/ %global repo http://downloads.sourceforge.net/lirc/LIRC/%{version}
%global tarball %{name}-%{version}%{?tag:-}%{?tag}.tar.gz
Group: System Environment/Daemons Group: System Environment/Daemons
# lib/ciniparser* and lib/dictionary* are BSD, others GPLv2 # lib/ciniparser* and lib/dictionary* are BSD, others GPLv2
License: GPLv2 and BSD License: GPLv2 and BSD
URL: http://www.lirc.org/ URL: http://www.lirc.org/
Source0: %{?released:%{repo}}%{name}-%{version}%{?tag:-}%{?tag}.tar.gz Source0: %{?released:%{repo}%{?tag:-}%{?tag}/}%{tarball}
Source1: README.fedora Source1: README.fedora
Source2: 99-remote-control-lirc.rules Source2: 99-remote-control-lirc.rules
# All patches are from upstream
Patch1: 0001-plugins-girs.c-Default-device-typo-fix.patch
Patch2: 0002-configure-Fix-cross-compilation-error-233.patch
Patch3: 0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch
Patch4: 0004-lirc.org-Clean-up-distribution-links-bugfixes.patch
Patch5: 0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
Patch6: 0006-lirc.pc-Fix-bad-library-specification-236.patch
Patch7: 0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch
Patch8: 0008-systemd-Fix-wrong-path-to-irexec-239.patch
Patch10: 0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch
Patch16: 0016-systemd-Add-missing-lircd-setup.service-to-distribut.patch
Patch17: 0017-Actually-add-lircd-setup.service.patch
Patch18: 0018-lircd-Fix-listen-option-parsing-249.patch
Patch19: 0019-build-Include-config.h-in-installed-headers-250.patch
Patch20: 0020-lircd-Fix-segfault-in-SET_INPUTLOG-without-arguments.patch
Patch21: 0021-ircat-Fix-option-parsing-bug-empty-conditions-251.patch
Patch30: 0030-doc-Fix-python-import-paths.patch
Patch31: 0031-Handle-systemd-new-pkg-config-filename-274.patch
BuildRequires: /usr/bin/xsltproc
BuildRequires: alsa-lib-devel BuildRequires: alsa-lib-devel
Buildrequires: autoconf Buildrequires: autoconf
BuildRequires: automake BuildRequires: automake
BuildRequires: checkpolicy BuildRequires: checkpolicy
BuildRequires: doxygen BuildRequires: doxygen
BuildRequires: expect
BuildRequires: kernel-headers BuildRequires: kernel-headers
BuildRequires: man2html BuildRequires: man2html
BuildRequires: libftdi-devel BuildRequires: libftdi-devel
@ -51,8 +36,9 @@ BuildRequires: libusb1-devel
BuildRequires: libxslt BuildRequires: libxslt
BuildRequires: libXt-devel BuildRequires: libXt-devel
BuildRequires: portaudio-devel BuildRequires: portaudio-devel
BuildRequires: python3-devel BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: python3-PyYAML BuildRequires: python%{python3_pkgversion}-PyYAML
BuildRequires: socat
BuildRequires: systemd-devel BuildRequires: systemd-devel
Requires: %{name}-libs = %{version}-%{release} Requires: %{name}-libs = %{version}-%{release}
@ -83,9 +69,11 @@ Summary: LIRC core, always needed to run LIRC
Requires: lirc-libs%{?_isa} = %{version}-%{release} Requires: lirc-libs%{?_isa} = %{version}-%{release}
%description core %description core
The LIRC core contains the lircd daemons, the devinput and Part of the LIRC package suite which handles IR remotes. See
default driver and most of the applications. the package lirc for more.
The lirc core contains the lircd daemons, the devinput and
default driver and most of the applications.
%package compat %package compat
Summary: Compatibility package installing all lirc packages Summary: Compatibility package installing all lirc packages
@ -98,6 +86,9 @@ Requires: lirc-drv-portaudio%{?_isa} = %{version}-%{release}
Requires: lirc-drv-ftdi%{?_isa} = %{version}-%{release} Requires: lirc-drv-ftdi%{?_isa} = %{version}-%{release}
%description compat %description compat
Part of the LIRC package suite which handles IR remotes. See
the package lirc for more.
Installing this package will install most lirc sub-packages, roughly Installing this package will install most lirc sub-packages, roughly
the same as installing previous versions of the lirc package. the same as installing previous versions of the lirc package.
@ -106,12 +97,11 @@ Summary: LIRC libraries
Group: System Environment/Libraries Group: System Environment/Libraries
%description libs %description libs
LIRC is a package that allows you to decode and send infra-red and Part of the LIRC package suite which handles IR remotes. See
other signals of many (but not all) commonly used remote controls. the package lirc for more.
Included applications include daemons which decode the received
signals as well as user space applications which allow controlling a This package includes shared libraries that applications use to
computer with a remote control. This package includes shared libraries interface with LIRC.
that applications use to interface with LIRC.
%package config %package config
@ -119,11 +109,14 @@ Summary: LIRC Configuration Tools and Data
Requires: lirc-core = %{version}-%{release} Requires: lirc-core = %{version}-%{release}
Requires: lirc-doc = %{version}-%{release} Requires: lirc-doc = %{version}-%{release}
Requires: gnome-icon-theme Requires: gnome-icon-theme
Requires: python3-PyYAML Requires: python%{python3_pkgversion}-PyYAML
BuildArch: noarch BuildArch: noarch
%description config %description config
The LIRC config package contains tools and data to support the Part of the LIRC package suite which handles IR remotes. See
the package lirc for more.
The config package contains tools and data to support the
LIRC configuration process. LIRC configuration process.
@ -133,12 +126,11 @@ Group: Development/Libraries
Requires: lirc-core%{?_isa} = %{version}-%{release} Requires: lirc-core%{?_isa} = %{version}-%{release}
%description devel %description devel
LIRC is a package that allows you to decode and send infra-red and Part of the LIRC package suite which handles IR remotes. See
other signals of many (but not all) commonly used remote controls. the package lirc for more.
Included applications include daemons which decode the received
signals as well as user space applications which allow controlling a This package includes files for developing applications that use lirc
computer with a remote control. This package includes files for including headers and pkg-config files.
developing applications that use LIRC.
%package doc %package doc
@ -147,12 +139,10 @@ Group: Documentation
BuildArch: noarch BuildArch: noarch
%description doc %description doc
LIRC is a package that allows you to decode and send infra-red and Part of the LIRC package suite which handles IR remotes. See
other signals of many (but not all) commonly used remote controls. the package lirc for more.
Included applications include daemons which decode the received
signals as well as user space applications which allow controlling a This package contains lirc documentation.
computer with a remote control. This package contains LIRC
documentation.
%package disable-kernel-rc %package disable-kernel-rc
@ -161,8 +151,12 @@ Requires: %{name} = %{version}-%{release}
BuildArch: noarch BuildArch: noarch
%description disable-kernel-rc %description disable-kernel-rc
Udev rule which disables the kernel built-in handling of infrared devices Part of the LIRC package suite which handles IR remotes. See
(i. e., rc* ones) by making lirc the only used protocol. the package lirc for more.
This package contains an udev rule which disables the kernel built-in
handling of infrared devices (i. e., rc* ones) by making lirc the only
used protocol.
%package tools-gui %package tools-gui
@ -170,7 +164,11 @@ Summary: LIRC GUI tools
Requires: lirc-core%{?_isa} = %{version}-%{release} Requires: lirc-core%{?_isa} = %{version}-%{release}
%description tools-gui %description tools-gui
Some seldom used X11-based tools for debugging lirc configurations. Part of the LIRC package suite which handles IR remotes. See
the package lirc for more.
This package contains some seldom used X11-based tools for debugging
lirc configurations.
%package drv-portaudio %package drv-portaudio
@ -179,8 +177,11 @@ Requires: lirc-core%{?_isa} = %{version}-%{release}
License: LGPLv2 License: LGPLv2
%description drv-portaudio %description drv-portaudio
LIRC user space driver which supports a IR receiver in microphone input Part of the LIRC package suite which handles IR remotes. See
using the portaudio library. the package lirc for more.
This package contains a lirc user space driver which supports
an IR receiver in microphone input using the portaudio library.
%package drv-ftdi %package drv-ftdi
@ -188,8 +189,12 @@ Summary: Ftdi LIRC User-Space Driver
Requires: lirc-core%{?_isa} = %{version}-%{release} Requires: lirc-core%{?_isa} = %{version}-%{release}
%description drv-ftdi %description drv-ftdi
LIRC user-space driver which works together with the kernel, providing Part of the LIRC package suite which handles IR remotes. See
full support for the ftdi device. the package lirc for more.
This package contains a user-space driver which works together
with the kernel, providing full support for the ftdi device.
See http://www.ftdichip.com.
# Don't provide or require anything from _docdir, per policy. # Don't provide or require anything from _docdir, per policy.
@ -198,26 +203,44 @@ full support for the ftdi device.
%prep %prep
%autosetup -p1 -n %{name}-%{version}%{?tag} %autosetup -n %{name}-%{version}%{?tag:-}%{?tag}
sed -i -e 's/#effective-user/effective-user /' lirc_options.conf sed -i -e 's/#effective-user/effective-user /' lirc_options.conf
sed -i -e '/^effective-user/s/=$/= lirc/' lirc_options.conf sed -i -e '/^effective-user/s/=$/= lirc/' lirc_options.conf
sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc
%if 0%{?epel} > 0
cd python-pkg/tests; rm dummy-server lircrc.conf test_client.py
%endif
%build %build
autoreconf -fi autoreconf -fi
CFLAGS="%{optflags}" HAVE_UINPUT=1 %configure --libdir=%{_libdir} %configure \
make %{?_smp_mflags} --docdir="%{_pkgdocdir}" \
--enable-uinput \
--enable-devinput
make LANG=C.utf8 V=0 %{?_smp_mflags}
%install %check
make install DESTDIR=$RPM_BUILD_ROOT if test -d python-pkg/tests; then
cd $RPM_BUILD_ROOT%{_datadir}/lirc/contrib cd python-pkg/tests; python3 -m unittest discover || exit 1
chmod 755 irman2lirc
cd $OLDPWD cd $OLDPWD
rm $RPM_BUILD_ROOT%{_libdir}/*.la fi
rm $RPM_BUILD_ROOT%{_libdir}/lirc/plugins/*.la
echo "Plugins: 40" > summary.ok
echo "Drivers: 51" >> summary.ok
echo "Errors: 0" >> summary.ok
tools/lirc-lsplugins -U plugins/.libs -s > summary
diff -w summary summary.ok || exit 1
%install
make -s V=0 LIBTOOLFLAGS="--silent %{?Wnone}" DESTDIR=$RPM_BUILD_ROOT install
chmod 755 $RPM_BUILD_ROOT%{_datadir}/lirc/contrib/irman2lirc
find $RPM_BUILD_ROOT%{_libdir}/ -name \*.la -delete
install -pm 755 contrib/irman2lirc $RPM_BUILD_ROOT%{_bindir} install -pm 755 contrib/irman2lirc $RPM_BUILD_ROOT%{_bindir}
install -Dpm 644 doc/lirc.hwdb $RPM_BUILD_ROOT%{_datadir}/lirc/lirc.hwdb install -Dpm 644 doc/lirc.hwdb $RPM_BUILD_ROOT%{_datadir}/lirc/lirc.hwdb
@ -282,13 +305,11 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%{_mandir}/man1/lirc-config-tool* %{_mandir}/man1/lirc-config-tool*
%{_mandir}/man1/lirc-setup* %{_mandir}/man1/lirc-setup*
%{_datadir}/lirc/configs/* %{_datadir}/lirc/configs/*
%{python3_sitelib}/lirc
%exclude %{_datadir}/lirc/configs/ftdi.conf %exclude %{_datadir}/lirc/configs/ftdi.conf
%exclude %{_datadir}/lirc/configs/audio.conf %exclude %{_datadir}/lirc/configs/audio.conf
%files core %files core
%license COPYING
%doc README AUTHORS NEWS README.fedora %doc README AUTHORS NEWS README.fedora
%dir /etc/lirc %dir /etc/lirc
/etc/lirc/lircd.conf.d /etc/lirc/lircd.conf.d
@ -309,6 +330,8 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%{_libdir}/lirc/plugins %{_libdir}/lirc/plugins
%exclude %{_libdir}/lirc/plugins/ftdi.so %exclude %{_libdir}/lirc/plugins/ftdi.so
%exclude %{_libdir}/lirc/plugins/audio.so %exclude %{_libdir}/lirc/plugins/audio.so
%{_libdir}/python%{python3_version}/site-packages/lirc
%{_libdir}/python%{python3_version}/site-packages/lirc-setup
%{_datadir}/lirc/ %{_datadir}/lirc/
/var/lib/lirc/images /var/lib/lirc/images
/var/lib/lirc/plugins /var/lib/lirc/plugins
@ -326,9 +349,8 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%exclude %{_mandir}/man1/irxevent* %exclude %{_mandir}/man1/irxevent*
%exclude %{_mandir}/man1/xmode2* %exclude %{_mandir}/man1/xmode2*
%files libs %files libs
#doc COPYING %license COPYING COPYING.ciniparser COPYING.curl
%{_libdir}/libirrecord.so.* %{_libdir}/libirrecord.so.*
%{_libdir}/liblirc_client.so.* %{_libdir}/liblirc_client.so.*
%{_libdir}/liblirc_driver.so.* %{_libdir}/liblirc_driver.so.*
@ -347,13 +369,18 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%{_libdir}/pkgconfig/lirc.pc %{_libdir}/pkgconfig/lirc.pc
%files doc %files doc
%doc COPYING ChangeLog %license COPYING COPYING.ciniparser COPYING.curl
%doc ChangeLog
%{_pkgdocdir} %{_pkgdocdir}
%files disable-kernel-rc %files disable-kernel-rc
%{_udevrulesdir}/99-remote-control-lirc.rules %{_udevrulesdir}/99-remote-control-lirc.rules
%changelog %changelog
* Sat Aug 12 2017 Alec Leamas <leamas.alec@gmail.com> - 0.10.0-1
- New upstream release
- All patches upstreamed.
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4c-8.2 * Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.9.4c-8.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild

@ -1 +1 @@
a7c17a7ec11756e0278d31e8d965a384 lirc-0.9.4c.tar.gz SHA512 (lirc-0.10.0.tar.gz) = 65e7389e12d619f4c8728dc9f188dfd382567b297e3c65a116965e3ca9faa0010e3805fc96a863f3c0fe813bc7ba56dfa71588e29c1894e355b535fd57819a38

Loading…
Cancel
Save