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

xorg-server: Changes to 'ubuntu'



 debian/changelog                          |   17 +++++
 debian/control                            |    1 
 debian/patches/205_udev-product-ids.patch |   96 ++++++++++++++++++++++++++++++
 debian/patches/series                     |    1 
 4 files changed, 115 insertions(+)

New commits:
commit 5b9829bc55377080b7dd2780136892611556c55a
Author: Christopher James Halse Rogers <christopher.halse.rogers@canonical.com>
Date:   Thu Sep 2 14:04:10 2010 +1000

    Mark latest changelog as UNRELEASED, as it isn't :)

diff --git a/debian/changelog b/debian/changelog
index a0f7a49..5d2d8e7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.9.0-0ubuntu3) maverick; urgency=low
+xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low
 
   * Fix udev USB product ID parsing (LP: #628214)
     - debian/patches:

commit 88758b5cdd209baf5bb521d99239712e256d1a05
Author: Chase Douglas <chase.douglas@ubuntu.com>
Date:   Wed Sep 1 16:28:35 2010 -0400

    releasing version 2:1.9.0-0ubuntu3

diff --git a/debian/changelog b/debian/changelog
index ec47efd..a0f7a49 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,10 +1,10 @@
-xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low
+xorg-server (2:1.9.0-0ubuntu3) maverick; urgency=low
 
   * Fix udev USB product ID parsing (LP: #628214)
     - debian/patches:
       + 205_udev-product-ids.patch
 
- -- Chase Douglas <chase.douglas@ubuntu.com>  Thu, 26 Aug 2010 16:12:24 -0400
+ -- Chase Douglas <chase.douglas@ubuntu.com>  Wed, 01 Sep 2010 16:28:23 -0400
 
 xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low
 

commit 527e21f08256b265fc5a0c594c910955426d78f1
Author: Chase Douglas <chase.douglas@ubuntu.com>
Date:   Thu Aug 26 16:13:24 2010 -0400

    Fix udev USB product ID parsing (LP: #628214)
    
    * Fix udev USB product ID parsing (LP: #628214)
      - debian/patches:
        + 205_udev-product-ids.patch

diff --git a/debian/changelog b/debian/changelog
index 2e3662e..ec47efd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+xorg-server (2:1.9.0-0ubuntu3) UNRELEASED; urgency=low
+
+  * Fix udev USB product ID parsing (LP: #628214)
+    - debian/patches:
+      + 205_udev-product-ids.patch
+
+ -- Chase Douglas <chase.douglas@ubuntu.com>  Thu, 26 Aug 2010 16:12:24 -0400
+
 xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low
 
   * debian/control:
diff --git a/debian/patches/205_udev-product-ids.patch b/debian/patches/205_udev-product-ids.patch
new file mode 100644
index 0000000..18537e7
--- /dev/null
+++ b/debian/patches/205_udev-product-ids.patch
@@ -0,0 +1,96 @@
+From 7925e8945649d4af237e6c3c5593b895a461bd1e Mon Sep 17 00:00:00 2001
+From: Chase Douglas <chase.douglas@ubuntu.com>
+Date: Wed, 01 Sep 2010 04:45:34 +0000
+Subject: Fix udev population of Bluetooth input device product IDs
+
+The udev device_added function takes the vendor and model IDs of added
+devices and converts them into an attribute that can be matched for by
+an InputClass configuration using MatchUSBID. Currently, the udev
+mechanism works for USB devices, but fails to work properly for
+Bluetooth devices. The product IDs of the event node are actually the
+IDs of the Bluetooth receiver instead of the device.
+
+This patch reads the product ID from the PRODUCT property of the parent
+of the added device. This tag is set correctly for both USB and
+Bluetooth input devices. The following devices have been tested by
+specifying individual InputClass sections in xorg.conf:
+
+* Apple Keyboard (Bluetooth)
+* Apple Magic Trackpad (Bluetooth)
+* Apple Magic Mouse (Bluetooth)
+* Microsoft Bluetooth Notebook Mouse 5000 (Bluetooth)
+* Microsoft IntelliMouse Optical (USB)
+* N-Trig Touchscreen (USB)
+* Wacom Bamboo Touch (USB)
+
+Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
+Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
+Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
+---
+diff --git a/config/udev.c b/config/udev.c
+index 9934490..b7717c9 100644
+--- a/config/udev.c
++++ b/config/udev.c
+@@ -58,7 +58,6 @@ device_added(struct udev_device *udev_device)
+     char *config_info = NULL;
+     const char *syspath;
+     const char *tags_prop;
+-    const char *usb_vendor = NULL, *usb_model = NULL;
+     const char *key, *value, *tmp;
+     InputOption *options = NULL, *tmpo;
+     InputAttributes attrs = {};
+@@ -94,6 +93,8 @@ device_added(struct udev_device *udev_device)
+     parent = udev_device_get_parent(udev_device);
+     if (parent) {
+         const char *ppath = udev_device_get_devnode(parent);
++        const char *product = udev_device_get_property_value(parent, "PRODUCT");
++        unsigned int usb_vendor, usb_model;
+ 
+         name = udev_device_get_sysattr_value(parent, "name");
+         LOG_SYSATTR(ppath, "name", name);
+@@ -104,6 +105,13 @@ device_added(struct udev_device *udev_device)
+ 
+         attrs.pnp_id = udev_device_get_sysattr_value(parent, "id");
+         LOG_SYSATTR(ppath, "id", attrs.pnp_id);
++
++        /* construct USB ID in lowercase hex - "0000:ffff" */
++        if (product && sscanf(product, "%*x/%4x/%4x/%*x", &usb_vendor, &usb_model) == 2) {
++            attrs.usb_id = Xprintf("%04x:%04x", usb_vendor, usb_model);
++            if (attrs.usb_id)
++                LOG_PROPERTY(path, "PRODUCT", product);
++        }
+     }
+     if (!name)
+         name = "(unnamed)";
+@@ -152,12 +160,6 @@ device_added(struct udev_device *udev_device)
+         } else if (!strcmp(key, "ID_VENDOR")) {
+             LOG_PROPERTY(path, key, value);
+             attrs.vendor = value;
+-        } else if (!strcmp(key, "ID_VENDOR_ID")) {
+-            LOG_PROPERTY(path, key, value);
+-            usb_vendor = value;
+-        } else if (!strcmp(key, "ID_VENDOR_MODEL")) {
+-            LOG_PROPERTY(path, key, value);
+-            usb_model = value;
+         } else if (!strcmp(key, "ID_INPUT_KEY")) {
+             LOG_PROPERTY(path, key, value);
+             attrs.flags |= ATTR_KEYBOARD;
+@@ -179,16 +181,6 @@ device_added(struct udev_device *udev_device)
+         }
+     }
+ 
+-    /* construct USB ID in lowercase hex - "0000:ffff" */
+-    if (usb_vendor && usb_model) {
+-        attrs.usb_id = Xprintf("%s:%s", usb_vendor, usb_model);
+-        if (attrs.usb_id) {
+-            char *cur;
+-            for (cur = attrs.usb_id; *cur; cur++)
+-                *cur = tolower(*cur);
+-        }
+-    }
+-
+     LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n",
+                name, path);
+     rc = NewInputDeviceRequest(options, &attrs, &dev);
+--
+cgit v0.8.3-6-g21f6
diff --git a/debian/patches/series b/debian/patches/series
index 6ef979c..e1e43a9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -34,3 +34,4 @@
 202_xf86CoordinationsToWindows.patch
 203_gestures-extension.patch
 204_fix-neg-sync-transition.patch
+205_udev-product-ids.patch

commit 7a682ea71cf6e4512aa79852ce0003255b195393
Author: Chase Douglas <chase.douglas@ubuntu.com>
Date:   Wed Sep 1 16:19:57 2010 -0400

    add explict breaks from xserver-xorg-core
    
    * debian/control:
      - add explict breaks from xserver-xorg-core against
        xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1) to ensure that
        upgrades with universe disabled work (LP: #614993)

diff --git a/debian/changelog b/debian/changelog
index 2e9ac35..2e3662e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,12 @@
+xorg-server (2:1.9.0-0ubuntu2) maverick; urgency=low
+
+  * debian/control:
+    - add explict breaks from xserver-xorg-core against 
+      xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1) to ensure that
+      upgrades with universe disabled work (LP: #614993)
+
+ -- Michael Vogt <michael.vogt@ubuntu.com>  Mon, 30 Aug 2010 15:40:07 +0200
+
 xorg-server (2:1.9.0-0ubuntu1) maverick; urgency=low
   
   * Merge from (unreleased) Debian experimental.  Remaining Ubuntu changes:
diff --git a/debian/control b/debian/control
index d13b8e5..c1e2aee 100644
--- a/debian/control
+++ b/debian/control
@@ -111,6 +111,7 @@ Breaks:
  xserver-xorg-input-tslib (<= 0.0.6-3),
  xserver-xorg-input-vmmouse (<= 1:12.6.5-4ubuntu2),
  xserver-xorg-input-wacom (<= 0.10.5+20100415-1),
+ xserver-xorg-video-v4l (<< 1:0.2.0-4ubuntu1)
 Provides:
  xserver,
  ${videoabi},


Reply to: