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

xserver-xorg-input-evdev: Changes to 'debian-experimental'



 debian/changelog                              |    6 ++
 debian/control                                |   21 +++++++-
 debian/patches/0005-fix-horiz-scrolling.patch |   23 +++++++++
 debian/patches/0006-axis-label-overrun.patch  |   66 ++++++++++++++++++++++++++
 debian/patches/series                         |    2 
 debian/rules                                  |    4 +
 6 files changed, 121 insertions(+), 1 deletion(-)

New commits:
commit 0368af80cc1903618fb3f467c3e2193bf4a60208
Author: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Date:   Fri Jul 20 11:28:00 2012 +0200

    Update packaging
    
    * Add upstream bugfixes from ubuntu:
      - 0005-fix-horiz-scrolling.patch
      - 0006-axis-label-overrun.patch
    * I messed up the tree, manually unapply debian/patches/0005* if you
      build directly from git against 2.7.0 tarball, this will be fixed
      by a new point release
    * Add -dbg package for symbols

diff --git a/debian/changelog b/debian/changelog
index 19588e1..25056d3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,12 @@ xserver-xorg-input-evdev (1:2.7.0-2) UNRELEASED; urgency=low
   [ Maarten Lankhorst ]
   * Bump build-dep to xorg 2:1.12.99.901
   * Remove upstreamed 0001-configure.ac-Fix-udev-libudev-dependency.patch
+  * Add upstream bugfixes from ubuntu:
+    - 0005-fix-horiz-scrolling.patch
+    - 0006-axis-label-overrun.patch
+  * I messed up the tree, manually unapply debian/patches/0005* if you
+    build directly from git, this will be fixed by a new point release
+  * Add -dbg package for symbols
 
  -- Maarten Lankhorst <maarten.lankhorst@canonical.com>  Mon, 16 Jul 2012 13:24:29 +0200
 
diff --git a/debian/control b/debian/control
index 8fe99e5..34eaea7 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,7 @@ Build-Depends:
  xutils-dev (>= 1:7.5+4),
  libudev-dev,
  libmtdev-dev,
-Standards-Version: 3.9.1
+Standards-Version: 3.9.3
 Vcs-Git: git://git.debian.org/git/pkg-xorg/driver/xserver-xorg-input-evdev
 Vcs-Browser: http://git.debian.org/?p=pkg-xorg/driver/xserver-xorg-input-evdev.git
 
@@ -68,3 +68,22 @@ Description: X.Org X server -- evdev input driver (development headers)
  <URL:http://www.X.org>
  .
  This package is built from the X.org xf86-input-evdev driver module.
+
+Package: xserver-xorg-input-evdev-dbg
+Architecture: linux-any
+Depends:
+ ${misc:Depends},
+ xserver-xorg-input-evdev (= ${binary:Version}),
+Section: debug
+Priority: extra
+Description: X.Org X server -- evdev input driver (development headers)
+ This package provides the development headers for the evdev input driver
+ found in xserver-xorg-input-evdev. Non-developers likely have little use
+ for this package.
+ .
+ More information about X.Org can be found at:
+ <URL:http://www.X.org>
+ .
+ This package is built from the X.org xf86-input-evdev driver module.
+ .
+ This package provides debugging symbols for this Xorg X driver.
diff --git a/debian/patches/0005-fix-horiz-scrolling.patch b/debian/patches/0005-fix-horiz-scrolling.patch
new file mode 100644
index 0000000..144e1da
--- /dev/null
+++ b/debian/patches/0005-fix-horiz-scrolling.patch
@@ -0,0 +1,23 @@
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Subject: [PATCH evdev] Fix inverted horizontal scroll (#46205)
+
+REL_HWHEEL has a positive increment, not a negative one like REL_WHEEL.
+
+X.Org Bug 46205 <http://bugs.freedesktop.org/show_bug.cgi?id=46205>
+
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
+
+diff --git a/src/evdev.c b/src/evdev.c
+index d540b87..8cf630c 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -1600,7 +1600,7 @@ EvdevAddRelValuatorClass(DeviceIntPtr device)
+         else if (axis == REL_DIAL)
+             SetScrollValuator(device, axnum, SCROLL_TYPE_VERTICAL, -1.0, SCROLL_FLAG_NONE);
+         else if (axis == REL_HWHEEL)
+-            SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, -1.0, SCROLL_FLAG_NONE);
++            SetScrollValuator(device, axnum, SCROLL_TYPE_HORIZONTAL, 1.0, SCROLL_FLAG_NONE);
+ #endif
+     }
+ 
diff --git a/debian/patches/0006-axis-label-overrun.patch b/debian/patches/0006-axis-label-overrun.patch
new file mode 100644
index 0000000..df7519e
--- /dev/null
+++ b/debian/patches/0006-axis-label-overrun.patch
@@ -0,0 +1,66 @@
+From 4145fe1c087708bf5d6608e328342282ecb93ab0 Mon Sep 17 00:00:00 2001
+From: Chase Douglas <chase.douglas@canonical.com>
+Date: Wed, 6 Jun 2012 12:07:12 -0700
+Subject: [PATCH] Fix buffer overrun when populating axis label property array
+
+The axis label property array currently only has enough elements for the
+non-multitouch axes. This change allocates enough space for all axes,
+which prevents an array overrun write. This may manifest as stack
+corruption on some platforms.
+
+Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+ src/evdev.c |    8 +++++---
+ src/evdev.h |    1 +
+ 2 files changed, 6 insertions(+), 3 deletions(-)
+
+diff --git a/src/evdev.c b/src/evdev.c
+index 4b86f66..a628273 100644
+--- a/src/evdev.c
++++ b/src/evdev.c
+@@ -1304,6 +1304,7 @@ EvdevAddAbsValuatorClass(DeviceIntPtr device)
+     }
+ #ifdef MULTITOUCH
+     if (num_mt_axes_total > 0) {
++        pEvdev->num_mt_vals = num_mt_axes_total;
+         pEvdev->mt_mask = valuator_mask_new(num_mt_axes_total);
+         if (!pEvdev->mt_mask) {
+             xf86Msg(X_ERROR, "%s: failed to allocate MT valuator mask.\n",
+@@ -2879,7 +2880,8 @@ EvdevInitProperty(DeviceIntPtr dev)
+         if ((pEvdev->num_vals > 0) && (prop_axis_label = XIGetKnownProperty(AXIS_LABEL_PROP)))
+         {
+             int mode;
+-            Atom atoms[pEvdev->num_vals];
++            int num_axes = pEvdev->num_vals + pEvdev->num_mt_vals;
++            Atom atoms[num_axes];
+ 
+             if (pEvdev->flags & EVDEV_ABSOLUTE_EVENTS)
+                 mode = Absolute;
+@@ -2890,9 +2892,9 @@ EvdevInitProperty(DeviceIntPtr dev)
+                 mode = Absolute;
+             }
+ 
+-            EvdevInitAxesLabels(pEvdev, mode, pEvdev->num_vals, atoms);
++            EvdevInitAxesLabels(pEvdev, mode, num_axes, atoms);
+             XIChangeDeviceProperty(dev, prop_axis_label, XA_ATOM, 32,
+-                                   PropModeReplace, pEvdev->num_vals, atoms, FALSE);
++                                   PropModeReplace, num_axes, atoms, FALSE);
+             XISetDevicePropertyDeletable(dev, prop_axis_label, FALSE);
+         }
+         /* Button labelling */
+diff --git a/src/evdev.h b/src/evdev.h
+index 309b215..c2f9246 100644
+--- a/src/evdev.h
++++ b/src/evdev.h
+@@ -153,6 +153,7 @@ typedef struct {
+     int grabDevice;         /* grab the event device? */
+ 
+     int num_vals;           /* number of valuators */
++    int num_mt_vals;        /* number of multitouch valuators */
+     int axis_map[max(ABS_CNT, REL_CNT)]; /* Map evdev <axis> to index */
+     ValuatorMask *vals;     /* new values coming in */
+     ValuatorMask *old_vals; /* old values for calculating relative motion */
+-- 
+1.7.9.5
+
diff --git a/debian/patches/series b/debian/patches/series
index e69de29..ab563b2 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+0005-fix-horiz-scrolling.patch
+0006-axis-label-overrun.patch
diff --git a/debian/rules b/debian/rules
index 3d192dc..52d3737 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,3 +15,7 @@ override_dh_shlibdeps:
 
 %:
 	dh $@ --with quilt,autoreconf,xsf --builddirectory=build/
+
+# Debug package:
+override_dh_strip:
+	dh_strip --dbg-package=xserver-xorg-input-evdev-dbg


Reply to: