debian/changelog | 20 ++++ debian/patches/100_exclude_touchscreen_pos.patch | 19 ++++ debian/patches/101_evdevcachecompare_errmsgs.patch | 88 +++++++++++++++++++++ debian/patches/series | 2 debian/rules | 3 5 files changed, 131 insertions(+), 1 deletion(-)
New commits: commit 474a04f3e0d2fde8b1d3f1bdcca34f20d84250ae Author: Bryce Harrington <br...@bryceharrington.org> Date: Thu Feb 12 10:49:29 2009 -0800 Typo'd patch name diff --git a/debian/patches/series b/debian/patches/series index 90d3e26..862bd01 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,2 +1,2 @@ 100_exclude_touchscreen_pos.patch -evdevcachecompare_errmsgs.patch +101_evdevcachecompare_errmsgs.patch commit eb94a82f37c20f21712f2ca450dc56f959e4bed9 Author: Bryce Harrington <br...@bryceharrington.org> Date: Thu Feb 12 10:43:56 2009 -0800 Adding patch 100 (already uploaded), and patch 101 at mdz's request to give more debug messages for an error he and colin saw once. diff --git a/debian/changelog b/debian/changelog index 1fc9ae6..56df1ca 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,23 @@ +xserver-xorg-input-evdev (1:2.1.1-1ubuntu3) jaunty; urgency=low + + * Add 101_evdevcachecompare_errmsgs.patch: Provides more specific error + messages to assist in debugging issues where currently it merely says, + "Device has changed - disabling", such as in 327175. + + -- Bryce Harrington <br...@ubuntu.com> Thu, 12 Feb 2009 09:09:49 -0800 + +xserver-xorg-input-evdev (1:2.1.1-1ubuntu2) jaunty; urgency=low + + * Add 100_exclude_touchscreen_pos.patch as cherry-pick from upstream: + EvdevCacheCompare fails because it also compares all values of + input_absinfo structure, which include the last tapped position of the + touchscreen (.value field). This is never updated in the cache, and + anyway it could change anytime if the screen is touched while away + from the X virtual console. + (LP: #322946) + + -- Bryce Harrington <br...@ubuntu.com> Mon, 09 Feb 2009 14:31:19 -0800 + xserver-xorg-input-evdev (1:2.1.1-1ubuntu1) jaunty; urgency=low * Merge with Debian experimental, remaining changes: diff --git a/debian/patches/100_exclude_touchscreen_pos.patch b/debian/patches/100_exclude_touchscreen_pos.patch new file mode 100644 index 0000000..6eda080 --- /dev/null +++ b/debian/patches/100_exclude_touchscreen_pos.patch @@ -0,0 +1,19 @@ +diff -rU7 xserver-xorg-input-evdev-2.0.99+git20080912.orig/src/evdev.c xserver-xorg-input-evdev-2.0.99+git20080912/src/evdev.c +--- xserver-xorg-input-evdev-2.0.99+git20080912.orig/src/evdev.c 2008-09-12 09:16:52.000000000 -0400 ++++ xserver-xorg-input-evdev-2.0.99+git20080912/src/evdev.c 2009-01-29 17:17:03.000000000 -0500 +@@ -1174,14 +1174,15 @@ + { + if (TestBit(i, abs_bitmask)) + { + if (ioctl(pInfo->fd, EVIOCGABS(i), &absinfo[i]) < 0) { + xf86Msg(X_ERROR, "ioctl EVIOCGABS failed: %s\n", strerror(errno)); + goto error; + } ++ absinfo[i].value = pEvdev->absinfo[i].value; + } + } + + if (compare && memcmp(pEvdev->absinfo, absinfo, sizeof(absinfo))) + goto error; + + /* cache info */ diff --git a/debian/patches/101_evdevcachecompare_errmsgs.patch b/debian/patches/101_evdevcachecompare_errmsgs.patch new file mode 100644 index 0000000..b1dc778 --- /dev/null +++ b/debian/patches/101_evdevcachecompare_errmsgs.patch @@ -0,0 +1,88 @@ +diff -Nurp patched/src/evdev.c working/src/evdev.c +--- patched/src/evdev.c 2009-02-10 09:31:26.000000000 -0800 ++++ working/src/evdev.c 2009-02-10 09:43:06.000000000 -0800 +@@ -1214,8 +1214,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && strcmp(pEvdev->name, name)) ++ if (compare && strcmp(pEvdev->name, name)) { ++ xf86Msg(X_ERROR, "device name changed: %s != %s\n", pEvdev->name, name); + goto error; ++ } + + if (ioctl(pInfo->fd, + EVIOCGBIT(0, sizeof(bitmask)), bitmask) < 0) { +@@ -1223,8 +1225,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && memcmp(pEvdev->bitmask, bitmask, sizeof(bitmask))) ++ if (compare && memcmp(pEvdev->bitmask, bitmask, sizeof(bitmask))) { ++ xf86Msg(X_ERROR, "device bitmask has changed\n"); + goto error; ++ } + + + if (ioctl(pInfo->fd, +@@ -1233,8 +1237,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && memcmp(pEvdev->rel_bitmask, rel_bitmask, sizeof(rel_bitmask))) ++ if (compare && memcmp(pEvdev->rel_bitmask, rel_bitmask, sizeof(rel_bitmask))) { ++ xf86Msg(X_ERROR, "device rel_bitmask has changed\n"); + goto error; ++ } + + if (ioctl(pInfo->fd, + EVIOCGBIT(EV_ABS, sizeof(abs_bitmask)), abs_bitmask) < 0) { +@@ -1242,8 +1248,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && memcmp(pEvdev->abs_bitmask, abs_bitmask, sizeof(abs_bitmask))) ++ if (compare && memcmp(pEvdev->abs_bitmask, abs_bitmask, sizeof(abs_bitmask))) { ++ xf86Msg(X_ERROR, "device abs_bitmask has changed\n"); + goto error; ++ } + + if (ioctl(pInfo->fd, + EVIOCGBIT(EV_KEY, sizeof(key_bitmask)), key_bitmask) < 0) { +@@ -1251,8 +1259,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && memcmp(pEvdev->key_bitmask, key_bitmask, sizeof(key_bitmask))) ++ if (compare && memcmp(pEvdev->key_bitmask, key_bitmask, sizeof(key_bitmask))) { ++ xf86Msg(X_ERROR, "device key_bitmask has changed\n"); + goto error; ++ } + + if (ioctl(pInfo->fd, + EVIOCGBIT(EV_LED, sizeof(led_bitmask)), led_bitmask) < 0) { +@@ -1260,8 +1270,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + goto error; + } + +- if (compare && memcmp(pEvdev->led_bitmask, led_bitmask, sizeof(led_bitmask))) ++ if (compare && memcmp(pEvdev->led_bitmask, led_bitmask, sizeof(led_bitmask))) { ++ xf86Msg(X_ERROR, "device led_bitmask has changed\n"); + goto error; ++ } + + memset(absinfo, 0, sizeof(absinfo)); + +@@ -1277,8 +1289,10 @@ EvdevCacheCompare(InputInfoPtr pInfo, BO + } + } + +- if (compare && memcmp(pEvdev->absinfo, absinfo, sizeof(absinfo))) +- goto error; ++ if (compare && memcmp(pEvdev->absinfo, absinfo, sizeof(absinfo))) { ++ xf86Msg(X_ERROR, "device absinfo has changed\n"); ++ goto error; ++ } + + /* cache info */ + if (!compare) diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..90d3e26 --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,2 @@ +100_exclude_touchscreen_pos.patch +evdevcachecompare_errmsgs.patch diff --git a/debian/rules b/debian/rules index 6d0dd3e..b7e9c13 100755 --- a/debian/rules +++ b/debian/rules @@ -7,6 +7,7 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 +PACKAGE = xserver-xorg-input-evdev include debian/xsfbs/xsfbs.mk CFLAGS = -Wall -g @@ -42,7 +43,7 @@ obj-$(DEB_BUILD_GNU_TYPE)/config.status: configure --infodir=\$${prefix}/share/info $(confflags) \ CFLAGS="$(CFLAGS)" -build: build-stamp +build: patch build-stamp build-stamp: obj-$(DEB_BUILD_GNU_TYPE)/config.status dh_testdir cd obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org