xserver-xorg-input-evdev: Changes to 'ubuntu'
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 <bryce@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 <bryce@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 <bryce@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 <bryce@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)
Reply to: