[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: