From 1480a179f69b30ecb72298f0411a487dee4f712b Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Thu, 8 May 2014 00:57:45 +0000 Subject: [PATCH] input-utils: update to 1.1 - change upstream URL - update to 1.1 release - delete obsolete patches (they are in upstream) patch 001 - fix compile on sys with sh->dash (Debian,Ubuntu) Error: Make.config:1: *** empty variable name. Stop. Reason: echo -e in mk/Autoconf.mk patch 002: - use path of Linux headers from environment (INPUT) for generating files with name.sh Error depending on Kernel: In file included from input.c:48:0: KEY.h:243:4: error: 'KEY_WWAN' undeclared here (not in a function) [ KEY_WWAN ] = "WWAN", fixes https://dev.openwrt.org/ticket/14028 unsure if the right header is included compile tested Signed-off-by: Dirk Neukirchen Signed-off-by: Florian Fainelli SVN-Revision: 40725 --- utils/input-utils/Makefile | 12 +- .../patches/001-EVIOCGKEYCODE2.patch | 220 ------------------ .../patches/001-Makefile_use_bash.patch | 12 + .../002-use_cross_headers_from_env.patch | 10 + .../patches/002-version-check.patch | 34 --- 5 files changed, 29 insertions(+), 259 deletions(-) delete mode 100644 utils/input-utils/patches/001-EVIOCGKEYCODE2.patch create mode 100644 utils/input-utils/patches/001-Makefile_use_bash.patch create mode 100644 utils/input-utils/patches/002-use_cross_headers_from_env.patch delete mode 100644 utils/input-utils/patches/002-version-check.patch diff --git a/utils/input-utils/Makefile b/utils/input-utils/Makefile index dca333009..a8038b64f 100644 --- a/utils/input-utils/Makefile +++ b/utils/input-utils/Makefile @@ -5,15 +5,16 @@ # See /LICENSE for more information. include $(TOPDIR)/rules.mk +include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=input-utils -PKG_VERSION:=20081014-101501 -PKG_RELEASE:=2 +PKG_VERSION:=1.1 +PKG_RELEASE:=1 -PKG_BUILD_DIR:=$(BUILD_DIR)/input/ +PKG_BUILD_DIR:=$(BUILD_DIR)/input-$(PKG_VERSION)/ PKG_SOURCE:=input-$(PKG_VERSION).tar.gz -PKG_SOURCE_URL:=http://dl.bytesex.org/cvs-snapshots/ -PKG_MD5SUM:=a6854dc5218301b67324b483d26f1bee +PKG_SOURCE_URL:=https://www.kraxel.org/cgit/input/snapshot +PKG_MD5SUM:=592b1b45d9d891725f7793999aa52f31 include $(INCLUDE_DIR)/package.mk @@ -31,6 +32,7 @@ define Build/Compile $(TARGET_CONFIGURE_OPTS) \ CFLAGS="$(TARGET_CFLAGS)" \ STRIP="true" \ + INPUT="$(LINUX_DIR)/include/uapi/linux/input.h" \ build endef diff --git a/utils/input-utils/patches/001-EVIOCGKEYCODE2.patch b/utils/input-utils/patches/001-EVIOCGKEYCODE2.patch deleted file mode 100644 index d282f6b10..000000000 --- a/utils/input-utils/patches/001-EVIOCGKEYCODE2.patch +++ /dev/null @@ -1,220 +0,0 @@ -From 52f533a6c32f8e1e376c5a335cc067da16d59b61 Mon Sep 17 00:00:00 2001 -From: Dmitry Torokhov -Date: Wed, 26 Jan 2011 15:49:39 +0100 -Subject: [PATCH] input-kbd - switch to using EVIOCGKEYCODE2 when available - -[mchehab@redhat.com: Ported it to the -git version] - -Signed-off-by: Dmitry Torokhov -Signed-off-by: Mauro Carvalho Chehab ---- - input-kbd.c | 110 +++++++++++++++++++++++++++++++++++++++-------------------- - input.c | 4 +- - 2 files changed, 75 insertions(+), 39 deletions(-) - -diff --git a/input-kbd.c b/input-kbd.c -index c432d0d..aaf23b9 100644 ---- a/input-kbd.c -+++ b/input-kbd.c -@@ -9,9 +9,22 @@ - - #include "input.h" - -+struct input_keymap_entry_v2 { -+#define KEYMAP_BY_INDEX (1 << 0) -+ uint8_t flags; -+ uint8_t len; -+ uint16_t index; -+ uint32_t keycode; -+ uint8_t scancode[32]; -+}; -+ -+#ifndef EVIOCGKEYCODE_V2 -+#define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry_v2) -+#endif -+ - struct kbd_entry { -- int scancode; -- int keycode; -+ unsigned int scancode; -+ unsigned int keycode; - }; - - struct kbd_map { -@@ -23,7 +36,7 @@ struct kbd_map { - - /* ------------------------------------------------------------------ */ - --static struct kbd_map* kbd_map_read(int fd) -+static struct kbd_map* kbd_map_read(int fd, unsigned int version) - { - struct kbd_entry entry; - struct kbd_map *map; -@@ -32,17 +45,35 @@ static struct kbd_map* kbd_map_read(int fd) - map = malloc(sizeof(*map)); - memset(map,0,sizeof(*map)); - for (map->size = 0; map->size < 65536; map->size++) { -- entry.scancode = map->size; -- entry.keycode = KEY_RESERVED; -- rc = ioctl(fd, EVIOCGKEYCODE, &entry); -- if (rc < 0) { -- map->size--; -- break; -+ if (version < 0x10001) { -+ entry.scancode = map->size; -+ entry.keycode = KEY_RESERVED; -+ rc = ioctl(fd, EVIOCGKEYCODE, &entry); -+ if (rc < 0) { -+ map->size--; -+ break; -+ } -+ } else { -+ struct input_keymap_entry_v2 ke = { -+ .index = map->size, -+ .flags = KEYMAP_BY_INDEX, -+ .len = sizeof(uint32_t), -+ .keycode = KEY_RESERVED, -+ }; -+ -+ rc = ioctl(fd, EVIOCGKEYCODE_V2, &ke); -+ if (rc < 0) -+ break; -+ memcpy(&entry.scancode, ke.scancode, -+ sizeof(entry.scancode)); -+ entry.keycode = ke.keycode; - } -+ - if (map->size >= map->alloc) { - map->alloc += 64; - map->map = realloc(map->map, map->alloc * sizeof(entry)); - } -+ - map->map[map->size] = entry; - - if (KEY_RESERVED != entry.keycode) -@@ -156,37 +187,25 @@ static void kbd_print_bits(int fd) - } - } - --static void show_kbd(int nr) -+static void show_kbd(int fd, unsigned int protocol_version) - { - struct kbd_map *map; -- int fd; - -- fd = device_open(nr,1); -- if (-1 == fd) -- return; - device_info(fd); - -- map = kbd_map_read(fd); -- if (NULL != map) { -- kbd_map_print(stdout,map,0); -- } else { -+ map = kbd_map_read(fd, protocol_version); -+ if (map) -+ kbd_map_print(stdout, map, 0); -+ else - kbd_print_bits(fd); -- } -- -- close(fd); - } - --static int set_kbd(int nr, char *mapfile) -+static int set_kbd(int fd, unsigned int protocol_version, char *mapfile) - { - struct kbd_map *map; - FILE *fp; -- int fd; - -- fd = device_open(nr,1); -- if (-1 == fd) -- return -1; -- -- map = kbd_map_read(fd); -+ map = kbd_map_read(fd, protocol_version); - if (NULL == map) { - fprintf(stderr,"device has no map\n"); - close(fd); -@@ -203,14 +222,12 @@ static int set_kbd(int nr, char *mapfile) - return -1; - } - } -- -+ - if (0 != kbd_map_parse(fp,map) || - 0 != kbd_map_write(fd,map)) { -- close(fd); - return -1; - } - -- close(fd); - return 0; - } - -@@ -224,8 +241,10 @@ static int usage(char *prog, int error) - - int main(int argc, char *argv[]) - { -- int c,devnr; -+ int c, devnr, fd; - char *mapfile = NULL; -+ unsigned int protocol_version; -+ int rc = EXIT_FAILURE; - - for (;;) { - if (-1 == (c = getopt(argc, argv, "hf:"))) -@@ -245,12 +264,29 @@ int main(int argc, char *argv[]) - usage(argv[0],1); - - devnr = atoi(argv[optind]); -- if (mapfile) { -- set_kbd(devnr,mapfile); -- } else { -- show_kbd(devnr); -+ -+ fd = device_open(devnr, 1); -+ if (fd < 0) -+ goto out; -+ -+ if (ioctl(fd, EVIOCGVERSION, &protocol_version) < 0) { -+ fprintf(stderr, -+ "Unable to query evdev protocol version: %s\n", -+ strerror(errno)); -+ goto out_close; - } -- return 0; -+ -+ if (mapfile) -+ set_kbd(fd, protocol_version, mapfile); -+ else -+ show_kbd(fd, protocol_version); -+ -+ rc = EXIT_SUCCESS; -+ -+out_close: -+ close(fd); -+out: -+ return rc; - } - - /* --------------------------------------------------------------------- -diff --git a/input.c b/input.c -index d57a31e..a9bd5e8 100644 ---- a/input.c -+++ b/input.c -@@ -101,8 +101,8 @@ int device_open(int nr, int verbose) - close(fd); - return -1; - } -- if (EV_VERSION != version) { -- fprintf(stderr, "protocol version mismatch (expected %d, got %d)\n", -+ if (EV_VERSION > version) { -+ fprintf(stderr, "protocol version mismatch (expected >= %d, got %d)\n", - EV_VERSION, version); - close(fd); - return -1; --- -1.7.2.3 - diff --git a/utils/input-utils/patches/001-Makefile_use_bash.patch b/utils/input-utils/patches/001-Makefile_use_bash.patch new file mode 100644 index 000000000..3460e1afb --- /dev/null +++ b/utils/input-utils/patches/001-Makefile_use_bash.patch @@ -0,0 +1,12 @@ +--- a/mk/Autoconf.mk ++++ b/mk/Autoconf.mk +@@ -12,6 +12,9 @@ + # + ######################################################################## + ++# fix echo -e with dash on Debian/Ubuntu ++SHELL=/bin/bash ++ + # verbose yes/no + verbose ?= no + diff --git a/utils/input-utils/patches/002-use_cross_headers_from_env.patch b/utils/input-utils/patches/002-use_cross_headers_from_env.patch new file mode 100644 index 000000000..02ec8d588 --- /dev/null +++ b/utils/input-utils/patches/002-use_cross_headers_from_env.patch @@ -0,0 +1,10 @@ +--- a/name.sh ++++ b/name.sh +@@ -1,7 +1,6 @@ + #!/bin/sh + + TYPE="$1" +-INPUT="/usr/include/linux/input.h" + + awk " + /KEY_MIN_INTERESTING/ {next}; diff --git a/utils/input-utils/patches/002-version-check.patch b/utils/input-utils/patches/002-version-check.patch deleted file mode 100644 index 03358ebce..000000000 --- a/utils/input-utils/patches/002-version-check.patch +++ /dev/null @@ -1,34 +0,0 @@ -From d99f056745e53cd2518ca169af474f8c45c1436d Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Wed, 26 Jan 2011 21:01:05 +0100 -Subject: [PATCH] remove version check - ---- - input.c | 11 ----------- - 1 files changed, 0 insertions(+), 11 deletions(-) - -diff --git a/input.c b/input.c -index a9bd5e8..9a6a810 100644 ---- a/input.c -+++ b/input.c -@@ -96,17 +96,6 @@ int device_open(int nr, int verbose) - if (verbose) - fprintf(stderr,"%s\n",filename); - -- if (-1 == ioctl(fd,EVIOCGVERSION,&version)) { -- perror("ioctl EVIOCGVERSION"); -- close(fd); -- return -1; -- } -- if (EV_VERSION > version) { -- fprintf(stderr, "protocol version mismatch (expected >= %d, got %d)\n", -- EV_VERSION, version); -- close(fd); -- return -1; -- } - return fd; - } - --- -1.7.2.3 - -- 2.30.2