Date: Wednesday, April 22, 2015 @ 19:56:52 Author: andyrtr Revision: 237917
archrelease: copy trunk to extra-i686, extra-x86_64 Added: libinput/repos/extra-i686/PKGBUILD (from rev 237916, libinput/trunk/PKGBUILD) libinput/repos/extra-x86_64/PKGBUILD (from rev 237916, libinput/trunk/PKGBUILD) Deleted: libinput/repos/extra-i686/PKGBUILD libinput/repos/extra-i686/fix_crash_for_missing_ABS_X_Y.diff libinput/repos/extra-x86_64/PKGBUILD libinput/repos/extra-x86_64/fix_crash_for_missing_ABS_X_Y.diff -------------------------------------------------+ /PKGBUILD | 70 +++++++++++++ extra-i686/PKGBUILD | 43 -------- extra-i686/fix_crash_for_missing_ABS_X_Y.diff | 114 ---------------------- extra-x86_64/PKGBUILD | 43 -------- extra-x86_64/fix_crash_for_missing_ABS_X_Y.diff | 114 ---------------------- 5 files changed, 70 insertions(+), 314 deletions(-) Deleted: extra-i686/PKGBUILD =================================================================== --- extra-i686/PKGBUILD 2015-04-22 17:56:41 UTC (rev 237916) +++ extra-i686/PKGBUILD 2015-04-22 17:56:52 UTC (rev 237917) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Andreas Radke <andy...@archlinux.org> -# Maintainer: Jan de Groot - -pkgname=libinput -pkgver=0.13.0 -pkgrel=2 -pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices." -arch=(i686 x86_64) -url="http://www.freedesktop.org/wiki/Software/libinput/" -license=(custom:X11) -depends=('mtdev' 'libsystemd' 'libevdev') -makedepends=('systemd') -options=('!libtool') -source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - fix_crash_for_missing_ABS_X_Y.diff) -sha256sums=('6cecaf7fde525f1d81474cbd495ce526d5e34c845d3e9d6f3e2565b7048cc61a' - 'SKIP' - 'c1d19d53f81ba0f98911917dd3239e9e52448f6d45d961e90dadbefb707316f9') -validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <off...@who-t.net> - -prepare() { - cd $pkgname-$pkgver - # https://bugs.freedesktop.org/show_bug.cgi?id=89783#c15 - FS#44416 - patch -Np1 -i ${srcdir}/fix_crash_for_missing_ABS_X_Y.diff -} - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --disable-static - make -} - -check() { - cd $pkgname-$pkgver - make check -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" -} Copied: libinput/repos/extra-i686/PKGBUILD (from rev 237916, libinput/trunk/PKGBUILD) =================================================================== --- extra-i686/PKGBUILD (rev 0) +++ extra-i686/PKGBUILD 2015-04-22 17:56:52 UTC (rev 237917) @@ -0,0 +1,35 @@ +# $Id$ +# Maintainer: Andreas Radke <andy...@archlinux.org> +# Maintainer: Jan de Groot + +pkgname=libinput +pkgver=0.14.1 +pkgrel=1 +pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices." +arch=(i686 x86_64) +url="http://www.freedesktop.org/wiki/Software/libinput/" +license=(custom:X11) +depends=('mtdev' 'libsystemd' 'libevdev') +makedepends=('systemd') +options=('!libtool') +source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2bed202ebe2d5026950d6f9d2ac0f0160d12f61c5a0f6d0d6ef671bbb02c1b64' + 'SKIP') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <off...@who-t.net> + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} Deleted: extra-i686/fix_crash_for_missing_ABS_X_Y.diff =================================================================== --- extra-i686/fix_crash_for_missing_ABS_X_Y.diff 2015-04-22 17:56:41 UTC (rev 237916) +++ extra-i686/fix_crash_for_missing_ABS_X_Y.diff 2015-04-22 17:56:52 UTC (rev 237917) @@ -1,114 +0,0 @@ -From 67208c0b1acd7b6db8a853994f7e7c9be94e0178 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@who-t.net> -Date: Wed, 8 Apr 2015 09:54:29 +1000 -Subject: evdev: fix crash for missing ABS_X/Y - -libevdev_set_abs_info() is a noop if the event code isn't enabled on the -device. This leaves ABS_X/Y on NULL, causing a crash later when dereferencing -the absinfo. - -https://bugs.freedesktop.org/show_bug.cgi?id=89783 - -Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> -Reviewed-by: Hans de Goede <hdego...@redhat.com> - -diff --git a/src/evdev.c b/src/evdev.c -index a972b9d..115dc99 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -1444,9 +1444,9 @@ evdev_fix_android_mt(struct evdev_device *device) - !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) - return; - -- libevdev_set_abs_info(evdev, ABS_X, -+ libevdev_enable_event_code(evdev, EV_ABS, ABS_X, - libevdev_get_abs_info(evdev, ABS_MT_POSITION_X)); -- libevdev_set_abs_info(evdev, ABS_Y, -+ libevdev_enable_event_code(evdev, EV_ABS, ABS_Y, - libevdev_get_abs_info(evdev, ABS_MT_POSITION_Y)); - } - --- -cgit v0.10.2 - -From e2b13e602220a906584b21d51bc5472577be4372 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@who-t.net> -Date: Wed, 8 Apr 2015 09:54:30 +1000 -Subject: evdev: fix handling of fake MT devices without ABS_X/Y - -The previous code didn't handle fake MT devices without ABS_X/Y axes (like the -Razer BlackWidow keyboard). Those devices usually start at ABS_MISC and go up -to ABS_MAX, thus triggering the Android check. - -Split the condition up: if the device is not a fake MT device we check for the -Android missing axes first and add them. Then we proceed, but now we know that -the ABS_X axis must exist on any valid device. - -https://bugs.freedesktop.org/show_bug.cgi?id=89783 - -Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> -Reviewed-by: Hans de Goede <hdego...@redhat.com> - -diff --git a/src/evdev.c b/src/evdev.c -index 115dc99..16ebb9c 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -1431,6 +1431,18 @@ evdev_device_get_udev_tags(struct evdev_device *device, - return tags; - } - -+/* Fake MT devices have the ABS_MT_SLOT bit set because of -+ the limited ABS_* range - they aren't MT devices, they -+ just have too many ABS_ axes */ -+static inline bool -+evdev_is_fake_mt_device(struct evdev_device *device) -+{ -+ struct libevdev *evdev = device->evdev; -+ -+ return libevdev_has_event_code(evdev, EV_ABS, ABS_MT_SLOT) && -+ libevdev_get_num_slots(evdev) == -1; -+} -+ - static inline void - evdev_fix_android_mt(struct evdev_device *device) - { -@@ -1441,7 +1453,8 @@ evdev_fix_android_mt(struct evdev_device *device) - return; - - if (!libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X) || -- !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) -+ !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y) || -+ evdev_is_fake_mt_device(device)) - return; - - libevdev_enable_event_code(evdev, EV_ABS, ABS_X, -@@ -1611,10 +1624,10 @@ evdev_configure_device(struct evdev_device *device) - return -1; - } - -- if (libevdev_has_event_code(evdev, EV_ABS, ABS_X) || -- libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X)) { -+ if (!evdev_is_fake_mt_device(device)) - evdev_fix_android_mt(device); - -+ if (libevdev_has_event_code(evdev, EV_ABS, ABS_X)) { - if (evdev_fix_abs_resolution(device, - ABS_X, - ABS_Y, -@@ -1624,11 +1637,7 @@ evdev_configure_device(struct evdev_device *device) - device->abs.absinfo_x = libevdev_get_abs_info(evdev, ABS_X); - device->abs.absinfo_y = libevdev_get_abs_info(evdev, ABS_Y); - -- /* Fake MT devices have the ABS_MT_SLOT bit set because of -- the limited ABS_* range - they aren't MT devices, they -- just have too many ABS_ axes */ -- if (libevdev_has_event_code(evdev, EV_ABS, ABS_MT_SLOT) && -- libevdev_get_num_slots(evdev) == -1) { -+ if (evdev_is_fake_mt_device(device)) { - udev_tags &= ~EVDEV_UDEV_TAG_TOUCHSCREEN; - } else if (evdev_configure_mt_device(device) == -1) { - return -1; --- -cgit v0.10.2 - - Deleted: extra-x86_64/PKGBUILD =================================================================== --- extra-x86_64/PKGBUILD 2015-04-22 17:56:41 UTC (rev 237916) +++ extra-x86_64/PKGBUILD 2015-04-22 17:56:52 UTC (rev 237917) @@ -1,43 +0,0 @@ -# $Id$ -# Maintainer: Andreas Radke <andy...@archlinux.org> -# Maintainer: Jan de Groot - -pkgname=libinput -pkgver=0.13.0 -pkgrel=2 -pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices." -arch=(i686 x86_64) -url="http://www.freedesktop.org/wiki/Software/libinput/" -license=(custom:X11) -depends=('mtdev' 'libsystemd' 'libevdev') -makedepends=('systemd') -options=('!libtool') -source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig} - fix_crash_for_missing_ABS_X_Y.diff) -sha256sums=('6cecaf7fde525f1d81474cbd495ce526d5e34c845d3e9d6f3e2565b7048cc61a' - 'SKIP' - 'c1d19d53f81ba0f98911917dd3239e9e52448f6d45d961e90dadbefb707316f9') -validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <off...@who-t.net> - -prepare() { - cd $pkgname-$pkgver - # https://bugs.freedesktop.org/show_bug.cgi?id=89783#c15 - FS#44416 - patch -Np1 -i ${srcdir}/fix_crash_for_missing_ABS_X_Y.diff -} - -build() { - cd $pkgname-$pkgver - ./configure --prefix=/usr --disable-static - make -} - -check() { - cd $pkgname-$pkgver - make check -} - -package() { - cd $pkgname-$pkgver - make DESTDIR="$pkgdir" install - install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" -} Copied: libinput/repos/extra-x86_64/PKGBUILD (from rev 237916, libinput/trunk/PKGBUILD) =================================================================== --- extra-x86_64/PKGBUILD (rev 0) +++ extra-x86_64/PKGBUILD 2015-04-22 17:56:52 UTC (rev 237917) @@ -0,0 +1,35 @@ +# $Id$ +# Maintainer: Andreas Radke <andy...@archlinux.org> +# Maintainer: Jan de Groot + +pkgname=libinput +pkgver=0.14.1 +pkgrel=1 +pkgdesc="library that handles input devices for display servers and other applications that need to directly deal with input devices." +arch=(i686 x86_64) +url="http://www.freedesktop.org/wiki/Software/libinput/" +license=(custom:X11) +depends=('mtdev' 'libsystemd' 'libevdev') +makedepends=('systemd') +options=('!libtool') +source=(http://freedesktop.org/software/$pkgname/$pkgname-$pkgver.tar.xz{,.sig}) +sha256sums=('2bed202ebe2d5026950d6f9d2ac0f0160d12f61c5a0f6d0d6ef671bbb02c1b64' + 'SKIP') +validpgpkeys=('3C2C43D9447D5938EF4551EBE23B7E70B467F0BF') # Peter Hutterer (Who-T) <off...@who-t.net> + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --disable-static + make +} + +check() { + cd $pkgname-$pkgver + make check +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install + install -Dm644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/COPYING" +} Deleted: extra-x86_64/fix_crash_for_missing_ABS_X_Y.diff =================================================================== --- extra-x86_64/fix_crash_for_missing_ABS_X_Y.diff 2015-04-22 17:56:41 UTC (rev 237916) +++ extra-x86_64/fix_crash_for_missing_ABS_X_Y.diff 2015-04-22 17:56:52 UTC (rev 237917) @@ -1,114 +0,0 @@ -From 67208c0b1acd7b6db8a853994f7e7c9be94e0178 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@who-t.net> -Date: Wed, 8 Apr 2015 09:54:29 +1000 -Subject: evdev: fix crash for missing ABS_X/Y - -libevdev_set_abs_info() is a noop if the event code isn't enabled on the -device. This leaves ABS_X/Y on NULL, causing a crash later when dereferencing -the absinfo. - -https://bugs.freedesktop.org/show_bug.cgi?id=89783 - -Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> -Reviewed-by: Hans de Goede <hdego...@redhat.com> - -diff --git a/src/evdev.c b/src/evdev.c -index a972b9d..115dc99 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -1444,9 +1444,9 @@ evdev_fix_android_mt(struct evdev_device *device) - !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) - return; - -- libevdev_set_abs_info(evdev, ABS_X, -+ libevdev_enable_event_code(evdev, EV_ABS, ABS_X, - libevdev_get_abs_info(evdev, ABS_MT_POSITION_X)); -- libevdev_set_abs_info(evdev, ABS_Y, -+ libevdev_enable_event_code(evdev, EV_ABS, ABS_Y, - libevdev_get_abs_info(evdev, ABS_MT_POSITION_Y)); - } - --- -cgit v0.10.2 - -From e2b13e602220a906584b21d51bc5472577be4372 Mon Sep 17 00:00:00 2001 -From: Peter Hutterer <peter.hutte...@who-t.net> -Date: Wed, 8 Apr 2015 09:54:30 +1000 -Subject: evdev: fix handling of fake MT devices without ABS_X/Y - -The previous code didn't handle fake MT devices without ABS_X/Y axes (like the -Razer BlackWidow keyboard). Those devices usually start at ABS_MISC and go up -to ABS_MAX, thus triggering the Android check. - -Split the condition up: if the device is not a fake MT device we check for the -Android missing axes first and add them. Then we proceed, but now we know that -the ABS_X axis must exist on any valid device. - -https://bugs.freedesktop.org/show_bug.cgi?id=89783 - -Signed-off-by: Peter Hutterer <peter.hutte...@who-t.net> -Reviewed-by: Hans de Goede <hdego...@redhat.com> - -diff --git a/src/evdev.c b/src/evdev.c -index 115dc99..16ebb9c 100644 ---- a/src/evdev.c -+++ b/src/evdev.c -@@ -1431,6 +1431,18 @@ evdev_device_get_udev_tags(struct evdev_device *device, - return tags; - } - -+/* Fake MT devices have the ABS_MT_SLOT bit set because of -+ the limited ABS_* range - they aren't MT devices, they -+ just have too many ABS_ axes */ -+static inline bool -+evdev_is_fake_mt_device(struct evdev_device *device) -+{ -+ struct libevdev *evdev = device->evdev; -+ -+ return libevdev_has_event_code(evdev, EV_ABS, ABS_MT_SLOT) && -+ libevdev_get_num_slots(evdev) == -1; -+} -+ - static inline void - evdev_fix_android_mt(struct evdev_device *device) - { -@@ -1441,7 +1453,8 @@ evdev_fix_android_mt(struct evdev_device *device) - return; - - if (!libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X) || -- !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y)) -+ !libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_Y) || -+ evdev_is_fake_mt_device(device)) - return; - - libevdev_enable_event_code(evdev, EV_ABS, ABS_X, -@@ -1611,10 +1624,10 @@ evdev_configure_device(struct evdev_device *device) - return -1; - } - -- if (libevdev_has_event_code(evdev, EV_ABS, ABS_X) || -- libevdev_has_event_code(evdev, EV_ABS, ABS_MT_POSITION_X)) { -+ if (!evdev_is_fake_mt_device(device)) - evdev_fix_android_mt(device); - -+ if (libevdev_has_event_code(evdev, EV_ABS, ABS_X)) { - if (evdev_fix_abs_resolution(device, - ABS_X, - ABS_Y, -@@ -1624,11 +1637,7 @@ evdev_configure_device(struct evdev_device *device) - device->abs.absinfo_x = libevdev_get_abs_info(evdev, ABS_X); - device->abs.absinfo_y = libevdev_get_abs_info(evdev, ABS_Y); - -- /* Fake MT devices have the ABS_MT_SLOT bit set because of -- the limited ABS_* range - they aren't MT devices, they -- just have too many ABS_ axes */ -- if (libevdev_has_event_code(evdev, EV_ABS, ABS_MT_SLOT) && -- libevdev_get_num_slots(evdev) == -1) { -+ if (evdev_is_fake_mt_device(device)) { - udev_tags &= ~EVDEV_UDEV_TAG_TOUCHSCREEN; - } else if (evdev_configure_mt_device(device) == -1) { - return -1; --- -cgit v0.10.2 - -