From 1c610f9721f9edf6cd5206fcb35be6094d8d718e Mon Sep 17 00:00:00 2001 From: Alec Leamas Date: Sun, 30 Oct 2016 04:42:16 +0100 Subject: [PATCH] New upstream release 0.9.4c-4 --- .gitignore | 2 + 0001-Changing-effective-user-default.patch | 25 --- ...ugins-girs.c-Default-device-typo-fix.patch | 25 +++ 0002-NEWS-lirc.org-index.html-Fixes.patch | 49 ----- ...gure-Fix-cross-compilation-error-233.patch | 46 +++++ ...c.h-Configure-includes-in-lirc.h-234.patch | 55 ++++++ 0003-irtoy-improve-error-handling-220.patch | 96 --------- ...Clean-up-distribution-links-bugfixes.patch | 104 ++++++++++ ...sa-Fix-byte-truncating-in-16-bit-dat.patch | 36 ---- ...contrib-disable-udev-dev-uinput-rule.patch | 22 --- ...-Ensure-build-on-unconfiguredclients.patch | 35 ++++ 0006-lirc-setup-Fix-crasher-bugfix.patch | 30 --- ...pc-Fix-bad-library-specification-236.patch | 23 +++ ...INPUT-1-to-force-building-uinput-cod.patch | 38 ++++ ...devices-acl-permissions-rhbz-1364744.patch | 33 ---- ...porary-unavailable-write-sockets-221.patch | 55 ------ ...systemd-Fix-wrong-path-to-irexec-239.patch | 25 +++ 0009-.gitignore-doc-fixes.patch | 32 +++ ...for-duplicate-remote-definitions-222.patch | 57 ------ ...-local-headers-in-lirc_private.h-237.patch | 59 ++++++ ...ut-Fix-that-two-remotes-has-the-same.patch | 35 ---- 0011-include-Update-bundled-lirc.h.patch | 182 ------------------ ...-of-functions-killed-in-kernel-4.8.0.patch | 110 ----------- lirc.spec | 56 +++--- sources | 3 +- 25 files changed, 469 insertions(+), 764 deletions(-) delete mode 100644 0001-Changing-effective-user-default.patch create mode 100644 0001-plugins-girs.c-Default-device-typo-fix.patch delete mode 100644 0002-NEWS-lirc.org-index.html-Fixes.patch create mode 100644 0002-configure-Fix-cross-compilation-error-233.patch create mode 100644 0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch delete mode 100644 0003-irtoy-improve-error-handling-220.patch create mode 100644 0004-lirc.org-Clean-up-distribution-links-bugfixes.patch delete mode 100644 0004-plugins-audio_alsa-Fix-byte-truncating-in-16-bit-dat.patch delete mode 100644 0005-contrib-disable-udev-dev-uinput-rule.patch create mode 100644 0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch delete mode 100644 0006-lirc-setup-Fix-crasher-bugfix.patch create mode 100644 0006-lirc.pc-Fix-bad-library-specification-236.patch create mode 100644 0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch delete mode 100644 0007-contrib-Fix-usb-devices-acl-permissions-rhbz-1364744.patch delete mode 100644 0008-lircd-Retry-temporary-unavailable-write-sockets-221.patch create mode 100644 0008-systemd-Fix-wrong-path-to-irexec-239.patch create mode 100644 0009-.gitignore-doc-fixes.patch delete mode 100644 0009-lircd-Warn-for-duplicate-remote-definitions-222.patch create mode 100644 0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch delete mode 100644 0010-lirc-make-devinput-Fix-that-two-remotes-has-the-same.patch delete mode 100644 0011-include-Update-bundled-lirc.h.patch delete mode 100644 0012-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch diff --git a/.gitignore b/.gitignore index 5d325c0..1d81b9e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,4 @@ +clog lirc-*.tar.bz2 .build-*.log *.rpm @@ -13,3 +14,4 @@ lirc-0.8.7pre2.tar.bz2 /lirc-0.9.4.tar.gz /lirc-0.9.4a.tar.gz /lirc-0.9.4b.tar.gz +/lirc-0.9.4c.tar.gz diff --git a/0001-Changing-effective-user-default.patch b/0001-Changing-effective-user-default.patch deleted file mode 100644 index c19b4ef..0000000 --- a/0001-Changing-effective-user-default.patch +++ /dev/null @@ -1,25 +0,0 @@ -From bd400dc047567d230d194c2be8c911a300c0f723 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Mon, 9 Feb 2015 12:46:17 +0100 -Subject: [PATCH] lirc_options: Set effective user to lirc. - ---- - lirc_options.conf | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/lirc_options.conf b/lirc_options.conf -index 9346de8..bf342c1 100644 ---- a/lirc_options.conf -+++ b/lirc_options.conf -@@ -12,7 +12,7 @@ plugindir = /usr/lib/lirc/plugins - permission = 666 - allow-simulate = No - repeat-max = 600 --#effective-user = -+effective-user = lirc - #listen = [address:]port - #connect = host[:port] - #debug = 6 --- -2.1.0 - diff --git a/0001-plugins-girs.c-Default-device-typo-fix.patch b/0001-plugins-girs.c-Default-device-typo-fix.patch new file mode 100644 index 0000000..07a172d --- /dev/null +++ b/0001-plugins-girs.c-Default-device-typo-fix.patch @@ -0,0 +1,25 @@ +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-NEWS-lirc.org-index.html-Fixes.patch b/0002-NEWS-lirc.org-index.html-Fixes.patch deleted file mode 100644 index 47afe0d..0000000 --- a/0002-NEWS-lirc.org-index.html-Fixes.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 53cea64c606e3bb4622c74855d35fc57eeb2123e Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Tue, 9 Aug 2016 16:29:17 +0200 -Subject: [PATCH 02/10] NEWS, lirc.org/index.html: Fixes. - ---- - NEWS | 4 +++- - doc/lirc.org/index.html | 6 ++++++ - 2 files changed, 9 insertions(+), 1 deletion(-) - -diff --git a/NEWS b/NEWS -index a379785..0261bd2 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,4 +1,4 @@ --0.9.4b 15/8/16 -+0.9.4b 9/8/16 - * lircd-uinput: A multitude of fixes (#213, #211, #177). Adds new options. - * lirc_client: Fix "Can't redirect irsend output" (#207). - * lirc_client: read_string() not terminating buffer contents (#216) -@@ -8,6 +8,8 @@ - * lircmd: Options, udev examples and manpage update.A - * lib: Add missing Makefile.am dep (#210). - * doc: Manpages and configuration guide fixes. -+ * build: Don't define docdir - autoconf defines docdir (#215). -+ * build: support runstatedir configure option (#212). - - 0.9.4a 22/6/16 - * Fix syntax errors in systemd unit files (rhbz: 1350750). -diff --git a/doc/lirc.org/index.html b/doc/lirc.org/index.html -index 204d457..b0a1efa 100644 ---- a/doc/lirc.org/index.html -+++ b/doc/lirc.org/index.html -@@ -432,6 +432,12 @@ -

-
    -
  • -+ [9-Aug2016] -+

    -+ lirc-0.9.4b released. -+

    -+
  • -+
  • - [29-June2016] -

    - lirc-0.9.4a released. --- -2.5.5 - diff --git a/0002-configure-Fix-cross-compilation-error-233.patch b/0002-configure-Fix-cross-compilation-error-233.patch new file mode 100644 index 0000000..5b1283f --- /dev/null +++ b/0002-configure-Fix-cross-compilation-error-233.patch @@ -0,0 +1,46 @@ +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 new file mode 100644 index 0000000..58c73ea --- /dev/null +++ b/0003-build-lirc.h-Configure-includes-in-lirc.h-234.patch @@ -0,0 +1,55 @@ +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/0003-irtoy-improve-error-handling-220.patch b/0003-irtoy-improve-error-handling-220.patch deleted file mode 100644 index 359595e..0000000 --- a/0003-irtoy-improve-error-handling-220.patch +++ /dev/null @@ -1,96 +0,0 @@ -From 62b9172bf52584e0c621d0163052ccca9a240846 Mon Sep 17 00:00:00 2001 -From: Helen Foster -Date: Sun, 14 Aug 2016 14:00:30 +0100 -Subject: [PATCH 03/10] irtoy: improve error handling (#220). - -Avoid double init. Avoid calling setPin or trying to send if irtoy -is not initialized (segfault). ---- - plugins/irtoy.c | 28 ++++++++++++++++++++-------- - 1 file changed, 20 insertions(+), 8 deletions(-) - -diff --git a/plugins/irtoy.c b/plugins/irtoy.c -index f6e81d7..f7a6feb 100644 ---- a/plugins/irtoy.c -+++ b/plugins/irtoy.c -@@ -467,6 +467,9 @@ static int init_device(void) - IRTOY_MINFWVERSION, - dev->swVersion); - free(dev); -+ dev = NULL; -+ close(drv.fd); -+ tty_delete_lock(); - return 0; - } - rec_buffer_init(); -@@ -490,10 +493,15 @@ static int init(void) - "Additional irtoy device found: %s (ignored)"; - const char* const MSG_FOUND = "irtoy device found on %s"; - -+ log_trace("irtoy: init"); - if (drv.device == NULL) { - log_error("irtoy: NULL device."); - return 0; - } -+ if (dev != NULL) { -+ log_debug("irtoy: init: irtoy already initialized"); -+ return 1; -+ } - if (strcmp(drv.device, "auto") != 0) - return init_device(); - for (found = 0, i = 0; i <= 9; i++) { -@@ -516,6 +524,8 @@ static int init(void) - - static int deinit(void) - { -+ log_trace("irtoy: deinit"); -+ - // IMPORTANT do not remove this reset. it is vital to return the - // irtoy to IRMAN mode. - // If we leave the irtoy in sample mode while no-one has the -@@ -527,14 +537,14 @@ static int deinit(void) - // sending the next one, while sample mode will keep streaming - // (and under fluorescent light it WILL stream..) - // triggering the problem -- setPin(openPin, 0); -- setPin(sendingPin, 0); -- setPin(receivePin, 0); - if (dev != NULL) { -+ setPin(openPin, 0); -+ setPin(sendingPin, 0); -+ setPin(receivePin, 0); - irtoy_reset(dev); - free(dev); -+ dev = NULL; - } -- dev = NULL; - - close(drv.fd); - drv.fd = -1; -@@ -562,10 +572,6 @@ static int irtoy_send_double_buffered(unsigned char* signals, int length) - unsigned char reply[16]; - int irtoyXmit; - -- if (dev == NULL) { -- log_error("irtoy_send: irtoy not initialized"); -- return 0; -- } - res = write(dev->fd, IRTOY_COMMAND_TXSTART, sizeof(IRTOY_COMMAND_TXSTART)); - - if (res != sizeof(IRTOY_COMMAND_TXSTART)) { -@@ -647,6 +653,12 @@ static int send(struct ir_remote* remote, struct ir_ncode* code) - lirc_t val; - int res; - -+ log_trace("irtoy: send"); -+ -+ if (dev == NULL) { -+ log_error("irtoy: send: irtoy not initialized"); -+ return 0; -+ } - - if (!send_buffer_put(remote, code)) - return 0; --- -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 new file mode 100644 index 0000000..5a03b30 --- /dev/null +++ b/0004-lirc.org-Clean-up-distribution-links-bugfixes.patch @@ -0,0 +1,104 @@ +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/0004-plugins-audio_alsa-Fix-byte-truncating-in-16-bit-dat.patch b/0004-plugins-audio_alsa-Fix-byte-truncating-in-16-bit-dat.patch deleted file mode 100644 index b4a4e00..0000000 --- a/0004-plugins-audio_alsa-Fix-byte-truncating-in-16-bit-dat.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 4e931d11585e1baeddeea9a753007d835f8a3334 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Wed, 17 Aug 2016 21:28:00 +0200 -Subject: [PATCH 04/10] plugins: audio_alsa: Fix byte truncating in 16-bit data - (#218): - -This fixes a bug introduced in 82305c72 which basically was -about muting a "dereferencing type-punned pointer will break -strict-aliasing rules" compiler warning. ---- - plugins/audio_alsa.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - -diff --git a/plugins/audio_alsa.c b/plugins/audio_alsa.c -index 20022f3..ff0d8a9 100644 ---- a/plugins/audio_alsa.c -+++ b/plugins/audio_alsa.c -@@ -436,11 +436,12 @@ var_reset: /* Reset variables */ - for (i = 0; i < count; i++) { - /* cs == current sample */ - unsigned char cs, as, sl, sz, xz; -- short stmp; -+ unsigned short stmp; - - if (bytes_per_sample == 2) { -- stmp = buff[i * bytes_per_sample * alsa_hw.num_channels + -- bytes_per_sample * alsa_hw.channel]; -+ int ix = i * bytes_per_sample * alsa_hw.num_channels + -+ bytes_per_sample * alsa_hw.channel; -+ memcpy(&stmp, &buff[ix], sizeof(stmp)); - cs = stmp >> 8; - cs ^= 0x80; - } else { --- -2.5.5 - diff --git a/0005-contrib-disable-udev-dev-uinput-rule.patch b/0005-contrib-disable-udev-dev-uinput-rule.patch deleted file mode 100644 index 338b956..0000000 --- a/0005-contrib-disable-udev-dev-uinput-rule.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 8cb5fd91935603536dcb0377ff91eb0ae477d19a Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Thu, 18 Aug 2016 16:19:17 +0200 -Subject: [PATCH 05/10] contrib: disable udev /dev/uinput rule. - ---- - contrib/97-lircd-uinput.rules | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/contrib/97-lircd-uinput.rules b/contrib/97-lircd-uinput.rules -index 12228a7..a554299 100644 ---- a/contrib/97-lircd-uinput.rules -+++ b/contrib/97-lircd-uinput.rules -@@ -7,4 +7,4 @@ SUBSYSTEMS=="input",ATTRS{name}=="lircmd",SYMLINK+="lircmd" - # Make /dev/uinput accessible for the lirc group. A setfacl RUN would be - # better here, but seemingly does not work (?) - # An alternative is to use lircd-setup(8) to sun setfacl(1). --KERNEL=="uinput",GROUP:="lirc",MODE:="0660" -+## KERNEL=="uinput",GROUP:="lirc",MODE:="0660" --- -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 new file mode 100644 index 0000000..caa2a46 --- /dev/null +++ b/0005-lib-curl_poll.h-Ensure-build-on-unconfiguredclients.patch @@ -0,0 +1,35 @@ +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-setup-Fix-crasher-bugfix.patch b/0006-lirc-setup-Fix-crasher-bugfix.patch deleted file mode 100644 index d0791a6..0000000 --- a/0006-lirc-setup-Fix-crasher-bugfix.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 33c188c38f5f89e704e4c775205e1d90ca55bc0d Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Sun, 21 Aug 2016 17:33:19 +0200 -Subject: [PATCH 06/10] lirc-setup: Fix crasher bugfix. - -Fixes https://retrace.fedoraproject.org/faf/reports/1166394/ ---- - tools/lirc-setup/mvc_model.py | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tools/lirc-setup/mvc_model.py b/tools/lirc-setup/mvc_model.py -index 02d1413..48864d8 100644 ---- a/tools/lirc-setup/mvc_model.py -+++ b/tools/lirc-setup/mvc_model.py -@@ -362,10 +362,10 @@ class DrvctlDeviceListModel(DeviceListModel): - self.label_by_device = {} - trypath = os.path.abspath(_here("../mode2")) - if not os.path.exists(trypath): -- trypath = os.path.join(BINDIR, "mode2") -+ trypath = os.path.join(config.BINDIR, "mode2") - if not os.path.exists(trypath): - raise FileNotFoundError("trypath") -- cmd = [trypath, "--driver" , self.driver_id, "--list-devices"] -+ cmd = [trypath, "--driver", self.driver_id, "--list-devices"] - try: - result = subprocess.check_output(cmd, universal_newlines=True) - except (OSError, subprocess.CalledProcessError): --- -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 new file mode 100644 index 0000000..104cab0 --- /dev/null +++ b/0006-lirc.pc-Fix-bad-library-specification-236.patch @@ -0,0 +1,23 @@ +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 new file mode 100644 index 0000000..226edc0 --- /dev/null +++ b/0007-Build-Use-HAVE_UINPUT-1-to-force-building-uinput-cod.patch @@ -0,0 +1,38 @@ +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/0007-contrib-Fix-usb-devices-acl-permissions-rhbz-1364744.patch b/0007-contrib-Fix-usb-devices-acl-permissions-rhbz-1364744.patch deleted file mode 100644 index 338bd51..0000000 --- a/0007-contrib-Fix-usb-devices-acl-permissions-rhbz-1364744.patch +++ /dev/null @@ -1,33 +0,0 @@ -From aa087cb999b7303d6f14d0928a84909d5bf29529 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Thu, 18 Aug 2016 21:04:07 +0200 -Subject: [PATCH 07/10] contrib: Fix usb devices' acl permissions (rhbz - #1364744). - ---- - contrib/60-lirc.rules | 13 +++++++------ - 1 file changed, 7 insertions(+), 6 deletions(-) - -diff --git a/contrib/60-lirc.rules b/contrib/60-lirc.rules -index 8147546..492aae9 100644 ---- a/contrib/60-lirc.rules -+++ b/contrib/60-lirc.rules -@@ -1,8 +1,9 @@ --# Installing this udev rule will make the /dev/lirc* devices accessible --# for users in the group "lirc" using regular group permissions. USB --# devices grants rw permission to the lirc group using ACL. --# To enable, copy to /etc/udev/rules.d. -+# Make the /dev/lirc* devices accessible for users in the group "lirc" -+# using regular group permissions. - - KERNEL=="lirc[0-9]*", SUBSYSTEM=="lirc", GROUP="lirc", MODE="0660" --ACTION=="add", SUBSYSTEM=="usb", \ -- RUN+="/usr/bin/setfacl -m g:lirc:rw $env{DEVNAME}" -+ -+# Grant rw permission to the lirc group for USB devices using acl(5). -+ -+ACTION=="add", SUBSYSTEM=="usb", ENV{DEVNAME}=="?*", \ -+ RUN+="/usr/bin/sh -c '/usr/bin/setfacl -m g:lirc:rw %E{DEVNAME} 2>/dev/null || :'" --- -2.5.5 - diff --git a/0008-lircd-Retry-temporary-unavailable-write-sockets-221.patch b/0008-lircd-Retry-temporary-unavailable-write-sockets-221.patch deleted file mode 100644 index afa2b79..0000000 --- a/0008-lircd-Retry-temporary-unavailable-write-sockets-221.patch +++ /dev/null @@ -1,55 +0,0 @@ -From f561c4b9e1ea8a225ae4431348529cd5b6b477d9 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Tue, 23 Aug 2016 13:16:56 +0200 -Subject: [PATCH 08/10] lircd: Retry temporary unavailable write sockets - (#221). - ---- - daemons/lircd.cpp | 21 +++++++++++++++++++-- - 1 file changed, 19 insertions(+), 2 deletions(-) - -diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp -index de2c341..2dc9029 100644 ---- a/daemons/lircd.cpp -+++ b/daemons/lircd.cpp -@@ -115,6 +115,12 @@ int clock_gettime(int clk_id, struct timespec *t){ - - static const logchannel_t logchannel = LOG_APP; - -+/** How long we sleep while waiting for busy write sockets. */ -+static const int WRITE_SLEEP_US = 20000; -+ -+/** How many times we retry busy write sockets. */ -+static const int WRITE_RETRIES = 50; -+ - struct peer_connection { - char* host; - unsigned short port; -@@ -338,11 +344,22 @@ static int oatoi(const char* s) - int write_socket(int fd, const char* buf, int len) - { - int done, todo = len; -+ int retries = WRITE_RETRIES; - - while (todo) { - done = write(fd, buf, todo); -- if (done <= 0) -- return done; -+ if (done <= 0) { -+ log_perror_debug("Error in write_socket"); -+ if (errno == EAGAIN || errno == EWOULDBLOCK) { -+ retries -= 1; -+ if (retries <= 0) -+ return done; -+ usleep(WRITE_SLEEP_US); -+ continue; -+ } else { -+ return done; -+ } -+ } - buf += done; - todo -= done; - } --- -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 new file mode 100644 index 0000000..55fc222 --- /dev/null +++ b/0008-systemd-Fix-wrong-path-to-irexec-239.patch @@ -0,0 +1,25 @@ +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 new file mode 100644 index 0000000..b973dad --- /dev/null +++ b/0009-.gitignore-doc-fixes.patch @@ -0,0 +1,32 @@ +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/0009-lircd-Warn-for-duplicate-remote-definitions-222.patch b/0009-lircd-Warn-for-duplicate-remote-definitions-222.patch deleted file mode 100644 index 46ff2f1..0000000 --- a/0009-lircd-Warn-for-duplicate-remote-definitions-222.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 9ad5f93a07be0bf4f645f16dbbf29e2e8cd3b871 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Tue, 23 Aug 2016 13:50:48 +0200 -Subject: [PATCH 09/10] lircd: Warn for duplicate remote definitions (#222). - ---- - daemons/lircd.cpp | 20 ++++++++++++++++++++ - 1 file changed, 20 insertions(+) - -diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp -index 2dc9029..8fd8336 100644 ---- a/daemons/lircd.cpp -+++ b/daemons/lircd.cpp -@@ -70,6 +70,9 @@ - #include - #endif - -+#include -+#include -+ - #include "lirc_private.h" - - #ifdef HAVE_INT_GETGROUPLIST_GROUPS -@@ -540,6 +543,22 @@ static int setup_hardware(void) - return ret; - } - -+static void check_config_duplicates(const struct ir_remote* head) -+{ -+ std::set names; -+ const struct ir_remote* ir; -+ const char* const errmsg = -+ "Duplicate remotes \"%s\" found, problems ahead"; -+ -+ for (ir = head; ir != NULL; ir = ir->next) { -+ std::string name(ir->name); -+ if (names.count(name) == 1) -+ log_warn(errmsg, name.c_str()) -+ else -+ names.insert(name); -+ } -+} -+ - - void config(void) - { -@@ -572,6 +591,7 @@ void config(void) - } - configfile = filename; - config_remotes = read_config(fd, configfile); -+ check_config_duplicates(config_remotes); - fclose(fd); - if (config_remotes == (void*)-1) { - log_error("reading of config file failed"); --- -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 new file mode 100644 index 0000000..4adb05c --- /dev/null +++ b/0010-lib-Only-use-local-headers-in-lirc_private.h-237.patch @@ -0,0 +1,59 @@ +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/0010-lirc-make-devinput-Fix-that-two-remotes-has-the-same.patch b/0010-lirc-make-devinput-Fix-that-two-remotes-has-the-same.patch deleted file mode 100644 index 7e90e9a..0000000 --- a/0010-lirc-make-devinput-Fix-that-two-remotes-has-the-same.patch +++ /dev/null @@ -1,35 +0,0 @@ -From b853e3d1bcc756206ffa1bc612996cd1597d53ea Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Tue, 23 Aug 2016 13:24:32 +0200 -Subject: [PATCH 10/10] lirc-make-devinput: Fix that two remotes has the same - name (#222). - ---- - tools/lirc-make-devinput | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/tools/lirc-make-devinput b/tools/lirc-make-devinput -index 3ae63ea..0598970 100755 ---- a/tools/lirc-make-devinput -+++ b/tools/lirc-make-devinput -@@ -63,7 +63,7 @@ echo "# Date: $(date)" - cat < -Date: Thu, 18 Aug 2016 22:35:31 +0200 -Subject: [PATCH 6/7] include: Update bundled lirc.h. - ---- - include/media/lirc.h | 95 ++++++---------------------------------------------- - 1 file changed, 10 insertions(+), 85 deletions(-) - -diff --git a/include/media/lirc.h b/include/media/lirc.h -index 601fccb..991ab45 100644 ---- a/include/media/lirc.h -+++ b/include/media/lirc.h -@@ -1,39 +1,13 @@ --/** -- * @file lirc.c -- * This file contains some general definitions, like feature flags. -- * It's a bundled copy from the kernel sources. Being part of -- * kernel sources is a bug, see -- * https://bugzilla.kernel.org/show_bug.cgi?id=75751. -- * The file is upstreamed to the kernel from 4.6. -- */ -- --#ifndef LIRC_BASE_H --#define LIRC_BASE_H -- --#ifdef __cplusplus --extern "C" { --#endif -- --/** -- * This data type, with its extremely carefully selected name, is used as -- * data type for the signal durations. -- */ --#define lirc_t int -- - /* - * lirc.h - linux infrared remote control header file -- * last modified 2010/06/03 by Jarod Wilson -+ * last modified 2010/07/13 by Jarod Wilson - */ - --#if defined(__linux__) -+#ifndef _LINUX_LIRC_H -+#define _LINUX_LIRC_H -+ - #include - #include --#elif defined(_NetBSD_) --#include --#elif defined(_CYGWIN_) --#define __USE_LINUX_IOCTL_DEFS --#include --#endif - - #define PULSE_BIT 0x01000000 - #define PULSE_MASK 0x00FFFFFF -@@ -59,6 +33,9 @@ extern "C" { - #define LIRC_IS_FREQUENCY(val) (LIRC_MODE2(val) == LIRC_MODE2_FREQUENCY) - #define LIRC_IS_TIMEOUT(val) (LIRC_MODE2(val) == LIRC_MODE2_TIMEOUT) - -+/* used heavily by lirc userspace */ -+#define lirc_t int -+ - /*** lirc compatible hardware features ***/ - - #define LIRC_MODE2SEND(x) (x) -@@ -79,16 +56,8 @@ extern "C" { - - #define LIRC_CAN_SEND_MASK 0x0000003f - --/** This flag indicates that the transmitter is capable of setting the -- * IR carrier frequency. */ - #define LIRC_CAN_SET_SEND_CARRIER 0x00000100 -- --/** This flag indicates that the transmitter is capable of setting the -- * duty cycle of generated IR signals. */ - #define LIRC_CAN_SET_SEND_DUTY_CYCLE 0x00000200 -- --/** This flag indicates that the transmitter is capable of setting a -- * transmitter mask, i.e., probably has several transmitters. */ - #define LIRC_CAN_SET_TRANSMITTER_MASK 0x00000400 - - #define LIRC_CAN_REC_RAW LIRC_MODE2REC(LIRC_MODE_RAW) -@@ -107,16 +76,10 @@ extern "C" { - #define LIRC_CAN_SET_REC_TIMEOUT 0x10000000 - #define LIRC_CAN_SET_REC_FILTER 0x08000000 - -- --/** This flag indicates that the receiver is capable of estimating -- * the carrier frequency of received IR signals. */ - #define LIRC_CAN_MEASURE_CARRIER 0x02000000 - #define LIRC_CAN_USE_WIDEBAND_RECEIVER 0x04000000 - --/** Extract sending features from its argument. */ - #define LIRC_CAN_SEND(x) ((x)&LIRC_CAN_SEND_MASK) -- --/** Extract receiving features from its argument. */ - #define LIRC_CAN_REC(x) ((x)&LIRC_CAN_REC_MASK) - - #define LIRC_CAN_NOTIFY_DECODE 0x01000000 -@@ -127,20 +90,11 @@ extern "C" { - - #define LIRC_GET_SEND_MODE _IOR('i', 0x00000001, __u32) - #define LIRC_GET_REC_MODE _IOR('i', 0x00000002, __u32) --#define LIRC_GET_SEND_CARRIER _IOR('i', 0x00000003, __u32) --#define LIRC_GET_REC_CARRIER _IOR('i', 0x00000004, __u32) --#define LIRC_GET_SEND_DUTY_CYCLE _IOR('i', 0x00000005, __u32) --#define LIRC_GET_REC_DUTY_CYCLE _IOR('i', 0x00000006, __u32) - #define LIRC_GET_REC_RESOLUTION _IOR('i', 0x00000007, __u32) - - #define LIRC_GET_MIN_TIMEOUT _IOR('i', 0x00000008, __u32) - #define LIRC_GET_MAX_TIMEOUT _IOR('i', 0x00000009, __u32) - --#define LIRC_GET_MIN_FILTER_PULSE _IOR('i', 0x0000000a, __u32) --#define LIRC_GET_MAX_FILTER_PULSE _IOR('i', 0x0000000b, __u32) --#define LIRC_GET_MIN_FILTER_SPACE _IOR('i', 0x0000000c, __u32) --#define LIRC_GET_MAX_FILTER_SPACE _IOR('i', 0x0000000d, __u32) -- - /* code length in bits, currently only for LIRC_MODE_LIRCCODE */ - #define LIRC_GET_LENGTH _IOR('i', 0x0000000f, __u32) - -@@ -150,7 +104,6 @@ extern "C" { - #define LIRC_SET_SEND_CARRIER _IOW('i', 0x00000013, __u32) - #define LIRC_SET_REC_CARRIER _IOW('i', 0x00000014, __u32) - #define LIRC_SET_SEND_DUTY_CYCLE _IOW('i', 0x00000015, __u32) --#define LIRC_SET_REC_DUTY_CYCLE _IOW('i', 0x00000016, __u32) - #define LIRC_SET_TRANSMITTER_MASK _IOW('i', 0x00000017, __u32) - - /* -@@ -164,45 +117,17 @@ extern "C" { - #define LIRC_SET_REC_TIMEOUT_REPORTS _IOW('i', 0x00000019, __u32) - - /* -- * pulses shorter than this are filtered out by hardware (software -- * emulation in lirc_dev?) -- */ --#define LIRC_SET_REC_FILTER_PULSE _IOW('i', 0x0000001a, __u32) --/* -- * spaces shorter than this are filtered out by hardware (software -- * emulation in lirc_dev?) -- */ --#define LIRC_SET_REC_FILTER_SPACE _IOW('i', 0x0000001b, __u32) --/* -- * if filter cannot be set independantly for pulse/space, this should -- * be used -- */ --#define LIRC_SET_REC_FILTER _IOW('i', 0x0000001c, __u32) -- --/* - * if enabled from the next key press on the driver will send - * LIRC_MODE2_FREQUENCY packets - */ --#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32) -+#define LIRC_SET_MEASURE_CARRIER_MODE _IOW('i', 0x0000001d, __u32) - - /* -- * to set a range use -- * LIRC_SET_REC_DUTY_CYCLE_RANGE/LIRC_SET_REC_CARRIER_RANGE with the -- * lower bound first and later -- * LIRC_SET_REC_DUTY_CYCLE/LIRC_SET_REC_CARRIER with the upper bound -+ * to set a range use LIRC_SET_REC_CARRIER_RANGE with the -+ * lower bound first and later LIRC_SET_REC_CARRIER with the upper bound - */ -- --#define LIRC_SET_REC_DUTY_CYCLE_RANGE _IOW('i', 0x0000001e, __u32) - #define LIRC_SET_REC_CARRIER_RANGE _IOW('i', 0x0000001f, __u32) - --#define LIRC_NOTIFY_DECODE _IO('i', 0x00000020) -- --#define LIRC_SETUP_START _IO('i', 0x00000021) --#define LIRC_SETUP_END _IO('i', 0x00000022) - #define LIRC_SET_WIDEBAND_RECEIVER _IOW('i', 0x00000023, __u32) - --#ifdef __cplusplus --} - #endif -- --#endif //LIRC_BASE_H --- -2.5.5 - diff --git a/0012-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch b/0012-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch deleted file mode 100644 index 65a48e8..0000000 --- a/0012-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch +++ /dev/null @@ -1,110 +0,0 @@ -From 6a57d48e1a233dfc55d436e8d064509cb03973d1 Mon Sep 17 00:00:00 2001 -From: Alec Leamas -Date: Fri, 19 Aug 2016 04:48:02 +0200 -Subject: [PATCH 7/7] lircd: Remove use of functions killed in kernel 4.8.0 - -From 4.8.0 the kernel no longer supports LIRC_NOTIFY_DECODE, -LIRC_SETUP_START/LIRC_SETUP_END and several constants related -to initiating filters. Remove corresponding calls from lircd. ---- - daemons/lircd.cpp | 51 ++------------------------------------------------- - lib/driver.h | 7 +++++++ - 2 files changed, 9 insertions(+), 49 deletions(-) - -diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp -index a7dbc94..a50d11f 100644 ---- a/daemons/lircd.cpp -+++ b/daemons/lircd.cpp -@@ -464,50 +464,6 @@ static int setup_timeout(void) - } - - --static int setup_filter(void) --{ -- int ret1, ret2; -- lirc_t min_pulse_supported = 0, max_pulse_supported = 0; -- lirc_t min_space_supported = 0, max_space_supported = 0; -- -- if (!(curr_driver->features & LIRC_CAN_SET_REC_FILTER)) -- return 1; -- if (curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_PULSE, -- &min_pulse_supported) == -1 || -- curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_PULSE, &max_pulse_supported) == -1 -- || curr_driver->drvctl_func(LIRC_GET_MIN_FILTER_SPACE, &min_space_supported) == -1 -- || curr_driver->drvctl_func(LIRC_GET_MAX_FILTER_SPACE, &max_space_supported) == -1) { -- log_error("could not get filter range"); -- log_perror_err(__func__); -- } -- -- if (setup_min_pulse > max_pulse_supported) -- setup_min_pulse = max_pulse_supported; -- else if (setup_min_pulse < min_pulse_supported) -- setup_min_pulse = 0; /* disable filtering */ -- -- if (setup_min_space > max_space_supported) -- setup_min_space = max_space_supported; -- else if (setup_min_space < min_space_supported) -- setup_min_space = 0; /* disable filtering */ -- -- ret1 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_PULSE, &setup_min_pulse); -- ret2 = curr_driver->drvctl_func(LIRC_SET_REC_FILTER_SPACE, &setup_min_space); -- if (ret1 == -1 || ret2 == -1) { -- if (curr_driver-> -- drvctl_func(LIRC_SET_REC_FILTER, -- setup_min_pulse < setup_min_space ? &setup_min_pulse : &setup_min_space) == -1) { -- log_error("could not set filter"); -- log_perror_err(__func__); -- return 0; -- } -- } -- return 1; --} -- -- -- -- - static int setup_hardware(void) - { - int ret = 1; -@@ -516,10 +472,7 @@ static int setup_hardware(void) - if ((curr_driver->features & LIRC_CAN_SET_REC_CARRIER) - || (curr_driver->features & LIRC_CAN_SET_REC_TIMEOUT) - || (curr_driver->features & LIRC_CAN_SET_REC_FILTER)) { -- (void)curr_driver->drvctl_func(LIRC_SETUP_START, NULL); -- ret = setup_frequency() && setup_timeout() -- && setup_filter(); -- (void)curr_driver->drvctl_func(LIRC_SETUP_END, NULL); -+ ret = setup_frequency() && setup_timeout(); - } - } - return ret; -@@ -2162,7 +2115,7 @@ void loop(void) - int reps; - - if (curr_driver->drvctl_func && (curr_driver->features & LIRC_CAN_NOTIFY_DECODE)) -- curr_driver->drvctl_func(LIRC_NOTIFY_DECODE, NULL); -+ curr_driver->drvctl_func(DRVCTL_NOTIFY_DECODE, NULL); - - get_release_data(&remote_name, &button_name, &reps); - -diff --git a/lib/driver.h b/lib/driver.h -index c7c4a6a..fc7318e 100644 ---- a/lib/driver.h -+++ b/lib/driver.h -@@ -97,6 +97,13 @@ int drv_handle_options(const char* options); - /** drvctl cmd: Free memory in argument obtained using DRVCTL_GET_DEVICES. */ - #define DRVCTL_FREE_DEVICES 6 - -+/** -+ * The former LIRC_NOTIFY_DECODE, informs drier that signal is successfully -+ * decoded e. g., to initiate some visual feedback through a LED. -+ */ -+ -+#define DRVCTL_NOTIFY_DECODE 7 -+ - /** Last well-known command. Remaining is used in driver-specific controls.*/ - #define DRVCTL_MAX 128 - --- -2.5.5 - diff --git a/lirc.spec b/lirc.spec index f149c62..a5bf0ad 100644 --- a/lirc.spec +++ b/lirc.spec @@ -4,7 +4,7 @@ #define tag devel Name: lirc -Version: 0.9.4b +Version: 0.9.4c Release: %{?tag:0.}4%{?tag:.}%{?tag}%{?dist} Summary: The Linux Infrared Remote Control package @@ -17,19 +17,15 @@ URL: http://www.lirc.org/ Source0: %{?released:%{repo}}%{name}-%{version}%{?tag:-}%{?tag}.tar.gz Source1: README.fedora Source2: 99-remote-control-lirc.rules - # Config only, cannot be upstreamed. -#Patch1: 0001-Changing-effective-user-default.patch -Patch2: 0002-NEWS-lirc.org-index.html-Fixes.patch -Patch3: 0003-irtoy-improve-error-handling-220.patch -Patch4: 0004-plugins-audio_alsa-Fix-byte-truncating-in-16-bit-dat.patch -Patch5: 0005-contrib-disable-udev-dev-uinput-rule.patch -Patch6: 0006-lirc-setup-Fix-crasher-bugfix.patch -Patch7: 0007-contrib-Fix-usb-devices-acl-permissions-rhbz-1364744.patch -Patch8: 0008-lircd-Retry-temporary-unavailable-write-sockets-221.patch -Patch9: 0009-lircd-Warn-for-duplicate-remote-definitions-222.patch -Patch10: 0010-lirc-make-devinput-Fix-that-two-remotes-has-the-same.patch -Patch11: 0011-include-Update-bundled-lirc.h.patch -Patch12: 0012-lircd-Remove-use-of-functions-killed-in-kernel-4.8.0.patch +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 BuildRequires: alsa-lib-devel Buildrequires: autoconf @@ -192,25 +188,9 @@ full support for the ftdi device. %prep -%setup -qn %{name}-%{version}%{?tag} -#patch1 -p1 +%autosetup -p1 -n %{name}-%{version}%{?tag} sed -i -e 's/#effective-user/effective-user /' lirc_options.conf sed -i -e '/^effective-user/s/=$/= lirc/' lirc_options.conf -%patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p1 -%patch8 -p1 -%patch9 -p1 -%patch10 -p1 - -%if 0%fedora > 24 -%patch11 -p1 -%patch12 -p1 -cp lib/driver.h lib/lirc/driver.h -%endif sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc @@ -218,7 +198,7 @@ sed -i -e 's|/usr/local/etc/|/etc/|' contrib/irman2lirc %build autoreconf -fi -CFLAGS="%{optflags}" %configure --libdir=%{_libdir} +CFLAGS="%{optflags}" HAVE_UINPUT=1 %configure --libdir=%{_libdir} make %{?_smp_mflags} %install @@ -364,6 +344,18 @@ systemd-tmpfiles --create %{_tmpfilesdir}/lirc.conf %{_udevrulesdir}/99-remote-control-lirc.rules %changelog +* Sun Oct 30 2016 Alec Leamas - 0.9.4c-4 +- Added upstream patches (10) + +* Sat Oct 22 2016 Alec Leamas - 0.9.4c-3 +- Add fix for header file curl_poll.h, fixing clients FTBS errors. + +* Fri Oct 21 2016 Alec Leamas - 0.9.4c-2 +- Rebuilt + +* Fri Oct 21 2016 Alec Leamas - 0.9.4c-1 +- New upstream version, patches upstreamed + * Tue Aug 23 2016 Alec Leamas - 0.9.4b-4 - Add fixes for #221 and #222 - Update patches, include everything from upstream diff --git a/sources b/sources index 9802488..f9bb9de 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -f1e11512b543a74e4321ecf77f829518 lirc-0.9.4a.tar.gz -cde69a4d8020a217757f07e97dd4444e lirc-0.9.4b.tar.gz +a7c17a7ec11756e0278d31e8d965a384 lirc-0.9.4c.tar.gz