diff --git a/.gitignore b/.gitignore
index 1d81b9e..7042cbe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -15,3 +15,4 @@ lirc-0.8.7pre2.tar.bz2
/lirc-0.9.4a.tar.gz
/lirc-0.9.4b.tar.gz
/lirc-0.9.4c.tar.gz
+/lirc-0.10.0.tar.gz
diff --git a/0001-plugins-girs.c-Default-device-typo-fix.patch b/0001-plugins-girs.c-Default-device-typo-fix.patch
deleted file mode 100644
index 07a172d..0000000
--- a/0001-plugins-girs.c-Default-device-typo-fix.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 94a67d9d3debf63affaa679971fafa304a6929d1 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0002-configure-Fix-cross-compilation-error-233.patch b/0002-configure-Fix-cross-compilation-error-233.patch
deleted file mode 100644
index 5b1283f..0000000
--- a/0002-configure-Fix-cross-compilation-error-233.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From ff0d431cbed74a2495b78dedce8f74f2b5a436ea Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch b/0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch
deleted file mode 100644
index 59dbe37..0000000
--- a/0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From f86da92490ff32465a1aba8754c0c856191e6907 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-+
-+#ifdef HAVE_LINUX_TYPES_H
- #include
-+#else
-+#include
-+#endif
-+
-+#ifdef HAVE_LINUX_IOCTL_H
- #include
-+#else
-+#include
-+#endif
-
- #define PULSE_BIT 0x01000000
- #define PULSE_MASK 0x00FFFFFF
---
-2.5.5
-
diff --git a/0004-lirc.org-Clean-up-distribution-links-bugfixes.patch b/0004-lirc.org-Clean-up-distribution-links-bugfixes.patch
deleted file mode 100644
index 5a03b30..0000000
--- a/0004-lirc.org-Clean-up-distribution-links-bugfixes.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From c3e65dd45ece8ac328332c63b8009cd1f77a2ca4 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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 @@
-
-
-
uinput and effective user
-+
- 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:
-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 @@
-
-
-
-+
-+
-+
-+
-+
-
-
- www.kernel.org - Linux Kernel Website
- www.freshmeat.net - A great place for searching for Linux Applications
-
--
-- Linux Distributions Packaging LIRC
--
--
--
-+
-
-
---
-2.5.5
-
diff --git a/0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch b/0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
deleted file mode 100644
index caa2a46..0000000
--- a/0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 33c40d127877179e0cba2f6595816377bb6bcda1 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
--#elif defined(HAVE_POLL_H)
-+#else
- #include
- #endif
-
---
-2.5.5
-
diff --git a/0006-lirc.pc-Fix-bad-library-specification-236.patch b/0006-lirc.pc-Fix-bad-library-specification-236.patch
deleted file mode 100644
index 104cab0..0000000
--- a/0006-lirc.pc-Fix-bad-library-specification-236.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 916a48ffcb9f1c259a0fc778a2de1be729423092 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch b/0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch
deleted file mode 100644
index 226edc0..0000000
--- a/0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 0463f56357d1dd223a4d2882dbc460a0a7a7e9ad Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0008-systemd-Fix-wrong-path-to-irexec-239.patch b/0008-systemd-Fix-wrong-path-to-irexec-239.patch
deleted file mode 100644
index 55fc222..0000000
--- a/0008-systemd-Fix-wrong-path-to-irexec-239.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From eb06327fc1b4e8e9682cf471643ccbab35fed241 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0009-.gitignore-doc-fixes.patch b/0009-.gitignore-doc-fixes.patch
deleted file mode 100644
index b973dad..0000000
--- a/0009-.gitignore-doc-fixes.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From eb21328b2ecb59cb3215ef349e7de73d328eac2c Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch b/0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch
deleted file mode 100644
index 4adb05c..0000000
--- a/0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From e50858c64e21d7a7243cd047042107d782f7c918 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0016-systemd-Add-missing-lircd-setup.service-to-distribut.patch b/0016-systemd-Add-missing-lircd-setup.service-to-distribut.patch
deleted file mode 100644
index 4dbc1c7..0000000
--- a/0016-systemd-Add-missing-lircd-setup.service-to-distribut.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 761c3c3f035192610cd563747ed7e3c205fbf937 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0017-Actually-add-lircd-setup.service.patch b/0017-Actually-add-lircd-setup.service.patch
deleted file mode 100644
index 48ea7dd..0000000
--- a/0017-Actually-add-lircd-setup.service.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From a6984f0249dbe5ec265af2df547526c2255bcf5c Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0018-lircd-Fix-listen-option-parsing-249.patch b/0018-lircd-Fix-listen-option-parsing-249.patch
deleted file mode 100644
index fe3607d..0000000
--- a/0018-lircd-Fix-listen-option-parsing-249.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 1d307be4a95a32fe905793066e866bf64b49ee56 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0019-build-Include-config.h-in-installed-headers-250.patch b/0019-build-Include-config.h-in-installed-headers-250.patch
deleted file mode 100644
index 0f1ff7c..0000000
--- a/0019-build-Include-config.h-in-installed-headers-250.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 614ea57ffc672359b0353ecdfd471dcd18e700d4 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0020-lircd-Fix-segfault-in-SET_INPUTLOG-without-arguments.patch b/0020-lircd-Fix-segfault-in-SET_INPUTLOG-without-arguments.patch
deleted file mode 100644
index 5222227..0000000
--- a/0020-lircd-Fix-segfault-in-SET_INPUTLOG-without-arguments.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From f105ffaec389c7765549cac834aaed144cdebdc8 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0021-ircat-Fix-option-parsing-bug-empty-conditions-251.patch b/0021-ircat-Fix-option-parsing-bug-empty-conditions-251.patch
deleted file mode 100644
index 0e9881b..0000000
--- a/0021-ircat-Fix-option-parsing-bug-empty-conditions-251.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 7c3caa5b02e6907d44d9d04fe0dfc93974b5d32c Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0030-doc-Fix-python-import-paths.patch b/0030-doc-Fix-python-import-paths.patch
deleted file mode 100644
index 7d8d4f7..0000000
--- a/0030-doc-Fix-python-import-paths.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From ec8704b21b722183af42982c3fa8edf92fee9209 Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/0031-Handle-systemd-new-pkg-config-filename-274.patch b/0031-Handle-systemd-new-pkg-config-filename-274.patch
deleted file mode 100644
index 3e86ad3..0000000
--- a/0031-Handle-systemd-new-pkg-config-filename-274.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 46e2156480cd1a618079233bc0926dee2ae23e9a Mon Sep 17 00:00:00 2001
-From: Alec Leamas
-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
-
diff --git a/lirc.spec b/lirc.spec
index 4e94d05..f63267a 100644
--- a/lirc.spec
+++ b/lirc.spec
@@ -1,47 +1,32 @@
%global _hardened_build 1
+%global __python %{__python3}
%global released 1
#define tag devel
Name: lirc
-Version: 0.9.4c
-Release: %{?tag:0.}8%{?tag:.}%{?tag}%{?dist}.2
+Version: 0.10.0
+Release: 1%{?tag:.}%{?tag}%{?dist}
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
# lib/ciniparser* and lib/dictionary* are BSD, others GPLv2
License: GPLv2 and BSD
URL: http://www.lirc.org/
-Source0: %{?released:%{repo}}%{name}-%{version}%{?tag:-}%{?tag}.tar.gz
+Source0: %{?released:%{repo}%{?tag:-}%{?tag}/}%{tarball}
Source1: README.fedora
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: autoconf
BuildRequires: automake
BuildRequires: checkpolicy
BuildRequires: doxygen
+BuildRequires: expect
BuildRequires: kernel-headers
BuildRequires: man2html
BuildRequires: libftdi-devel
@@ -51,8 +36,9 @@ BuildRequires: libusb1-devel
BuildRequires: libxslt
BuildRequires: libXt-devel
BuildRequires: portaudio-devel
-BuildRequires: python3-devel
-BuildRequires: python3-PyYAML
+BuildRequires: python%{python3_pkgversion}-devel
+BuildRequires: python%{python3_pkgversion}-PyYAML
+BuildRequires: socat
BuildRequires: systemd-devel
Requires: %{name}-libs = %{version}-%{release}
@@ -83,9 +69,11 @@ Summary: LIRC core, always needed to run LIRC
Requires: lirc-libs%{?_isa} = %{version}-%{release}
%description core
-The LIRC core contains the lircd daemons, the devinput and
-default driver and most of the applications.
+Part of the LIRC package suite which handles IR remotes. See
+the package lirc for more.
+The lirc core contains the lircd daemons, the devinput and
+default driver and most of the applications.
%package compat
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}
%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
the same as installing previous versions of the lirc package.
@@ -106,12 +97,11 @@ Summary: LIRC libraries
Group: System Environment/Libraries
%description libs
-LIRC is a package that allows you to decode and send infra-red and
-other signals of many (but not all) commonly used remote controls.
-Included applications include daemons which decode the received
-signals as well as user space applications which allow controlling a
-computer with a remote control. This package includes shared libraries
-that applications use to interface with LIRC.
+Part of the LIRC package suite which handles IR remotes. See
+the package lirc for more.
+
+This package includes shared libraries that applications use to
+interface with LIRC.
%package config
@@ -119,11 +109,14 @@ Summary: LIRC Configuration Tools and Data
Requires: lirc-core = %{version}-%{release}
Requires: lirc-doc = %{version}-%{release}
Requires: gnome-icon-theme
-Requires: python3-PyYAML
+Requires: python%{python3_pkgversion}-PyYAML
BuildArch: noarch
%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.
@@ -133,12 +126,11 @@ Group: Development/Libraries
Requires: lirc-core%{?_isa} = %{version}-%{release}
%description devel
-LIRC is a package that allows you to decode and send infra-red and
-other signals of many (but not all) commonly used remote controls.
-Included applications include daemons which decode the received
-signals as well as user space applications which allow controlling a
-computer with a remote control. This package includes files for
-developing applications that use LIRC.
+Part of the LIRC package suite which handles IR remotes. See
+the package lirc for more.
+
+This package includes files for developing applications that use lirc
+including headers and pkg-config files.
%package doc
@@ -147,12 +139,10 @@ Group: Documentation
BuildArch: noarch
%description doc
-LIRC is a package that allows you to decode and send infra-red and
-other signals of many (but not all) commonly used remote controls.
-Included applications include daemons which decode the received
-signals as well as user space applications which allow controlling a
-computer with a remote control. This package contains LIRC
-documentation.
+Part of the LIRC package suite which handles IR remotes. See
+the package lirc for more.
+
+This package contains lirc documentation.
%package disable-kernel-rc
@@ -161,8 +151,12 @@ Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description disable-kernel-rc
-Udev rule which disables the kernel built-in handling of infrared devices
-(i. e., rc* ones) by making lirc the only used protocol.
+Part of the LIRC package suite which handles IR remotes. See
+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
@@ -170,7 +164,11 @@ Summary: LIRC GUI tools
Requires: lirc-core%{?_isa} = %{version}-%{release}
%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
@@ -179,8 +177,11 @@ Requires: lirc-core%{?_isa} = %{version}-%{release}
License: LGPLv2
%description drv-portaudio
-LIRC user space driver which supports a IR receiver in microphone input
-using the portaudio library.
+Part of the LIRC package suite which handles IR remotes. See
+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
@@ -188,8 +189,12 @@ Summary: Ftdi LIRC User-Space Driver
Requires: lirc-core%{?_isa} = %{version}-%{release}
%description drv-ftdi
-LIRC user-space driver which works together with the kernel, providing
-full support for the ftdi device.
+Part of the LIRC package suite which handles IR remotes. See
+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.
@@ -198,26 +203,44 @@ full support for the ftdi device.
%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 '/^effective-user/s/=$/= lirc/' lirc_options.conf
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
autoreconf -fi
-CFLAGS="%{optflags}" HAVE_UINPUT=1 %configure --libdir=%{_libdir}
-make %{?_smp_mflags}
+%configure \
+ --docdir="%{_pkgdocdir}" \
+ --enable-uinput \
+ --enable-devinput
+make LANG=C.utf8 V=0 %{?_smp_mflags}
+
+%check
+if test -d python-pkg/tests; then
+ cd python-pkg/tests; python3 -m unittest discover || exit 1
+ cd $OLDPWD
+fi
+
+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 install DESTDIR=$RPM_BUILD_ROOT
-cd $RPM_BUILD_ROOT%{_datadir}/lirc/contrib
-chmod 755 irman2lirc
-cd $OLDPWD
-rm $RPM_BUILD_ROOT%{_libdir}/*.la
-rm $RPM_BUILD_ROOT%{_libdir}/lirc/plugins/*.la
+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 -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-setup*
%{_datadir}/lirc/configs/*
-%{python3_sitelib}/lirc
%exclude %{_datadir}/lirc/configs/ftdi.conf
%exclude %{_datadir}/lirc/configs/audio.conf
%files core
-%license COPYING
%doc README AUTHORS NEWS README.fedora
%dir /etc/lirc
/etc/lirc/lircd.conf.d
@@ -309,6 +330,8 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%{_libdir}/lirc/plugins
%exclude %{_libdir}/lirc/plugins/ftdi.so
%exclude %{_libdir}/lirc/plugins/audio.so
+%{_libdir}/python%{python3_version}/site-packages/lirc
+%{_libdir}/python%{python3_version}/site-packages/lirc-setup
%{_datadir}/lirc/
/var/lib/lirc/images
/var/lib/lirc/plugins
@@ -326,9 +349,8 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%exclude %{_mandir}/man1/irxevent*
%exclude %{_mandir}/man1/xmode2*
-
%files libs
-#doc COPYING
+%license COPYING COPYING.ciniparser COPYING.curl
%{_libdir}/libirrecord.so.*
%{_libdir}/liblirc_client.so.*
%{_libdir}/liblirc_driver.so.*
@@ -347,13 +369,18 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf
%{_libdir}/pkgconfig/lirc.pc
%files doc
-%doc COPYING ChangeLog
+%license COPYING COPYING.ciniparser COPYING.curl
+%doc ChangeLog
%{_pkgdocdir}
%files disable-kernel-rc
%{_udevrulesdir}/99-remote-control-lirc.rules
%changelog
+* Sat Aug 12 2017 Alec Leamas - 0.10.0-1
+- New upstream release
+- All patches upstreamed.
+
* Thu Aug 03 2017 Fedora Release Engineering - 0.9.4c-8.2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
diff --git a/sources b/sources
index f9bb9de..7bd03ad 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a7c17a7ec11756e0278d31e8d965a384 lirc-0.9.4c.tar.gz
+SHA512 (lirc-0.10.0.tar.gz) = 65e7389e12d619f4c8728dc9f188dfd382567b297e3c65a116965e3ca9faa0010e3805fc96a863f3c0fe813bc7ba56dfa71588e29c1894e355b535fd57819a38