packages update

Home › Forums › Suggestions and Requests › packages update

This topic contains 5 replies, has 2 voices, and was last updated by tomlohave 3 weeks, 1 day ago.

  • Author
    Posts
  • #11049

    wolf84
    Member
    diff -ru a/packages/libs/chromaprint/meta b/packages/libs/chromaprint/meta
    --- a/packages/libs/chromaprint/meta    2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/libs/chromaprint/meta    2016-11-07 00:35:27.000000000 +0100
    @@ -9,4 +9,4 @@
     PKG_SECTION=libs
     PKG_SHORTDESC="extract fingerprints from any audio source."
     PKG_LONGDESC="A client-side library that implements a custom algorithm for extracting fingerprints from any audio source."
    -PKG_MD5="6db0b5240231b7d2e6628f49fc765b4a"
    +PKG_MD5="f3745ac10b4d4d992cabe743c4a3ed0f"
    diff -ru a/packages/libs/libplist/meta b/packages/libs/libplist/meta
    --- a/packages/libs/libplist/meta       2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/libs/libplist/meta       2016-11-06 22:23:00.000000000 +0100
    @@ -8,4 +8,4 @@
     PKG_SECTION=libs
     PKG_SHORTDESC="A library to handle Apple Property List format whereas it's binary or XML."
     PKG_LONGDESC="A library to handle Apple Property List format whereas it's binary or XML."
    -PKG_MD5="2a9e0258847d50f9760dc3ece25f4dc6"
    +PKG_MD5="5893e8121ddd63a66da823e26e077443"
    diff -ru a/packages/net/curl/meta b/packages/net/curl/meta
    --- a/packages/net/curl/meta    2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/net/curl/meta    2016-11-06 20:23:45.000000000 +0100
    @@ -9,4 +9,4 @@
     PKG_SHORTDESC="Multi-protocol file transfer library"
     PKG_LONGDESC="libcurl is designed to be a solid, usable, reliable and portable multi-protocol file transfer library."
     PKG_SECTION=net
    -PKG_MD5="1efecb5b0e43c17d968f0d228bbbbbbd"
    +PKG_MD5="015f6a0217ca6f2c5442ca406476920b"
    diff -ru a/packages/python/pyload/meta b/packages/python/pyload/meta
    --- a/packages/python/pyload/meta       2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/python/pyload/meta       2016-11-07 16:44:24.000000000 +0100
    @@ -1,6 +1,7 @@
     PKG_NAME=pyload
     PKG_VERSION=0.4.9
    -PKG_URL="http://download.pyload.org/pyload-src-v${PKG_VERSION}.zip"
    +#PKG_URL="http://download.pyload.org/pyload-src-v${PKG_VERSION}.zip"
    +PKG_URL="https://github.com/pyload/pyload/archive/v${PKG_VERSION}.zip"
     PKG_REV="2"
     PKG_BUILD_DEPENDS="toolchain"
     PKG_DEPENDS="Python python-pycurl python-pil python-pycrypto python-pyopenssl unrar"
    @@ -8,4 +9,4 @@
     PKG_SECTION=python
     PKG_SHORTDESC=" fast, lightweight and full featured download manager"
     PKG_LONGDESC="pyLoad is a fast, lightweight and full featured download manager for many One-Click-Hoster, container formats like DLC, video sites or just plain http/ftp links. It aims for low hardware requirements and platform independence to be runnable on all kind of systems (desktop pc, netbook, NAS, router)."
    -PKG_MD5="28876150af22999b6f539c8579d3b415"
    +PKG_MD5="b536cb04b4983507d4393e284d7c7d93"
    diff -ru a/packages/python/python-progressbar/meta b/packages/python/python-progressbar/meta
    --- a/packages/python/python-progressbar/meta   2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/python/python-progressbar/meta   2016-10-27 12:40:00.000000000 +0200
    @@ -1,10 +1,12 @@
     PKG_NAME="python-progressbar"
    -PKG_VERSION="2.3"
    -PKG_SECTION="python"
    +#PKG_VERSION="2.3"
    +#PKG_URL="http://python-progressbar.googlecode.com/files/progressbar-${PKG_VERSION}.tar.gz"
    +PKG_URL_PROTO=git
    +PKG_URL_REV="1~32422c1"
    +PKG_URL="https://github.com/niltonvolpato/python-progressbar"
     PKG_REV="2"
    -PKG_URL="http://python-progressbar.googlecode.com/files/progressbar-${PKG_VERSION}.tar.gz"
     PKG_BUILD_DEPENDS="toolchain python-distribute"
     PKG_DEPENDS="Python"
    +PKG_SECTION="python"
     PKG_SHORTDESC="Text progressbar library for python."
     PKG_LONGDESC="This library provides a text mode progressbar. This is typically used to display the progress of a long running operation, providing a visual clue that processing is underway."
    -PKG_MD5="4f904e94b783b4c6e71aa74fd2432c59"
    diff -ru a/packages/system/evtest/meta b/packages/system/evtest/meta
    --- a/packages/system/evtest/meta       2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/system/evtest/meta       2016-11-07 16:50:49.000000000 +0100
    @@ -8,4 +8,4 @@
     PKG_SECTION=system
     PKG_SHORTDESC="Simple tool for input event debugging."
     PKG_LONGDESC="Simple tool for input event debugging."
    -PKG_MD5="1d95cd9952d34dd15f93adb197323073"
    +PKG_MD5="39a8d096a86a202f34bc8636a3f0d3fc"
    
    • This topic was modified 3 weeks, 1 day ago by wolf84.
  • #11051

    wolf84
    Member
    diff -Naur a/packages/drivers/eventlircd/meta b/packages/drivers/eventlircd/meta
    --- a/packages/drivers/eventlircd/meta	2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/drivers/eventlircd/meta	2016-10-28 22:36:07.000000000 +0200
    @@ -1,9 +1,14 @@
     PKG_NAME=eventlircd
    -PKG_URL_REV=44
    -PKG_URL_PROTO=svn
    -PKG_URL="http://eventlircd.googlecode.com/svn/trunk"
    +#PKG_URL_REV=44
    +#PKG_URL_PROTO=svn
    +#PKG_URL="http://eventlircd.googlecode.com/svn/trunk"
    +#PKG_VERSION="r${PKG_URL_REV}"
    +#PKG_REV="7"
    +PKG_URL_REV=7faaf9d
    +PKG_URL_PROTO=git
     PKG_VERSION="r${PKG_URL_REV}"
    -PKG_REV="7"
    +PKG_URL="https://github.com/OpenELEC/eventlircd.git"
    +PKG_REV=1
     PKG_DEPENDS="systemd"
     PKG_BUILD_DEPENDS="toolchain"
     PKG_RUNTIME_DEPENDS="lirc v4l-utils"
    @@ -11,4 +16,3 @@
     PKG_SECTION=drivers
     PKG_SHORTDESC="A GNU/Linux daemon for simplifying udev based hotplugging of remote control devices."
     PKG_LONGDESC="The eventlircd daemon provides four functions for LIRC devices: converting multiple Linux input event devices into an lircd socket, separating keyboard and mouse/joystick functionality, mapping keyboard shortcut key code sequences to single key codes, and hotplugging using udev."
    -PKG_MD5="56cbf3dca627cbb7c2d32b17c9143fce"
    diff -Naur a/packages/drivers/eventlircd/patches/05_add-backslash-on-wrapped-lines.diff b/packages/drivers/eventlircd/patches/05_add-backslash-on-wrapped-lines.diff
    --- a/packages/drivers/eventlircd/patches/05_add-backslash-on-wrapped-lines.diff	2016-10-27 15:45:12.000000000 +0200
    +++ b/packages/drivers/eventlircd/patches/05_add-backslash-on-wrapped-lines.diff	1970-01-01 01:00:00.000000000 +0100
    @@ -1,21 +0,0 @@
    -diff -Naur a/udev/rules.d/98-eventlircd.rules.disabled.in b/udev/rules.d/98-eventlircd.rules.disabled.in
    ---- a/udev/rules.d/98-eventlircd.rules.disabled.in	2011-10-23 10:13:04.000000000 +0200
    -+++ b/udev/rules.d/98-eventlircd.rules.disabled.in	2013-11-11 12:37:08.998439128 +0100
    -@@ -54,7 +54,7 @@
    - # Ask eventlircd to handle input event devices created by ir-core (kernel).
    - #-------------------------------------------------------------------------------
    - SUBSYSTEMS=="rc", 
    --  ENV{eventlircd_enable}="true"
    -+  ENV{eventlircd_enable}="true", 
    -   ENV{eventlircd_evmap}="ircore.evmap"
    - 
    - #-------------------------------------------------------------------------------
    -@@ -69,7 +69,7 @@
    - ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
    - 
    - ENV{ID_VENDOR_ID}=="0419", ENV{ID_MODEL_ID}=="0001", 
    --  ENV{eventlircd_enable}="true",
    -+  ENV{eventlircd_enable}="true", 
    -   ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
    - 
    - ENV{ID_VENDOR_ID}=="05a4", ENV{ID_MODEL_ID}=="9881", 
    diff -Naur a/packages/drivers/eventlircd/patches/12_remove_Werror-pedantic.diff b/packages/drivers/eventlircd/patches/12_remove_Werror-pedantic.diff
    --- a/packages/drivers/eventlircd/patches/12_remove_Werror-pedantic.diff	2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/drivers/eventlircd/patches/12_remove_Werror-pedantic.diff	1970-01-01 01:00:00.000000000 +0100
    @@ -1,12 +0,0 @@
    -diff --git a/configure.ac b/configure.ac
    -index 0a0123d..566edc3 100644
    ---- a/configure.ac
    -+++ b/configure.ac
    -@@ -118,7 +118,6 @@ dnl Only add an optimization flag when one is not already present.
    - if ! echo " ${CC} ${CFLAGS} " | ${GREP} ' -O@<:@^ @:>@* ' > /dev/null ; then
    -     AX_C_CHECK_FLAG([-O2],[],[],[CFLAGS="$CFLAGS -O2"],[])
    - fi
    --AX_C_CHECK_FLAG([-pedantic],[],[],[CFLAGS="$CFLAGS -pedantic"],[])
    - AX_C_CHECK_FLAG([-flto],[],[],[CFLAGS="$CFLAGS -flto"],[])
    - AX_C_CHECK_FLAG([-fvisibility=hidden],[],[],[CFLAGS="$CFLAGS -fvisibility=hidden"],[])
    - AX_C_CHECK_FLAG([-Werror],[],[],[CFLAGS="$CFLAGS -Werror"],[])
    diff -Naur a/packages/drivers/eventlircd/patches/eventlircd.patch b/packages/drivers/eventlircd/patches/eventlircd.patch
    --- a/packages/drivers/eventlircd/patches/eventlircd.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/eventlircd/patches/eventlircd.patch	2016-10-28 22:52:14.000000000 +0200
    @@ -0,0 +1,304 @@
    +diff -ru a/configure.ac b/configure.ac
    +--- a/configure.ac	2016-03-15 20:27:42.000000000 +0100
    ++++ b/configure.ac	2015-10-16 17:39:34.000000000 +0200
    +@@ -92,15 +92,10 @@
    + dnl in order for them to generate the header files event_name_to_code.h,
    + dnl evkey_code_to_name.h and evkey_type.h respectively
    + AX_ABSOLUTE_HEADER(linux/input.h)
    +-AX_ABSOLUTE_HEADER(linux/input-event-codes.h)
    +-if test "x$gl_cv_absolute_linux_input_event_codes_h" = "x" ; then
    +-  if test "x$gl_cv_absolute_linux_input_h" = "x" ; then
    +-      AC_MSG_ERROR([failed to find the absolute path to header file linux/input.h or linux/input-event-codes.h])
    +-  fi
    +-  AC_SUBST(ABSOLUTE_LINUX_INPUT_H, $gl_cv_absolute_linux_input_h)
    +-else
    +-  AC_SUBST(ABSOLUTE_LINUX_INPUT_H, $gl_cv_absolute_linux_input_event_codes_h)
    ++if test "x$gl_cv_absolute_linux_input_h" = "x" ; then
    ++    AC_MSG_ERROR([failed to find the absolute path to header file linux/input.h])
    + fi
    ++AC_SUBST(ABSOLUTE_LINUX_INPUT_H, $gl_cv_absolute_linux_input_h)
    + 
    + PKG_CHECK_MODULES(LIBUDEV, [libudev >= 136])
    + 
    +@@ -123,6 +118,7 @@
    + if ! echo " ${CC} ${CFLAGS} " | ${GREP} ' -O@<:@^ @:>@* ' > /dev/null ; then
    +     AX_C_CHECK_FLAG([-O2],[],[],[CFLAGS="$CFLAGS -O2"],[])
    + fi
    ++AX_C_CHECK_FLAG([-pedantic],[],[],[CFLAGS="$CFLAGS -pedantic"],[])
    + AX_C_CHECK_FLAG([-flto],[],[],[CFLAGS="$CFLAGS -flto"],[])
    + AX_C_CHECK_FLAG([-fvisibility=hidden],[],[],[CFLAGS="$CFLAGS -fvisibility=hidden"],[])
    + AX_C_CHECK_FLAG([-Werror],[],[],[CFLAGS="$CFLAGS -Werror"],[])
    +diff -ru a/etc/03_0766_0204.evmap b/etc/03_0766_0204.evmap
    +--- a/etc/03_0766_0204.evmap	2016-03-15 20:27:42.000000000 +0100
    ++++ b/etc/03_0766_0204.evmap	2015-10-16 17:39:34.000000000 +0200
    +@@ -1,46 +1,13 @@
    +- KEY_1            = KEY_NUMERIC_1   # 1
    +- KEY_2            = KEY_NUMERIC_2   # 2
    +- KEY_3            = KEY_NUMERIC_3   # 3
    +- KEY_4            = KEY_NUMERIC_4   # 4
    +- KEY_5            = KEY_NUMERIC_5   # 5
    +- KEY_6            = KEY_NUMERIC_6   # 6
    +- KEY_7            = KEY_NUMERIC_7   # 7
    +- KEY_8            = KEY_NUMERIC_8   # 8
    +- KEY_9            = KEY_NUMERIC_9   # 9
    +- KEY_0            = KEY_NUMERIC_0   # 0
    +- KEY_UP           = KEY_UP          # Up Arrow
    +- KEY_DOWN         = KEY_DOWN        # Down Arrow
    +- KEY_LEFT         = KEY_LEFT        # Left Arrow
    +- KEY_RIGHT        = KEY_RIGHT       # Right Arrow
    +- KEY_ENTER        = KEY_ENTER       # Enter & Ok
    +- KEY_DELETE       = KEY_CLEAR       # Clear
    +- KEY_HOME         = KEY_HOME        # Home
    +- KEY_SLEEP        = KEY_POWER       # Power
    +- KEY_DVD          = KEY_DVD         # DVD/VCD
    +- KEY_MP3          = KEY_MP3         # Music
    +- KEY_MEDIA        = KEY_IMAGES      # Pictures
    +- KEY_VIDEO        = KEY_VIDEO       # Videos
    +- KEY_TV           = KEY_TV          # Live TV
    +- KEY_RECORD       = KEY_RECORD      # Record
    +- KEY_RADIO        = KEY_RADIO       # Radio
    +- KEY_AUDIO        = KEY_AUDIO       # SAP
    +- KEY_TEXT         = KEY_TEXT        # Teletext/CC
    +- KEY_LAST         = KEY_LAST        # Last CH
    +- KEY_SUBTITLE     = KEY_SUBTITLE    # Subtitle
    +- KEY_LANGUAGE     = KEY_LANGUAGE    # Language
    +- KEY_ANGLE        = KEY_ANGLE       # Angle
    +- KEY_BACK         = KEY_BACK        # BACK
    +- KEY_PROPS        = KEY_INFO        # Info/EPG
    +- KEY_MENU         = KEY_MENU        # DVD Menu
    +- KEY_VOLUMEDOWN   = KEY_VOLUMEDOWN  # Vol -
    +- KEY_VOLUMEUP     = KEY_VOLUMEUP    # Vol +
    +- KEY_MUTE         = KEY_MUTE        # Mute
    +- KEY_CHANNELUP    = KEY_CHANNELUP   # CH/PG up
    +- KEY_CHANNELDOWN  = KEY_CHANNELDOWN # CH/PG down
    +- KEY_PLAY         = KEY_PLAY        # Play
    +- KEY_REWIND       = KEY_REWIND      # Rev
    +- KEY_PAUSE        = KEY_PAUSE       # Pause
    +- KEY_FASTFORWARD  = KEY_FASTFORWARD # Fwd
    +- KEY_PREVIOUSSONG = KEY_PREVIOUS    # Prev
    +- KEY_STOPCD       = KEY_STOP        # Stop
    +- KEY_NEXTSONG     = KEY_NEXT        # Next
    ++KEY_ENTER        = KEY_OK          # Enter & Ok
    ++KEY_DELETE       = KEY_CLEAR       # Clear
    ++KEY_SLEEP        = KEY_POWER2      # Power
    ++KEY_MP3          = KEY_GREEN       # Green
    ++KEY_VIDEO        = KEY_BLUE        # Blue
    ++KEY_BACK         = KEY_ESC         # BACK
    ++KEY_PROPS        = KEY_INFO        # Info/EPG
    ++KEY_MUTE         = KEY_MUTE        # Mute
    ++KEY_PREVIOUSSONG = KEY_PBACK       # Prev
    ++KEY_STOPCD       = KEY_STOP        # Stop
    ++KEY_NEXTSONG     = KEY_NEXT        # Next
    ++KEY_TV2          = KEY_RED         # Red
    ++KEY_CAMERA       = KEY_YELLOW      # Yellow
    +diff -ru a/etc/03_147a_e02d.evmap b/etc/03_147a_e02d.evmap
    +--- a/etc/03_147a_e02d.evmap	2016-03-15 20:27:42.000000000 +0100
    ++++ b/etc/03_147a_e02d.evmap	2015-10-16 17:39:34.000000000 +0200
    +@@ -15,7 +15,7 @@
    +  KEY_F6    = KEY_PREVIOUS   # KEY_GREEN
    +  KEY_F7    = KEY_NEXT       # KEY_YELLOW
    +  KEY_F8    = KEY_BLUE
    +- KEY_ENTER = KEY_ENTER
    ++ KEY_ENTER = KEY_OK
    +  KEY_UP    = KEY_UP
    +  KEY_DOWN  = KEY_DOWN
    +  KEY_LEFT  = KEY_LEFT
    +Csak ebben: b: README
    +Csak ebben: a: README.md
    +diff -ru a/src/input.c b/src/input.c
    +--- a/src/input.c	2016-03-15 20:27:42.000000000 +0100
    ++++ b/src/input.c	2015-10-16 17:39:34.000000000 +0200
    +@@ -1102,12 +1102,9 @@
    + 		     if (evkey_type[device->current.event_out.code] == EVENTLIRCD_EVKEY_TYPE_KEY) {
    + 			     time_delta = 1000000 * (device->current.event_out.time.tv_sec  - previous->event_out.time.tv_sec ) +
    + 			                            (device->current.event_out.time.tv_usec - previous->event_out.time.tv_usec);
    +-			     if (((previous->repeat_count == 0) && (time_delta <  900000)) ||
    +-			         ((previous->repeat_count == 1) && (time_delta <  500000)) ||
    +-			         ((previous->repeat_count == 2) && (time_delta <  300000)) ||
    +-			         ((previous->repeat_count == 3) && (time_delta <  200000)) ||
    +-			         ((previous->repeat_count == 4) && (time_delta <  150000)) ||
    +-			         ((previous->repeat_count >= 5) && (time_delta <  100000))) {
    ++			     if (((previous->repeat_count == 0) && (time_delta <  250000)) ||
    ++			         ((previous->repeat_count >= 1) && (previous->repeat_count < 15) && (time_delta <  180000)) ||
    ++			         ((previous->repeat_count >= 15) && (time_delta <  35000))) {
    + 				     memset(&(device->current.event_out), 0, sizeof(struct input_event));
    + 				     device->current.event_out.type = EVENTLIRCD_EV_NULL;
    + 				     device->current.repeat_count = 0;
    +@@ -1929,19 +1926,7 @@
    + 	 *
    + 	 */
    + 	if (output_active == true) {
    +-		if (write(device->output.fd, &device->output.dev, sizeof(device->output.dev)) != sizeof(device->output.dev)) {
    +-			syslog(LOG_ERR,
    +-			       "input device %s: unable to write output event device: %sn",
    +-			       device->path,
    +-			       strerror(errno));
    +-			close(device->output.fd);
    +-			free(device->remote);
    +-			input_device_evmap_exit(device);
    +-			close(device->fd);
    +-			free(device->path);
    +-			free(device);
    +-			return -1;
    +-		}
    ++		write(device->output.fd, &device->output.dev, sizeof(device->output.dev));
    + 		if (ioctl(device->output.fd, UI_DEV_CREATE)) {
    + 			syslog(LOG_ERR,
    + 			       "input device %s: unable to create output event device: %sn",
    +diff -ru a/src/main.c b/src/main.c
    +--- a/src/main.c	2016-03-15 20:27:42.000000000 +0100
    ++++ b/src/main.c	2015-10-16 17:39:34.000000000 +0200
    +@@ -54,6 +54,7 @@
    +         {"evmap",required_argument,NULL,'e'},
    +         {"socket",required_argument,NULL,'s'},
    +         {"mode",required_argument,NULL,'m'},
    ++        {"process",required_argument,NULL,'p'},
    +         {"repeat-filter",no_argument,NULL,'R'},
    +         {"release",required_argument,NULL,'r'},
    +         {0, 0, 0, 0}
    +@@ -72,7 +73,7 @@
    + 
    +     openlog(progname, LOG_CONS | LOG_PERROR | LOG_PID, LOG_DAEMON);
    + 
    +-    while((opt = getopt_long(argc, argv, "hVvfe:s:m:Rr:", longopts, NULL)) != -1)
    ++    while((opt = getopt_long(argc, argv, "hVvfe:s:m:r:", longopts, NULL)) != -1)
    +     {
    +         switch(opt)
    +         {
    +@@ -163,12 +164,7 @@
    + 
    +     if (foreground != true)
    +     {
    +-        if (daemon(0, 0) != 0)
    +-        {
    +-            monitor_exit();
    +-            lircd_exit();
    +-            exit(EXIT_FAILURE);
    +-        }
    ++        daemon(0, 0);
    +     }
    + 
    +     if (input_init(input_device_evmap_dir, input_repeat_filter) != 0)
    +diff -ru a/udev/lircd_helper.in b/udev/lircd_helper.in
    +--- a/udev/lircd_helper.in	2016-03-15 20:27:42.000000000 +0100
    ++++ b/udev/lircd_helper.in	2015-10-16 17:39:34.000000000 +0200
    +@@ -28,48 +28,72 @@
    + #     as well as receiver, then we still need lircd running.
    + ################################################################################
    + 
    ++logger -t "lircd_helper" ACTION ${ACTION}
    ++logger -t "lircd_helper" lircd_driver ${lircd_driver}
    ++logger -t "lircd_helper" DEVNAME ${DEVNAME}
    + case "${ACTION}" in
    +-    add)
    ++    add|change)
    +         if test "x${lircd_driver}" = "x" ; then
    +             exit 1;
    +         fi
    +         if test "x${lircd_conf}" = "x" ; then
    +             exit 1;
    +         fi
    +-        if test ! -e '@localstatedir@/run/lirc' ; then
    +-            mkdir -p '@localstatedir@/run/lirc'
    ++        if test ! -e '/var/run/lirc' ; then
    ++            mkdir -p '/var/run/lirc'
    +         fi
    +         devname_instance=echo ${DEVNAME} | sed -e 's//+/~/g' -e 's/^~dev~//'
    +-        if test ! -e "@localstatedir@/run/lirc/lircd-${devname_instance}.pid" ; then
    +-            daemon='@sbindir@/lircd'
    ++        if test "x${lircd_driver}" = "xatilibusb" ; then
    ++            devname_instance="atilibusb"
    ++        fi
    ++        logger -t "lircd_helper" add/change devname_instance ${devname_instance}
    ++        if test -e "/var/run/lirc/lircd-${devname_instance}.pid"; then
    ++            process=$(ps -p $(cat /var/run/lirc/lircd-${devname_instance}.pid) -o comm=)
    ++            if test ! "x${process}" = "xlircd" ; then
    ++                logger -t "lircd_helper" removing stale pid "/var/run/lirc/lircd-${devname_instance}.pid"
    ++                rm -rf "/var/run/lirc/lircd-${devname_instance}.pid"
    ++            fi
    ++        fi
    ++        if test ! -e "/var/run/lirc/lircd-${devname_instance}.pid" ; then
    ++            daemon='/usr/sbin/lircd'
    +             daemon="${daemon} --driver=${lircd_driver}"
    +             daemon="${daemon} --device=${DEVNAME}"
    +             if test ! "x${lircd_uinput_disable}" = "xtrue" ; then
    +                 daemon="${daemon} --uinput"
    +             fi
    +-            daemon="${daemon} --output=@localstatedir@/run/lirc/lircd-${devname_instance}"
    +-            daemon="${daemon} --pidfile=@localstatedir@/run/lirc/lircd-${devname_instance}.pid"
    ++            daemon="${daemon} --output=/var/run/lirc/lircd-${devname_instance}"
    ++            daemon="${daemon} --pidfile=/var/run/lirc/lircd-${devname_instance}.pid"
    +             daemon="${daemon} ${lircd_conf}"
    +-            ${daemon}
    ++            echo "${daemon}" > "/var/run/lirc/lircd-${devname_instance}.sh"
    ++            chmod a+x "/var/run/lirc/lircd-${devname_instance}.sh"
    ++            systemctl start lircd_helper@${devname_instance}.service
    ++            logger -t "lircd_helper" add/change DEVLINKS ${DEVLINKS}
    +             for devlink in ${DEVLINKS} ; do
    +                 devlink_instance=echo ${devlink} | /bin/sed -e 's//+/~/g' -e 's/^~dev~//'
    +-                rm -f "@localstatedir@/run/lirc/lircd-${devlink_instance}"
    +-                ln -s "lircd-${devname_instance}" "@localstatedir@/run/lirc/lircd-${devlink_instance}"
    ++                if test ! "x${devlink_instance}" = "x" ; then
    ++                    logger -t "lircd_helper" add/change devlink_instance ${devlink_instance}
    ++                    rm -f "/var/run/lirc/lircd-${devlink_instance}"
    ++                    ln -s "lircd-${devname_instance}" "/var/run/lirc/lircd-${devlink_instance}"
    ++                fi
    +             done
    +         fi
    +         ;;
    +     remove)
    +         instance=echo $DEVNAME | sed -e 's//+/~/g' -e 's/^~dev~//'
    +-        if test -e "@localstatedir@/run/lirc/lircd-${instance}.pid" ; then
    +-            pid=cat @localstatedir@/run/lirc/lircd-${instance}.pid
    ++        if test "x${lircd_driver}" = "xatilibusb" ; then
    ++            instance="atilibusb"
    ++        fi
    ++        if test -e "/var/run/lirc/lircd-${instance}.pid" ; then
    ++            pid=cat /var/run/lirc/lircd-${instance}.pid
    +             if test ! "x${pid}" = "x" ; then
    +-                kill ${pid}
    ++                systemctl stop lircd_helper@${instance}.service
    +             fi
    +             for devlink in ${DEVLINKS} ; do
    +                 devlink_instance=echo ${devlink} | sed -e 's//+/~/g' -e 's/^~dev~//'
    +-                rm -f "@localstatedir@/run/lirc/lircd-${devlink_instance}"
    ++                rm -f "/var/run/lirc/lircd-${devlink_instance}"
    +             done
    +         fi
    ++        rm -f "/var/run/lirc/lircd-${instance}.sh"
    +         ;;
    + esac
    + 
    +diff -ru a/udev/rules.d/98-eventlircd.rules.disabled.in b/udev/rules.d/98-eventlircd.rules.disabled.in
    +--- a/udev/rules.d/98-eventlircd.rules.disabled.in	2016-03-15 20:27:42.000000000 +0100
    ++++ b/udev/rules.d/98-eventlircd.rules.disabled.in	2015-10-16 17:39:34.000000000 +0200
    +@@ -54,7 +54,7 @@
    + # Ask eventlircd to handle input event devices created by ir-core (kernel).
    + #-------------------------------------------------------------------------------
    + SUBSYSTEMS=="rc", 
    +-  ENV{eventlircd_enable}="true", 
    ++  ENV{eventlircd_enable}="true"
    +   ENV{eventlircd_evmap}="ircore.evmap"
    + 
    + #-------------------------------------------------------------------------------
    +@@ -69,7 +69,7 @@
    + ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
    + 
    + ENV{ID_VENDOR_ID}=="0419", ENV{ID_MODEL_ID}=="0001", 
    +-  ENV{eventlircd_enable}="true", 
    ++  ENV{eventlircd_enable}="true",
    +   ENV{eventlircd_evmap}="03_$env{ID_VENDOR_ID}_$env{ID_MODEL_ID}.evmap"
    + 
    + ENV{ID_VENDOR_ID}=="05a4", ENV{ID_MODEL_ID}=="9881", 
    +diff -ru a/udev/wakeup_enable.in b/udev/wakeup_enable.in
    +--- a/udev/wakeup_enable.in	2016-03-15 20:27:42.000000000 +0100
    ++++ b/udev/wakeup_enable.in	2015-10-16 17:39:34.000000000 +0200
    +@@ -4,7 +4,7 @@
    + ################################################################################
    + 
    + devpath=readlink -f "/sys/${DEVPATH}"
    +-while echo "${devpath}" | grep -q '^/sys/devices/' > /dev/null 2>&1 ; do
    ++while echo "${devpath}" | /bin/grep -q '^/sys/devices/' > /dev/null 2>&1 ; do
    +     if test -e "${devpath}/power/wakeup" ; then
    +         state=cat "${devpath}/power/wakeup"
    +         if test "x${state}" = "xdisabled" ; then
    diff -Naur a/packages/drivers/lirc/build b/packages/drivers/lirc/build
    --- a/packages/drivers/lirc/build	2016-10-27 15:45:12.000000000 +0200
    +++ b/packages/drivers/lirc/build	2016-10-28 22:04:04.000000000 +0200
    @@ -14,12 +14,21 @@
     get_meta $1
     cd $PKG_BUILD_DIR
    -
    +./autogen.sh
     do_configure 
    -            --without-x 
    +            --with-x 
                 --with-driver=userspace 
                 --with-kerneldir=$(kernel_path) 
                 $DEBUG_CONFIG 
    +            ac_cv_path_LIBUSB_CONFIG= 
    +            ac_cv_func_forkpty=no 
    +            ac_cv_lib_util_forkpty=no 
    +            ac_cv_prog_HAVE_PYTHON3=no 
    +            HAVE_WORKING_POLL=yes 
    +            --localstatedir=/ 
    +            --with-gnu-ld 
    +#            --without-x 
    +
     make
     make_install
    diff -Naur a/packages/drivers/lirc/meta b/packages/drivers/lirc/meta
    --- a/packages/drivers/lirc/meta	2016-11-05 14:44:14.000000000 +0100
    +++ b/packages/drivers/lirc/meta	2016-11-07 18:00:54.000000000 +0100
    @@ -1,7 +1,11 @@
     PKG_NAME=lirc
    -PKG_VERSION=0.9.0
    -PKG_URL="$SFNET_SRCS/lirc/lirc-${PKG_VERSION}.tar.bz2"
    -PKG_REV="5"
    +#PKG_VERSION=0.9.0
    +#PKG_URL="$SFNET_SRCS/lirc/lirc-${PKG_VERSION}.tar.bz2"
    +PKG_URL_PROTO=git
    +PKG_URL_REV="1~fab0de"
    +PKG_VERSION="0.9.5+${PKG_URL_REV}"
    +PKG_URL="git://git.code.sf.net/p/lirc/git"
    +PKG_REV="1"
     PKG_DEPENDS="libusb libftdi"
     PKG_BUILD_DEPENDS="toolchain libirman"
     PKG_RUN_DEPENDS="$TARGET_LIBC"
    @@ -10,4 +14,3 @@
     PKG_SECTION=drivers
     PKG_SHORTDESC="infra-red remote control support"
     PKG_LONGDESC="LIRC stands for 'Linux Infra-red Remote Control'. This package provides the daemons and some utilities to support infra-red remote controls under Linux."
    -PKG_MD5="b232aef26f23fe33ea8305d276637086"
    diff -Naur a/packages/drivers/lirc/patches/0.9.0/30_kerneldir.diff b/packages/drivers/lirc/patches/0.9.0/30_kerneldir.diff
    --- a/packages/drivers/lirc/patches/0.9.0/30_kerneldir.diff	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.0/30_kerneldir.diff	2016-10-27 15:45:12.000000000 +0200
    @@ -0,0 +1,21 @@
    +diff -Nur lirc-0.7.2pre3.orig/configure lirc-0.7.2pre3/configure
    +--- lirc-0.7.2pre3.orig/configure	Mon Aug  8 14:43:04 2005
    ++++ lirc-0.7.2pre3/configure	Mon Aug  8 14:42:32 2005
    +@@ -7870,16 +7870,12 @@
    +   kernelext=ko
    +   no_kernel=yes
    + 
    +-  if test uname != "Linux"; then
    +-    kerneldir="not running Linux"
    +-  else
    +-    for dir in /usr/src/kernel-source-uname -r /usr/src/linux-uname -r /usr/src/linux /lib/modules/uname -r/source /lib/modules/uname -r/build ${ac_kerneldir}; do
    ++    for dir in ${ac_kerneldir}; do
    +       if test -d $dir; then
    +         kerneldir=dirname $dir/Makefile/
    +         no_kernel=no
    +       fi;
    +     done
    +-  fi
    + 
    +   if test x${no_kernel} != xyes; then
    +     if test -f ${kerneldir}/Makefile; then
    diff -Naur a/packages/drivers/lirc/patches/0.9.0/40_gmake.diff b/packages/drivers/lirc/patches/0.9.0/40_gmake.diff
    --- a/packages/drivers/lirc/patches/0.9.0/40_gmake.diff	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.0/40_gmake.diff	2016-10-27 15:45:12.000000000 +0200
    @@ -0,0 +1,14 @@
    +diff -Naur lirc-0.7.0.orig/configure lirc-0.7.0/configure
    +--- lirc-0.7.0.orig/configure	2004-12-30 01:36:49.918207016 +0100
    ++++ lirc-0.7.0/configure	2004-12-30 01:36:56.205251240 +0100
    +@@ -22813,8 +22813,8 @@
    +       echo "	echo $(VERSION)" >>${ac_pkss_makefile}
    +       echo "lirc_tell_me_what_patchlevel_is:" >>${ac_pkss_makefile}
    +       echo "	echo $(PATCHLEVEL)" >>${ac_pkss_makefile}
    +-      version=$(make -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_version_is M=$(pwd))
    +-      patchlevel=$(make -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_patchlevel_is M=$(pwd))
    ++      version=$(${MAKE-make} -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_version_is M=$(pwd))
    ++      patchlevel=$(${MAKE-make} -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_patchlevel_is M=$(pwd))
    +       if test ${version} -eq 2; then
    +         if test ${patchlevel} -lt 5; then
    +           kernelext=o
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0001-always-enable-uinput.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0001-always-enable-uinput.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0001-always-enable-uinput.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0001-always-enable-uinput.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,12 @@
    +diff -Naur a/configure.ac b/configure.ac
    +--- a/configure.ac	2016-05-23 10:18:48.000000000 -0700
    ++++ b/configure.ac	2016-06-08 02:09:11.335251580 -0700
    +@@ -33,7 +33,7 @@
    +     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, true)
    + AC_CHECK_PROG([MAN2HTML],[man2html],[yes],[no])
    + AM_CONDITIONAL(HAVE_MAN2HTML, test x$MAN2HTML = xyes)
    + AC_CHECK_PROG([DOXYGEN],[doxygen],[yes],[no])
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0002-disable-python3.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0002-disable-python3.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0002-disable-python3.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0002-disable-python3.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,38 @@
    +diff -Naur a/configure.ac b/configure.ac
    +--- a/configure.ac	2016-06-08 13:06:09.757102470 -0700
    ++++ b/configure.ac	2016-06-08 13:07:04.620705345 -0700
    +@@ -41,8 +41,8 @@
    + AC_PROG_LN_S
    + LT_INIT([disable-static])
    + AM_PATH_PYTHON([3.1],,)
    +-AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ""])
    +-AC_CHECK_PROG([HAVE_PYTHON3],[python3],[yes],[no])
    ++AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" == ""])
    ++AC_CHECK_PROG([HAVE_PYTHON3],[python3],[no],[no])
    + LIBUSB_CONFIG="pkg-config libusb"
    + 
    + dnl Checks for header files.
    +diff -Naur a/tools/Makefile.am b/tools/Makefile.am
    +--- a/tools/Makefile.am	2016-05-23 10:18:48.000000000 -0700
    ++++ b/tools/Makefile.am	2016-06-08 13:15:25.711341537 -0700
    +@@ -114,19 +114,12 @@
    + 
    + install-exec-hook:
    + 	$(SED) -i -e 's/@version@/$(VERSION)/' 
    +-	    $(DESTDIR)$(bindir)/lirc-config-tool 
    +-	    $(DESTDIR)$(bindir)/irdb-get
    ++	    $(DESTDIR)$(bindir)/lirc-config-tool
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup
    + 	$(srcdir)/make_rel_symlink.py 
    + 	    $(DESTDIR)/$(pkgpythondir)/lirc-setup 
    + 	    $(DESTDIR)/$(bindir)/lirc-setup
    + 
    +-install-data-hook:
    +-	rm -f $(DESTDIR)/$(pkgpythondir)/configs
    +-	$(srcdir)/make_rel_symlink.py 
    +-	    $(DESTDIR)$(pkgdatadir)/configs 
    +-	    $(DESTDIR)$(pkgpythondir)/configs
    +-
    + uninstall-hook:
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup 
    + 	      $(DESTDIR)/$(pkgpythondir)/configs
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0003-add-dependencies-to-fix-parallel-build-issue.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0003-add-dependencies-to-fix-parallel-build-issue.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0003-add-dependencies-to-fix-parallel-build-issue.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0003-add-dependencies-to-fix-parallel-build-issue.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,22 @@
    +--- a/lib/Makefile.am.org	2016-05-23 19:18:48.000000000 +0200
    ++++ a/lib/Makefile.am	2016-06-22 22:15:26.511048224 +0200
    +@@ -31,9 +31,11 @@
    + 
    + libirrecord_la_LDFLAGS      = -llirc
    + libirrecord_la_SOURCES      = irrecord.c
    ++libirrecord_la_DEPENDENCIES = liblirc.la
    + 
    + liblirc_client_la_LDFLAGS   = -version-info 4:0:4
    + liblirc_client_la_SOURCES   = lirc_client.c lirc_client.h lirc_log.c lirc_log.h
    ++liblirc_client_la_DEPENDENCIES = liblirc.la
    + 
    + liblirc_driver_la_LDFLAGS   = -version-info 0:0:0
    + liblirc_driver_la_SOURCES   = driver.h 
    +@@ -49,6 +51,7 @@
    +                               serial.c 
    +                               transmit.c 
    +                               transmit.h
    ++liblirc_driver_la_DEPENDENCIES = liblirc.la
    + 
    + dist_include_HEADERS        = lirc_client.h 
    +                               lirc_driver.h 
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0004-fix-freeaddrinfo-handling.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0004-fix-freeaddrinfo-handling.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0004-fix-freeaddrinfo-handling.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0004-fix-freeaddrinfo-handling.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,110 @@
    +--- a/daemons/lircd.cpp
    ++++ b/daemons/lircd.cpp
    +@@ -901,43 +901,41 @@
    + {
    + 	int r;
    + 	char service[64];
    +-	struct addrinfo* addr;
    +-	struct addrinfo* tmp;
    ++	struct addrinfo* addrinfos;
    ++	struct addrinfo* a;
    + 	int enable = 1;
    + 
    + 	snprintf(service, sizeof(service), "%d", peer->port);
    + 	peer->socket = socket(AF_INET, SOCK_STREAM, 0);
    +-	r = getaddrinfo(peer->host, service, NULL, &addr);
    ++	r = getaddrinfo(peer->host, service, NULL, &addrinfos);
    + 	if (r != 0) {
    +-		log_error("Name lookup failure connecting to %s",
    +-			  peer->host);
    +-		peer->connection_failure++;
    +-		gettimeofday(&peer->reconnect, NULL);
    +-		peer->reconnect.tv_sec += 5 * peer->connection_failure;
    +-		close(peer->socket);
    +-		peer->socket = -1;
    +-		return;
    ++		log_perror_err("Name lookup failure connecting to %s",
    ++			       peer->host);
    ++		goto errexit;
    + 	}
    + 	(void)setsockopt(peer->socket,
    + 			 SOL_SOCKET, SO_KEEPALIVE, &enable, sizeof(enable));
    +-        do {
    +-		r = connect(peer->socket,
    +-			    addr->ai_addr, sizeof(struct sockaddr));
    +-		tmp = addr;
    +-	addr = addr->ai_next;
    +-		freeaddrinfo(tmp);
    +-	} while (r < 0 && addr != NULL);
    ++	for (a = addrinfos; a != NULL; a = a->ai_next) {
    ++		r = connect(peer->socket, a->ai_addr, a->ai_addrlen);
    ++		if (r >= 0)
    ++			break;
    ++	}
    ++	freeaddrinfo(addrinfos);
    + 	if (r == -1) {
    + 		log_perror_err("Cannot connect to %s", peer->host);
    +-		peer->connection_failure++;
    +-		gettimeofday(&peer->reconnect, NULL);
    +-		peer->reconnect.tv_sec += 5 * peer->connection_failure;
    +-		close(peer->socket);
    +-		peer->socket = -1;
    +-		return;
    +-	}
    +-	log_notice("connected to %s", peer->host);
    ++		goto errexit;
    ++	}
    ++	log_notice("Connected to %s", peer->host);
    + 	peer->connection_failure = 0;
    ++	return;
    ++
    ++errexit:
    ++	peer->connection_failure++;
    ++	gettimeofday(&peer->reconnect, NULL);
    ++	peer->reconnect.tv_sec += 5 * peer->connection_failure;
    ++	close(peer->socket);
    ++	peer->socket = -1;
    ++	return;
    + }
    +
    +
    +--- a/lib/lirc_client.c
    ++++ b/lib/lirc_client.c
    +@@ -2050,28 +2050,25 @@
    + 
    + int lirc_get_remote_socket(const char* address, int port, int quiet)
    + {
    +-	struct addrinfo* host;
    +-	struct addrinfo* tmp;
    ++	struct addrinfo* addrinfos;
    ++	struct addrinfo* a;
    + 	char service[64];
    + 	int r;
    + 
    + 	snprintf(service, sizeof(service),
    + 		 "%d", port > 0 ? port : LIRC_INET_PORT);
    +-	r = getaddrinfo(address, service, NULL, &host);
    ++	r = getaddrinfo(address, service, NULL, &addrinfos);
    + 	if (r < 0) {
    + 		if (!quiet)
    + 			fprintf(stderr, "get_remote_socket: host %s unknownn",
    + 				address);
    + 		return -EADDRNOTAVAIL;
    + 	}
    +-	do {
    +-		r = do_connect(host->ai_family,
    +-			       host->ai_addr,
    +-			       sizeof(host->ai_addr),
    +-			       quiet);
    +-		tmp = host;
    +-		host = host->ai_next;
    +-		freeaddrinfo(tmp);
    +-	} while (r < 0 && host != NULL);
    ++	for (a = addrinfos; a != NULL; a = a->ai_next) {
    ++		r = do_connect(a->ai_family, a->ai_addr, a->ai_addrlen, quiet);
    ++		if (r >= 0)
    ++			break;
    ++	};
    ++	freeaddrinfo(addrinfos);
    + 	return r;
    + }
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0005-uinput.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0005-uinput.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0005-uinput.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0005-uinput.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,110 @@
    +diff --git a/daemons/lircd-uinput.cpp b/daemons/lircd-uinput.cpp
    +index 6a619e9..1bee48b 100644
    +--- a/daemons/lircd-uinput.cpp
    ++++ b/daemons/lircd-uinput.cpp
    +@@ -135,6 +135,8 @@ int setup_uinputfd(const char* path)
    + {
    + 	int fd;
    + 	int key;
    ++	linux_input_code code;
    ++	int i;
    + 	struct uinput_user_dev dev;
    + 
    + 	fd = open(path, O_RDWR);
    +@@ -150,9 +152,14 @@ int setup_uinputfd(const char* path)
    + 	    || ioctl(fd, UI_SET_EVBIT, EV_REP) != 0)
    + 		goto setup_error;
    + 
    +-	for (key = KEY_RESERVED; key <= KEY_UNKNOWN; key++)
    +-		if (ioctl(fd, UI_SET_KEYBIT, key) != 0)
    +-			goto setup_error;
    ++	for (i = 0; get_input_code_by_index(i, &code) >= 0; i++) {
    ++		key = (int)code;
    ++		if (((key >= KEY_ESC) && (key <= KEY_RFKILL)) ||
    ++		    ((key >= KEY_OK ) && (key <= KEY_WPS_BUTTON))) {
    ++			if (ioctl(fd, UI_SET_KEYBIT, key) != 0)
    ++				goto setup_error;
    ++		}
    ++	}
    + 
    + 	if (ioctl(fd, UI_DEV_CREATE) != 0)
    + 		goto setup_error;
    +diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
    +index 782b6d3..020c57e 100644
    +--- a/daemons/lircd.cpp
    ++++ b/daemons/lircd.cpp
    +@@ -695,6 +695,8 @@ int setup_uinputfd(const char* name)
    + #if defined(__linux__)
    + 	int fd;
    + 	int key;
    ++	linux_input_code code;
    ++	int i;
    + 	struct uinput_user_dev dev;
    + 
    + 	fd = open("/dev/input/uinput", O_RDWR);
    +@@ -715,9 +717,14 @@ int setup_uinputfd(const char* name)
    + 	    || ioctl(fd, UI_SET_EVBIT, EV_REP) != 0)
    + 		goto setup_error;
    + 
    +-	for (key = KEY_RESERVED; key <= KEY_UNKNOWN; key++)
    +-		if (ioctl(fd, UI_SET_KEYBIT, key) != 0)
    +-			goto setup_error;
    ++	for (i = 0; get_input_code_by_index(i, &code) >= 0; i++) {
    ++		key = (int)code;
    ++		if (((key >= KEY_ESC) && (key <= KEY_RFKILL)) ||
    ++		    ((key >= KEY_OK ) && (key <= KEY_WPS_BUTTON))) {
    ++			if (ioctl(fd, UI_SET_KEYBIT, key) != 0)
    ++				goto setup_error;
    ++		}
    ++	}
    + 
    + 	if (ioctl(fd, UI_DEV_CREATE) != 0)
    + 		goto setup_error;
    +diff --git a/lib/input_map.c b/lib/input_map.c
    +index 7c54301..31341b7 100644
    +--- a/lib/input_map.c
    ++++ b/lib/input_map.c
    +@@ -29,6 +29,19 @@ struct {
    + 	}
    + };
    + 
    ++int get_input_code_by_index(int index, linux_input_code * code)
    ++{
    ++	int i;
    ++
    ++	for (i = 0; input_map[i].name != NULL; i++) {
    ++		if (i == index) {
    ++			*code = input_map[i].code;
    ++			return i;
    ++		}
    ++	}
    ++	return -1;
    ++}
    ++
    + int get_input_code(const char* name, linux_input_code* code)
    + {
    + 	int i;
    +diff --git a/lib/input_map.h b/lib/input_map.h
    +index f5798d0..1efa4f1 100644
    +--- a/lib/input_map.h
    ++++ b/lib/input_map.h
    +@@ -36,6 +36,7 @@ typedef __u16 linux_input_code;
    + typedef unsigned short linux_input_code;
    + #endif
    + 
    ++int get_input_code_by_index(int index, linux_input_code * code);
    + int get_input_code(const char* name, linux_input_code* code);
    + void fprint_namespace(FILE* f);
    + int is_in_namespace(const char* name);
    +diff --git a/lib/lirc/input_map.h b/lib/lirc/input_map.h
    +index f5798d0..1efa4f1 100644
    +--- a/lib/lirc/input_map.h
    ++++ b/lib/lirc/input_map.h
    +@@ -36,6 +36,7 @@ typedef __u16 linux_input_code;
    + typedef unsigned short linux_input_code;
    + #endif
    + 
    ++int get_input_code_by_index(int index, linux_input_code * code);
    + int get_input_code(const char* name, linux_input_code* code);
    + void fprint_namespace(FILE* f);
    + int is_in_namespace(const char* name);
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0006-kernel-4.8.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0006-kernel-4.8.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0006-kernel-4.8.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0006-kernel-4.8.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,138 @@
    +From 31fcc8aa39f62c5cbf0e4af19d253764c905e4d4 Mon Sep 17 00:00:00 2001
    +From: Alec Leamas 
    +Date: Fri, 19 Aug 2016 04:48:02 +0200
    +Subject: [PATCH 1/2] 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.7.4
    +
    +
    +From 55cd30e16a46bde49ccbbce1dea8bc734362170d Mon Sep 17 00:00:00 2001
    +From: MilhouseVH 
    +Date: Fri, 30 Sep 2016 01:53:50 +0100
    +Subject: [PATCH 2/2] build hack
    +
    +Hack to build with 4.8 backport above. Including "driver.h"
    +isn't enough, but this works. Can all be dropped once lirc
    +0.9.5 is released.
    +---
    + daemons/lircd.cpp | 1 +
    + 1 file changed, 1 insertion(+)
    +
    +diff --git a/daemons/lircd.cpp b/daemons/lircd.cpp
    +index a50d11f..8b46bc0 100644
    +--- a/daemons/lircd.cpp
    ++++ b/daemons/lircd.cpp
    +@@ -71,6 +71,7 @@
    + #endif
    + 
    + #include "lirc_private.h"
    ++#define DRVCTL_NOTIFY_DECODE            7
    + 
    + #ifdef HAVE_INT_GETGROUPLIST_GROUPS
    + #define lirc_gid int
    +-- 
    +2.7.4
    +
    diff -Naur a/packages/drivers/lirc/patches/0.9.4/lirc-0007-disable-python-yaml-mod.patch b/packages/drivers/lirc/patches/0.9.4/lirc-0007-disable-python-yaml-mod.patch
    --- a/packages/drivers/lirc/patches/0.9.4/lirc-0007-disable-python-yaml-mod.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4/lirc-0007-disable-python-yaml-mod.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,11 @@
    +--- a/configure.ac.orig	2016-10-17 22:23:59.484494213 +0200
    ++++ b/configure.ac	2016-10-17 22:25:08.045520993 +0200
    +@@ -76,7 +76,7 @@
    +   fi
    + fi
    + AX_PYTHON_MODULE([yaml])
    +-AM_CONDITIONAL([HAVE_PYMOD_YAML], test $HAVE_PYMOD_YAML = "yes")
    ++AM_CONDITIONAL([HAVE_PYMOD_YAML], false)
    + forkpty=""
    + AC_CHECK_FUNCS(forkpty)
    + if test "$ac_cv_func_forkpty" != yes; then
    diff -Naur a/packages/drivers/lirc/patches/0.9.4c/lirc-0002-disable-python3.patch b/packages/drivers/lirc/patches/0.9.4c/lirc-0002-disable-python3.patch
    --- a/packages/drivers/lirc/patches/0.9.4c/lirc-0002-disable-python3.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4c/lirc-0002-disable-python3.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,38 @@
    +diff -Naur a/configure.ac b/configure.ac
    +--- a/configure.ac	2016-06-08 13:06:09.757102470 -0700
    ++++ b/configure.ac	2016-06-08 13:07:04.620705345 -0700
    +@@ -41,8 +41,8 @@
    + AC_PROG_LN_S
    + LT_INIT([disable-static])
    + AM_PATH_PYTHON([3.1],,)
    +-AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ""])
    +-AC_CHECK_PROG([HAVE_PYTHON3],[python3],[yes],[no])
    ++AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" == ""])
    ++AC_CHECK_PROG([HAVE_PYTHON3],[python3],[no],[no])
    + LIBUSB_CONFIG="pkg-config libusb"
    + 
    + dnl Checks for header files.
    +diff -Naur a/tools/Makefile.am b/tools/Makefile.am
    +--- a/tools/Makefile.am	2016-05-23 10:18:48.000000000 -0700
    ++++ b/tools/Makefile.am	2016-06-08 13:15:25.711341537 -0700
    +@@ -114,19 +114,12 @@
    + 
    + install-exec-hook:
    + 	$(SED) -i -e 's/@version@/$(VERSION)/' 
    +-	    $(DESTDIR)$(bindir)/lirc-config-tool 
    +-	    $(DESTDIR)$(bindir)/irdb-get
    ++	    $(DESTDIR)$(bindir)/lirc-config-tool
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup
    + 	$(srcdir)/make_rel_symlink.py 
    + 	    $(DESTDIR)/$(pkgpythondir)/lirc-setup 
    + 	    $(DESTDIR)/$(bindir)/lirc-setup
    + 
    +-install-data-hook:
    +-	rm -f $(DESTDIR)/$(pkgpythondir)/configs
    +-	$(srcdir)/make_rel_symlink.py 
    +-	    $(DESTDIR)$(pkgdatadir)/configs 
    +-	    $(DESTDIR)$(pkgpythondir)/configs
    +-
    + uninstall-hook:
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup 
    + 	      $(DESTDIR)/$(pkgpythondir)/configs
    diff -Naur a/packages/drivers/lirc/patches/0.9.4c/lirc-0007-disable-python-yaml-mod.patch b/packages/drivers/lirc/patches/0.9.4c/lirc-0007-disable-python-yaml-mod.patch
    --- a/packages/drivers/lirc/patches/0.9.4c/lirc-0007-disable-python-yaml-mod.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.4c/lirc-0007-disable-python-yaml-mod.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,11 @@
    +--- a/configure.ac.orig	2016-10-17 22:23:59.484494213 +0200
    ++++ b/configure.ac	2016-10-17 22:25:08.045520993 +0200
    +@@ -76,7 +76,7 @@
    +   fi
    + fi
    + AX_PYTHON_MODULE([yaml])
    +-AM_CONDITIONAL([HAVE_PYMOD_YAML], test $HAVE_PYMOD_YAML = "yes")
    ++AM_CONDITIONAL([HAVE_PYMOD_YAML], false)
    + forkpty=""
    + AC_CHECK_FUNCS(forkpty)
    + if test "$ac_cv_func_forkpty" != yes; then
    diff -Naur a/packages/drivers/lirc/patches/0.9.5/lirc-0002-disable-python3.patch b/packages/drivers/lirc/patches/0.9.5/lirc-0002-disable-python3.patch
    --- a/packages/drivers/lirc/patches/0.9.5/lirc-0002-disable-python3.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.5/lirc-0002-disable-python3.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,38 @@
    +diff -Naur a/configure.ac b/configure.ac
    +--- a/configure.ac	2016-06-08 13:06:09.757102470 -0700
    ++++ b/configure.ac	2016-06-08 13:07:04.620705345 -0700
    +@@ -41,8 +41,8 @@
    + AC_PROG_LN_S
    + LT_INIT([disable-static])
    + AM_PATH_PYTHON([3.1],,)
    +-AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != ""])
    +-AC_CHECK_PROG([HAVE_PYTHON3],[python3],[yes],[no])
    ++AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" == ""])
    ++AC_CHECK_PROG([HAVE_PYTHON3],[python3],[no],[no])
    + LIBUSB_CONFIG="pkg-config libusb"
    + 
    + dnl Checks for header files.
    +diff -Naur a/tools/Makefile.am b/tools/Makefile.am
    +--- a/tools/Makefile.am	2016-05-23 10:18:48.000000000 -0700
    ++++ b/tools/Makefile.am	2016-06-08 13:15:25.711341537 -0700
    +@@ -114,19 +114,12 @@
    + 
    + install-exec-hook:
    + 	$(SED) -i -e 's/@version@/$(VERSION)/' 
    +-	    $(DESTDIR)$(bindir)/lirc-config-tool 
    +-	    $(DESTDIR)$(bindir)/irdb-get
    ++	    $(DESTDIR)$(bindir)/lirc-config-tool
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup
    + 	$(srcdir)/make_rel_symlink.py 
    + 	    $(DESTDIR)/$(pkgpythondir)/lirc-setup 
    + 	    $(DESTDIR)/$(bindir)/lirc-setup
    + 
    +-install-data-hook:
    +-	rm -f $(DESTDIR)/$(pkgpythondir)/configs
    +-	$(srcdir)/make_rel_symlink.py 
    +-	    $(DESTDIR)$(pkgdatadir)/configs 
    +-	    $(DESTDIR)$(pkgpythondir)/configs
    +-
    + uninstall-hook:
    + 	rm -f $(DESTDIR)/$(bindir)/lirc-setup 
    + 	      $(DESTDIR)/$(pkgpythondir)/configs
    diff -Naur a/packages/drivers/lirc/patches/0.9.5/lirc-0007-disable-python-yaml-mod.patch b/packages/drivers/lirc/patches/0.9.5/lirc-0007-disable-python-yaml-mod.patch
    --- a/packages/drivers/lirc/patches/0.9.5/lirc-0007-disable-python-yaml-mod.patch	1970-01-01 01:00:00.000000000 +0100
    +++ b/packages/drivers/lirc/patches/0.9.5/lirc-0007-disable-python-yaml-mod.patch	2016-10-22 11:08:24.000000000 +0200
    @@ -0,0 +1,11 @@
    +--- a/configure.ac.orig	2016-10-17 22:23:59.484494213 +0200
    ++++ b/configure.ac	2016-10-17 22:25:08.045520993 +0200
    +@@ -76,7 +76,7 @@
    +   fi
    + fi
    + AX_PYTHON_MODULE([yaml])
    +-AM_CONDITIONAL([HAVE_PYMOD_YAML], test $HAVE_PYMOD_YAML = "yes")
    ++AM_CONDITIONAL([HAVE_PYMOD_YAML], false)
    + forkpty=""
    + AC_CHECK_FUNCS(forkpty)
    + if test "$ac_cv_func_forkpty" != yes; then
    diff -Naur a/packages/drivers/lirc/patches/30_kerneldir.diff b/packages/drivers/lirc/patches/30_kerneldir.diff
    --- a/packages/drivers/lirc/patches/30_kerneldir.diff	2016-10-27 15:45:12.000000000 +0200
    +++ b/packages/drivers/lirc/patches/30_kerneldir.diff	1970-01-01 01:00:00.000000000 +0100
    @@ -1,21 +0,0 @@
    -diff -Nur lirc-0.7.2pre3.orig/configure lirc-0.7.2pre3/configure
    ---- lirc-0.7.2pre3.orig/configure	Mon Aug  8 14:43:04 2005
    -+++ lirc-0.7.2pre3/configure	Mon Aug  8 14:42:32 2005
    -@@ -7870,16 +7870,12 @@
    -   kernelext=ko
    -   no_kernel=yes
    - 
    --  if test uname != "Linux"; then
    --    kerneldir="not running Linux"
    --  else
    --    for dir in /usr/src/kernel-source-uname -r /usr/src/linux-uname -r /usr/src/linux /lib/modules/uname -r/source /lib/modules/uname -r/build ${ac_kerneldir}; do
    -+    for dir in ${ac_kerneldir}; do
    -       if test -d $dir; then
    -         kerneldir=dirname $dir/Makefile/
    -         no_kernel=no
    -       fi;
    -     done
    --  fi
    - 
    -   if test x${no_kernel} != xyes; then
    -     if test -f ${kerneldir}/Makefile; then
    diff -Naur a/packages/drivers/lirc/patches/40_gmake.diff b/packages/drivers/lirc/patches/40_gmake.diff
    --- a/packages/drivers/lirc/patches/40_gmake.diff	2016-10-27 15:45:12.000000000 +0200
    +++ b/packages/drivers/lirc/patches/40_gmake.diff	1970-01-01 01:00:00.000000000 +0100
    @@ -1,14 +0,0 @@
    -diff -Naur lirc-0.7.0.orig/configure lirc-0.7.0/configure
    ---- lirc-0.7.0.orig/configure	2004-12-30 01:36:49.918207016 +0100
    -+++ lirc-0.7.0/configure	2004-12-30 01:36:56.205251240 +0100
    -@@ -22813,8 +22813,8 @@
    -       echo "	echo $(VERSION)" >>${ac_pkss_makefile}
    -       echo "lirc_tell_me_what_patchlevel_is:" >>${ac_pkss_makefile}
    -       echo "	echo $(PATCHLEVEL)" >>${ac_pkss_makefile}
    --      version=$(make -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_version_is M=$(pwd))
    --      patchlevel=$(make -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_patchlevel_is M=$(pwd))
    -+      version=$(${MAKE-make} -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_version_is M=$(pwd))
    -+      patchlevel=$(${MAKE-make} -s -C ${kerneldir} -f ${ac_pkss_makefile} lirc_tell_me_what_patchlevel_is M=$(pwd))
    -       if test ${version} -eq 2; then
    -         if test ${patchlevel} -lt 5; then
    -           kernelext=o
    
  • #11052

    wolf84
    Member

    `

    • This reply was modified 3 weeks, 1 day ago by wolf84.
  • #11053

    wolf84
    Member
    diff -Naur a/packages/drivers/lirc/install b/packages/drivers/lirc/install
    --- a/packages/drivers/lirc/install     2016-10-27 15:45:12.000000000 +0200
    +++ b/packages/drivers/lirc/install     2016-11-07 18:19:56.000000000 +0100
    @@ -15,7 +15,7 @@
     fi
     mkdir -p $INSTALL/etc/lirc
    -cp -R remotes $INSTALL/etc/lirc
    +#cp -R remotes $INSTALL/etc/lirc
     cp $ROOT/$PACKAGES/$PKG_SECTION/$1/config/* $INSTALL/etc/lirc
    -ln -sf remotes/mceusb/lircd.conf.mceusb $INSTALL/etc/lirc/lircd.conf
    +#ln -sf remotes/mceusb/lircd.conf.mceusb $INSTALL/etc/lirc/lircd.conf
    
  • #11054

    tomlohave
    Keymaster

    Hi , no problem to update these packages , but please, it’s difficult to do that from wordpress.
    Can you do this from github and do a pull request ?

    Cheers !

  • #11056

    tomlohave
    Keymaster

    I forgot to say, one commit for package if possible, and do it from devel branch (then we can merge it into master)

You must be logged in to reply to this topic.