summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorMichael Olbrich <m.olbrich@pengutronix.de>2010-07-06 18:03:01 +0200
committerMichael Olbrich <m.olbrich@pengutronix.de>2010-07-08 14:34:35 +0200
commit5af917437056bd9cd6e9e89d41857fbd4d3f86bf (patch)
tree770481020b2345ab074ace4cd27e37ea3a67fcd3 /patches
parent5b3a24d74271b9cea6b18c87be11ca2e8fb96a0b (diff)
downloadptxdist-5af917437056bd9cd6e9e89d41857fbd4d3f86bf.tar.gz
ptxdist-5af917437056bd9cd6e9e89d41857fbd4d3f86bf.tar.xz
[xorg-server] version bump 1.7.5 -> 1.8.2
Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
Diffstat (limited to 'patches')
-rw-r--r--patches/xorg-server-1.7.5/11-Move-config_init-after-CreateWellKnownSockets-and-In.diff34
-rw-r--r--patches/xorg-server-1.7.5/12-Add-libudev-input-hotplug-backend.diff710
-rw-r--r--patches/xorg-server-1.7.5/14-config-add-example-udev-rules.diff27
l---------patches/xorg-server-1.7.5/autogen.sh1
-rw-r--r--patches/xorg-server-1.7.5/install-udev-rule.diff24
-rw-r--r--patches/xorg-server-1.7.5/series4
-rw-r--r--patches/xorg-server-1.8.2/0001-Fix-typo.patch28
-rw-r--r--patches/xorg-server-1.8.2/series1
8 files changed, 29 insertions, 800 deletions
diff --git a/patches/xorg-server-1.7.5/11-Move-config_init-after-CreateWellKnownSockets-and-In.diff b/patches/xorg-server-1.7.5/11-Move-config_init-after-CreateWellKnownSockets-and-In.diff
deleted file mode 100644
index 38d8d8dfd..000000000
--- a/patches/xorg-server-1.7.5/11-Move-config_init-after-CreateWellKnownSockets-and-In.diff
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4ae407a5a308febf63de27a62f8c301c73b37d3e Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Tue, 6 Oct 2009 17:44:33 +0200
-Subject: [PATCH 1/5] Move config_init() after CreateWellKnownSockets() and InitCoreDevices()
-
-config_init() can now add devices directly instead of scheduling a
-timer.
-
-Signed-off-by: Julien Cristau <jcristau@debian.org>
-Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- dix/main.c | 2 +-
- 1 files changed, 1 insertions(+), 1 deletions(-)
-
-Index: xorg-server/dix/main.c
-===================================================================
---- xorg-server.orig/dix/main.c
-+++ xorg-server/dix/main.c
-@@ -168,7 +168,6 @@
- InitBlockAndWakeupHandlers();
- /* Perform any operating system dependent initializations you'd like */
- OsInit();
-- config_init();
- if(serverGeneration == 1)
- {
- CreateWellKnownSockets();
-@@ -256,6 +255,7 @@
- InitCoreDevices();
- InitInput(argc, argv);
- InitAndStartDevices();
-+ config_init();
-
- dixSaveScreens(serverClient, SCREEN_SAVER_FORCER, ScreenSaverReset);
-
diff --git a/patches/xorg-server-1.7.5/12-Add-libudev-input-hotplug-backend.diff b/patches/xorg-server-1.7.5/12-Add-libudev-input-hotplug-backend.diff
deleted file mode 100644
index 8c5719566..000000000
--- a/patches/xorg-server-1.7.5/12-Add-libudev-input-hotplug-backend.diff
+++ /dev/null
@@ -1,710 +0,0 @@
-From 7dc78123e56b2d4c6855aa7f8f554f012433eed3 Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Sun, 27 Sep 2009 14:45:47 +0200
-Subject: [PATCH 2/5] Add libudev input-hotplug backend
-
-If libudev is found, we use that for hotplug and disable the hal and
-dbus backends.
-We look for event devices with an "x11_driver" property. XKB
-configuration happens using xkb.{rules,model,layout,variant,options}
-properties. Arbitrary driver options can be set with a "x11_options."
-prefix.
-
-udev rules would look something like:
-SUBSYSTEM=="input", KERNEL=="event*", ENV{x11_driver}="evdev"
-SUBSYSTEM=="input", KERNEL=="event*", ENV{ID_CLASS}=="kbd", ENV{xkb.layout}="fr", ENV{xkb.options}="terminate:ctrl_alt_bksp,compose:lwin"
-
-Signed-off-by: Julien Cristau <jcristau@debian.org>
-Tested-by: Peter Hutterer <peter.hutterer@who-t.net>
----
- config/Makefile.am | 16 +++-
- config/config-backends.h | 21 +++-
- config/config.c | 77 ++++++++++++-
- config/hal.c | 63 +----------
- config/udev.c | 247 +++++++++++++++++++++++++++++++++++++++
- configure.ac | 23 ++++-
- hw/kdrive/src/kinput.c | 8 ++
- hw/xfree86/common/xf86Config.c | 15 ++-
- hw/xfree86/common/xf86Globals.c | 2 +-
- hw/xfree86/common/xf86Xinput.c | 4 +-
- include/dix-config.h.in | 3 +
- 11 files changed, 400 insertions(+), 79 deletions(-)
- create mode 100644 config/udev.c
-
-Index: xorg-server/config/Makefile.am
-===================================================================
---- xorg-server.orig/config/Makefile.am
-+++ xorg-server/config/Makefile.am
-@@ -3,10 +3,18 @@
- noinst_LTLIBRARIES = libconfig.la
- libconfig_la_SOURCES = config.c config-backends.h
-
-+if CONFIG_UDEV
-+
-+AM_CFLAGS += @UDEV_CFLAGS@
-+libconfig_la_SOURCES += udev.c
-+libconfig_la_LIBADD = @UDEV_LIBS@
-+
-+else
-+
- if CONFIG_NEED_DBUS
- AM_CFLAGS += @DBUS_CFLAGS@
- libconfig_la_SOURCES += dbus-core.c
--endif
-+libconfig_la_LIBADD = @DBUS_LIBS@
-
- if CONFIG_DBUS_API
- dbusconfigdir = $(sysconfdir)/dbus-1/system.d
-@@ -16,7 +24,13 @@
- endif
-
- if CONFIG_HAL
-+AM_CFLAGS += @HAL_CFLAGS@
- libconfig_la_SOURCES += hal.c
-+libconfig_la_LIBADD += @HAL_LIBS@
- endif
-
-+endif # CONFIG_NEED_DBUS
-+
-+endif # !CONFIG_UDEV
-+
- EXTRA_DIST = xorg-server.conf x11-input.fdi
-Index: xorg-server/config/config-backends.h
-===================================================================
---- xorg-server.orig/config/config-backends.h
-+++ xorg-server/config/config-backends.h
-@@ -26,8 +26,18 @@
- #ifdef HAVE_DIX_CONFIG_H
- #include <dix-config.h>
- #endif
-+#include "input.h"
-
--#ifdef CONFIG_NEED_DBUS
-+void remove_devices(const char *backend, const char *config_info);
-+BOOL device_is_duplicate(const char *config_info);
-+void add_option(InputOption **options, const char *key, const char *value);
-+
-+#ifdef CONFIG_UDEV
-+int config_udev_init(void);
-+void config_udev_fini(void);
-+#else
-+
-+# ifdef CONFIG_NEED_DBUS
- #include <dbus/dbus.h>
-
- typedef void (*config_dbus_core_connect_hook)(DBusConnection *connection,
-@@ -46,14 +56,15 @@
- void config_dbus_core_fini(void);
- int config_dbus_core_add_hook(struct config_dbus_core_hook *hook);
- void config_dbus_core_remove_hook(struct config_dbus_core_hook *hook);
--#endif
-+# endif
-
--#ifdef CONFIG_DBUS_API
-+# ifdef CONFIG_DBUS_API
- int config_dbus_init(void);
- void config_dbus_fini(void);
--#endif
-+# endif
-
--#ifdef CONFIG_HAL
-+# ifdef CONFIG_HAL
- int config_hal_init(void);
- void config_hal_fini(void);
-+# endif
- #endif
-Index: xorg-server/config/config.c
-===================================================================
---- xorg-server.orig/config/config.c
-+++ xorg-server/config/config.c
-@@ -28,13 +28,17 @@
- #endif
-
- #include "os.h"
-+#include "inputstr.h"
- #include "hotplug.h"
- #include "config-backends.h"
-
- void
- config_init(void)
- {
--#if defined(CONFIG_DBUS_API) || defined(CONFIG_HAL)
-+#ifdef CONFIG_UDEV
-+ if (!config_udev_init())
-+ ErrorF("[config] failed to initialise udev\n");
-+#elif defined(CONFIG_NEED_DBUS)
- if (config_dbus_core_init()) {
- # ifdef CONFIG_DBUS_API
- if (!config_dbus_init())
-@@ -54,7 +58,9 @@
- void
- config_fini(void)
- {
--#if defined(CONFIG_DBUS_API) || defined(CONFIG_HAL)
-+#if defined(CONFIG_UDEV)
-+ config_udev_fini();
-+#elif defined(CONFIG_NEED_DBUS)
- # ifdef CONFIG_HAL
- config_hal_fini();
- # endif
-@@ -64,3 +70,70 @@
- config_dbus_core_fini();
- #endif
- }
-+
-+static void
-+remove_device(const char *backend, DeviceIntPtr dev)
-+{
-+ /* this only gets called for devices that have already been added */
-+ LogMessage(X_INFO, "config/%s: removing device %s\n", backend, dev->name);
-+
-+ /* Call PIE here so we don't try to dereference a device that's
-+ * already been removed. */
-+ OsBlockSignals();
-+ ProcessInputEvents();
-+ DeleteInputDeviceRequest(dev);
-+ OsReleaseSignals();
-+}
-+
-+void
-+remove_devices(const char *backend, const char *config_info)
-+{
-+ DeviceIntPtr dev, next;
-+
-+ for (dev = inputInfo.devices; dev; dev = next) {
-+ next = dev->next;
-+ if (dev->config_info && strcmp(dev->config_info, config_info) == 0)
-+ remove_device(backend, dev);
-+ }
-+ for (dev = inputInfo.off_devices; dev; dev = next) {
-+ next = dev->next;
-+ if (dev->config_info && strcmp(dev->config_info, config_info) == 0)
-+ remove_device(backend, dev);
-+ }
-+}
-+
-+BOOL
-+device_is_duplicate(const char *config_info)
-+{
-+ DeviceIntPtr dev;
-+
-+ for (dev = inputInfo.devices; dev; dev = dev->next)
-+ {
-+ if (dev->config_info && (strcmp(dev->config_info, config_info) == 0))
-+ return TRUE;
-+ }
-+
-+ for (dev = inputInfo.off_devices; dev; dev = dev->next)
-+ {
-+ if (dev->config_info && (strcmp(dev->config_info, config_info) == 0))
-+ return TRUE;
-+ }
-+
-+ return FALSE;
-+}
-+
-+void
-+add_option(InputOption **options, const char *key, const char *value)
-+{
-+ if (!value || *value == '\0')
-+ return;
-+
-+ for (; *options; options = &(*options)->next)
-+ ;
-+ *options = xcalloc(sizeof(**options), 1);
-+ if (!*options) /* Yeesh. */
-+ return;
-+ (*options)->key = xstrdup(key);
-+ (*options)->value = xstrdup(value);
-+ (*options)->next = NULL;
-+}
-Index: xorg-server/config/hal.c
-===================================================================
---- xorg-server.orig/config/hal.c
-+++ xorg-server/config/hal.c
-@@ -58,25 +58,9 @@
- char* options;
- };
-
--
--static void
--remove_device(DeviceIntPtr dev)
--{
-- /* this only gets called for devices that have already been added */
-- LogMessage(X_INFO, "config/hal: removing device %s\n", dev->name);
--
-- /* Call PIE here so we don't try to dereference a device that's
-- * already been removed. */
-- OsBlockSignals();
-- ProcessInputEvents();
-- DeleteInputDeviceRequest(dev);
-- OsReleaseSignals();
--}
--
- static void
- device_removed(LibHalContext *ctx, const char *udi)
- {
-- DeviceIntPtr dev, next;
- char *value;
-
- value = xalloc(strlen(udi) + 5); /* "hal:" + NULL */
-@@ -84,36 +68,11 @@
- return;
- sprintf(value, "hal:%s", udi);
-
-- for (dev = inputInfo.devices; dev; dev = next) {
-- next = dev->next;
-- if (dev->config_info && strcmp(dev->config_info, value) == 0)
-- remove_device(dev);
-- }
-- for (dev = inputInfo.off_devices; dev; dev = next) {
-- next = dev->next;
-- if (dev->config_info && strcmp(dev->config_info, value) == 0)
-- remove_device(dev);
-- }
-+ remove_devices("hal", value);
-
- xfree(value);
- }
-
--static void
--add_option(InputOption **options, const char *key, const char *value)
--{
-- if (!value || *value == '\0')
-- return;
--
-- for (; *options; options = &(*options)->next)
-- ;
-- *options = xcalloc(sizeof(**options), 1);
-- if (!*options) /* Yeesh. */
-- return;
-- (*options)->key = xstrdup(key);
-- (*options)->value = xstrdup(value);
-- (*options)->next = NULL;
--}
--
- static char *
- get_prop_string(LibHalContext *hal_ctx, const char *udi, const char *name)
- {
-@@ -166,26 +125,6 @@
- return ret;
- }
-
--static BOOL
--device_is_duplicate(char *config_info)
--{
-- DeviceIntPtr dev;
--
-- for (dev = inputInfo.devices; dev; dev = dev->next)
-- {
-- if (dev->config_info && (strcmp(dev->config_info, config_info) == 0))
-- return TRUE;
-- }
--
-- for (dev = inputInfo.off_devices; dev; dev = dev->next)
-- {
-- if (dev->config_info && (strcmp(dev->config_info, config_info) == 0))
-- return TRUE;
-- }
--
-- return FALSE;
--}
--
- static void
- device_added(LibHalContext *hal_ctx, const char *udi)
- {
-Index: xorg-server/config/udev.c
-===================================================================
---- /dev/null
-+++ xorg-server/config/udev.c
-@@ -0,0 +1,247 @@
-+/*
-+ * Copyright © 2009 Julien Cristau
-+ *
-+ * Permission is hereby granted, free of charge, to any person obtaining a
-+ * copy of this software and associated documentation files (the "Software"),
-+ * to deal in the Software without restriction, including without limitation
-+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
-+ * and/or sell copies of the Software, and to permit persons to whom the
-+ * Software is furnished to do so, subject to the following conditions:
-+ *
-+ * The above copyright notice and this permission notice (including the next
-+ * paragraph) shall be included in all copies or substantial portions of the
-+ * Software.
-+ *
-+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
-+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-+ * DEALINGS IN THE SOFTWARE.
-+ *
-+ * Author: Julien Cristau <jcristau@debian.org>
-+ */
-+
-+#ifdef HAVE_DIX_CONFIG_H
-+#include <dix-config.h>
-+#endif
-+
-+#include <libudev.h>
-+
-+#include "input.h"
-+#include "inputstr.h"
-+#include "hotplug.h"
-+#include "config-backends.h"
-+#include "os.h"
-+
-+#define UDEV_XKB_PROP_KEY "xkb."
-+#define UDEV_PROP_KEY "x11_options."
-+
-+static struct udev_monitor *udev_monitor;
-+
-+static void
-+device_added(struct udev_device *udev_device)
-+{
-+ const char *path = NULL, *driver = NULL, *name = NULL;
-+ char *config_info = NULL;
-+ const char *syspath;
-+ const char *key, *value, *tmp;
-+ InputOption *options = NULL, *tmpo;
-+ DeviceIntPtr dev = NULL;
-+ struct udev_list_entry *set, *entry;
-+ struct udev_device *parent;
-+ int rc;
-+
-+ driver = udev_device_get_property_value(udev_device, "x11_driver");
-+
-+ path = udev_device_get_devnode(udev_device);
-+
-+ syspath = udev_device_get_syspath(udev_device);
-+
-+ parent = udev_device_get_parent(udev_device);
-+ if (parent)
-+ name = udev_device_get_property_value(parent, "NAME");
-+ else
-+ name = "(unnamed)";
-+
-+ if (!driver || !path || !syspath)
-+ return;
-+ options = xcalloc(sizeof(*options), 1);
-+ if (!options)
-+ return;
-+
-+ options->key = xstrdup("_source");
-+ options->value = xstrdup("server/udev");
-+ if (!options->key || !options->value)
-+ goto unwind;
-+
-+ add_option(&options, "path", path);
-+ add_option(&options, "device", path);
-+ add_option(&options, "driver", driver);
-+
-+ config_info = Xprintf("udev:%s", syspath);
-+ if (!config_info)
-+ goto unwind;
-+
-+ if (device_is_duplicate(config_info)) {
-+ LogMessage(X_WARNING, "config/udev: device %s already added. "
-+ "Ignoring.\n", name);
-+ goto unwind;
-+ }
-+
-+ set = udev_device_get_properties_list_entry(udev_device);
-+ udev_list_entry_foreach(entry, set) {
-+ key = udev_list_entry_get_name(entry);
-+ if (!key)
-+ continue;
-+ if (!strncasecmp(key, UDEV_PROP_KEY, sizeof(UDEV_PROP_KEY) - 1)) {
-+ value = udev_list_entry_get_value(entry);
-+ add_option(&options, key + sizeof(UDEV_PROP_KEY) - 1, value);
-+ } else if (!strncasecmp(key, UDEV_XKB_PROP_KEY,
-+ sizeof(UDEV_XKB_PROP_KEY) - 1)) {
-+ tmp = key + sizeof(UDEV_XKB_PROP_KEY) - 1;
-+ value = udev_list_entry_get_value(entry);
-+ if (!strcasecmp(tmp, "rules"))
-+ add_option(&options, "xkb_rules", value);
-+ else if (!strcasecmp(tmp, "layout"))
-+ add_option(&options, "xkb_layout", value);
-+ else if (!strcasecmp(tmp, "variant"))
-+ add_option(&options, "xkb_variant", value);
-+ else if (!strcasecmp(tmp, "model"))
-+ add_option(&options, "xkb_model", value);
-+ else if (!strcasecmp(tmp, "options"))
-+ add_option(&options, "xkb_options", value);
-+ }
-+ }
-+ add_option(&options, "name", name);
-+ LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n",
-+ name, path);
-+ rc = NewInputDeviceRequest(options, &dev);
-+ if (rc != Success)
-+ goto unwind;
-+
-+ for (; dev; dev = dev->next) {
-+ xfree(dev->config_info);
-+ dev->config_info = xstrdup(config_info);
-+ }
-+
-+ unwind:
-+ xfree(config_info);
-+ while (!dev && (tmpo = options)) {
-+ options = tmpo->next;
-+ xfree(tmpo->key);
-+ xfree(tmpo->value);
-+ xfree(tmpo);
-+ }
-+
-+ return;
-+}
-+
-+static void
-+device_removed(struct udev_device *device)
-+{
-+ char *value;
-+ const char *syspath = udev_device_get_syspath(device);
-+
-+ value = Xprintf("udev:%s", syspath);
-+ if (!value)
-+ return;
-+
-+ remove_devices("udev", value);
-+
-+ xfree(value);
-+}
-+
-+static void
-+wakeup_handler(pointer data, int err, pointer read_mask)
-+{
-+ int udev_fd = udev_monitor_get_fd(udev_monitor);
-+ struct udev_device *udev_device;
-+ const char *action;
-+
-+ if (err < 0)
-+ return;
-+
-+ if (FD_ISSET(udev_fd, (fd_set *)read_mask)) {
-+ udev_device = udev_monitor_receive_device(udev_monitor);
-+ if (!udev_device)
-+ return;
-+ action = udev_device_get_action(udev_device);
-+ if (!action)
-+ ;
-+ else if (!strcmp(action, "add"))
-+ device_added(udev_device);
-+ else if (!strcmp(action, "remove"))
-+ device_removed(udev_device);
-+ else
-+ DebugF("config/udev: unhandled action %s\n", action);
-+ udev_device_unref(udev_device);
-+ }
-+}
-+
-+static void
-+block_handler(pointer data, struct timeval **tv, pointer read_mask)
-+{
-+}
-+
-+int
-+config_udev_init(void)
-+{
-+ struct udev *udev;
-+ struct udev_enumerate *enumerate;
-+ struct udev_list_entry *devices, *device;
-+ int rc;
-+
-+ udev = udev_new();
-+ if (!udev)
-+ return 0;
-+ udev_monitor = udev_monitor_new_from_netlink(udev, "udev");
-+ if (!udev_monitor)
-+ return 0;
-+ rc = udev_monitor_filter_add_match_subsystem_devtype(udev_monitor,
-+ "input", NULL);
-+ if (rc < 0)
-+ return 0;
-+
-+ if (udev_monitor_enable_receiving(udev_monitor)) {
-+ ErrorF("config/udev: failed to bind the udev monitor\n");
-+ return 0;
-+ }
-+
-+ enumerate = udev_enumerate_new(udev);
-+ if (!enumerate)
-+ return 0;
-+ udev_enumerate_add_match_subsystem(enumerate, "input");
-+ udev_enumerate_scan_devices(enumerate);
-+ devices = udev_enumerate_get_list_entry(enumerate);
-+ udev_list_entry_foreach(device, devices) {
-+ const char *syspath = udev_list_entry_get_name(device);
-+ struct udev_device *udev_device = udev_device_new_from_syspath(udev, syspath);
-+ device_added(udev_device);
-+ udev_device_unref(udev_device);
-+ }
-+ udev_enumerate_unref(enumerate);
-+
-+ RegisterBlockAndWakeupHandlers(block_handler, wakeup_handler, NULL);
-+ AddGeneralSocket(udev_monitor_get_fd(udev_monitor));
-+
-+ return 1;
-+}
-+
-+void
-+config_udev_fini(void)
-+{
-+ struct udev *udev;
-+
-+ if (!udev_monitor)
-+ return;
-+
-+ udev = udev_monitor_get_udev(udev_monitor);
-+
-+ RemoveGeneralSocket(udev_monitor_get_fd(udev_monitor));
-+ RemoveBlockAndWakeupHandlers(block_handler, wakeup_handler, udev_monitor);
-+ udev_monitor_unref(udev_monitor);
-+ udev_monitor = NULL;
-+ udev_unref(udev);
-+}
-Index: xorg-server/configure.ac
-===================================================================
---- xorg-server.orig/configure.ac
-+++ xorg-server/configure.ac
-@@ -601,6 +601,7 @@
- AC_ARG_ENABLE(dbe, AS_HELP_STRING([--disable-dbe], [Build DBE extension (default: enabled)]), [DBE=$enableval], [DBE=yes])
- AC_ARG_ENABLE(xf86bigfont, AS_HELP_STRING([--disable-xf86bigfont], [Build XF86 Big Font extension (default: disabled)]), [XF86BIGFONT=$enableval], [XF86BIGFONT=no])
- AC_ARG_ENABLE(dpms, AS_HELP_STRING([--disable-dpms], [Build DPMS extension (default: enabled)]), [DPMSExtension=$enableval], [DPMSExtension=yes])
-+AC_ARG_ENABLE(config-udev, AS_HELP_STRING([--enable-config-udev], [Build udev support (default: auto)]), [CONFIG_UDEV=$enableval], [CONFIG_UDEV=auto])
- AC_ARG_ENABLE(config-dbus, AS_HELP_STRING([--enable-config-dbus], [Build D-BUS API support (default: no)]), [CONFIG_DBUS_API=$enableval], [CONFIG_DBUS_API=no])
- AC_ARG_ENABLE(config-hal, AS_HELP_STRING([--disable-config-hal], [Build HAL support (default: auto)]), [CONFIG_HAL=$enableval], [CONFIG_HAL=auto])
- AC_ARG_ENABLE(xfree86-utils, AS_HELP_STRING([--enable-xfree86-utils], [Build xfree86 DDX utilities (default: enabled)]), [XF86UTILS=$enableval], [XF86UTILS=yes])
-@@ -759,6 +760,26 @@
- LIBXTST="xtst >= 1.0.99.2"
- LIBPCIACCESS="pciaccess >= 0.8.0"
- LIBGLIB="glib-2.0 >= 2.16"
-+LIBUDEV="libudev >= 143"
-+
-+if test "x$CONFIG_UDEV" = xyes &&
-+ { test "x$CONFIG_DBUS_API" = xyes || test "x$CONFIG_HAL" = xyes; }; then
-+ AC_MSG_ERROR([Hotplugging through both libudev and dbus/hal not allowed])
-+fi
-+
-+PKG_CHECK_MODULES(UDEV, $LIBUDEV, [HAVE_LIBUDEV=yes], [HAVE_LIBUDEV=no])
-+if test "x$CONFIG_UDEV" = xauto; then
-+ CONFIG_UDEV="$HAVE_LIBUDEV"
-+fi
-+AM_CONDITIONAL(CONFIG_UDEV, [test "x$CONFIG_UDEV" = xyes])
-+if test "x$CONFIG_UDEV" = xyes; then
-+ CONFIG_DBUS_API=no
-+ CONFIG_HAL=no
-+ if ! test "x$HAVE_LIBUDEV" = xyes; then
-+ AC_MSG_ERROR([udev configuration API requested, but libudev is not installed])
-+ fi
-+ AC_DEFINE(CONFIG_UDEV, 1, [Use libudev for input hotplug])
-+fi
-
- dnl HAVE_DBUS is true if we actually have the D-Bus library, whereas
- dnl CONFIG_DBUS_API is true if we want to enable the D-Bus config
-@@ -792,13 +813,11 @@
- fi
-
- AC_DEFINE(CONFIG_HAL, 1, [Use the HAL hotplug API])
-- REQUIRED_LIBS="$REQUIRED_LIBS hal"
- CONFIG_NEED_DBUS="yes"
- fi
- AM_CONDITIONAL(CONFIG_HAL, [test "x$CONFIG_HAL" = xyes])
-
- if test "x$CONFIG_NEED_DBUS" = xyes; then
-- REQUIRED_LIBS="$REQUIRED_LIBS dbus-1"
- AC_DEFINE(CONFIG_NEED_DBUS, 1, [Use D-Bus for input hotplug])
- fi
- AM_CONDITIONAL(CONFIG_NEED_DBUS, [test "x$CONFIG_NEED_DBUS" = xyes])
-Index: xorg-server/hw/kdrive/src/kinput.c
-===================================================================
---- xorg-server.orig/hw/kdrive/src/kinput.c
-+++ xorg-server/hw/kdrive/src/kinput.c
-@@ -2280,6 +2280,14 @@
- return BadValue;
- }
- #endif
-+#ifdef CONFIG_UDEV
-+ else if (strcmp(option->key, "_source") == 0 &&
-+ strcmp(option->value, "server/udev") == 0)
-+ {
-+ ErrorF("Ignoring device from udev.\n");
-+ return BadValue;
-+ }
-+#endif
- }
-
- if (!ki && !pi) {
-Index: xorg-server/hw/xfree86/common/xf86Config.c
-===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.c
-+++ xorg-server/hw/xfree86/common/xf86Config.c
-@@ -1444,12 +1444,19 @@
- }
-
- if (xf86Info.allowEmptyInput && !(foundPointer && foundKeyboard)) {
--#ifdef CONFIG_HAL
-- xf86Msg(X_INFO, "The server relies on HAL to provide the list of "
-+#if defined(CONFIG_HAL) || defined(CONFIG_UDEV)
-+ const char *config_backend;
-+#if defined(CONFIG_HAL)
-+ config_backend = "HAL";
-+#else
-+ config_backend = "udev";
-+#endif
-+ xf86Msg(X_INFO, "The server relies on %s to provide the list of "
- "input devices.\n\tIf no devices become available, "
-- "reconfigure HAL or disable AutoAddDevices.\n");
-+ "reconfigure %s or disable AutoAddDevices.\n",
-+ config_backend, config_backend);
- #else
-- xf86Msg(X_INFO, "HAL is disabled and no input devices were configured.\n"
-+ xf86Msg(X_INFO, "Hotplugging is disabled and no input devices were configured.\n"
- "\tTry disabling AllowEmptyInput.\n");
- #endif
- }
-Index: xorg-server/hw/xfree86/common/xf86Globals.c
-===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Globals.c
-+++ xorg-server/hw/xfree86/common/xf86Globals.c
-@@ -132,7 +132,7 @@
- .kbdCustomKeycodes = FALSE,
- .disableRandR = FALSE,
- .randRFrom = X_DEFAULT,
--#ifdef CONFIG_HAL
-+#if defined(CONFIG_HAL) || defined(CONFIG_UDEV)
- .allowEmptyInput = TRUE,
- .autoAddDevices = TRUE,
- .autoEnableDevices = TRUE
-Index: xorg-server/hw/xfree86/common/xf86Xinput.c
-===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Xinput.c
-+++ xorg-server/hw/xfree86/common/xf86Xinput.c
-@@ -605,9 +605,9 @@
- }
- }
-
-- /* Right now, the only automatic config we know of is HAL. */
- if (strcmp(option->key, "_source") == 0 &&
-- strcmp(option->value, "server/hal") == 0) {
-+ (strcmp(option->value, "server/hal") == 0 ||
-+ strcmp(option->value, "server/udev") == 0)) {
- is_auto = 1;
- if (!xf86Info.autoAddDevices) {
- rval = BadMatch;
-Index: xorg-server/include/dix-config.h.in
-===================================================================
---- xorg-server.orig/include/dix-config.h.in
-+++ xorg-server/include/dix-config.h.in
-@@ -387,6 +387,9 @@
- /* Support D-Bus */
- #undef HAVE_DBUS
-
-+/* Use libudev for input hotplug */
-+#undef CONFIG_UDEV
-+
- /* Use D-Bus for input hotplug */
- #undef CONFIG_NEED_DBUS
-
diff --git a/patches/xorg-server-1.7.5/14-config-add-example-udev-rules.diff b/patches/xorg-server-1.7.5/14-config-add-example-udev-rules.diff
deleted file mode 100644
index e8523f061..000000000
--- a/patches/xorg-server-1.7.5/14-config-add-example-udev-rules.diff
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0fef4e506d6278434fe82bc2697354f6159667df Mon Sep 17 00:00:00 2001
-From: Julien Cristau <jcristau@debian.org>
-Date: Fri, 16 Oct 2009 09:32:44 +0200
-Subject: [PATCH 4/5] config: add example udev rules
-
-Signed-off-by: Julien Cristau <jcristau@debian.org>
----
- config/x11-input.rules | 7 +++++++
- 1 files changed, 7 insertions(+), 0 deletions(-)
- create mode 100644 config/x11-input.rules
-
-diff --git a/config/x11-input.rules b/config/x11-input.rules
-new file mode 100644
-index 0000000..59ef034
---- /dev/null
-+++ b/config/x11-input.rules
-@@ -0,0 +1,7 @@
-+SUBSYSTEM!="input", GOTO="x11_input_end"
-+
-+KERNEL=="event*", ENV{x11_driver}="evdev"
-+KERNEL=="event*", ENV{ID_CLASS}=="kbd", ENV{xkb.layout}="us"
-+KERNEL=="event*", ENV{ID_CLASS}=="mouse", ATTRS{protocol}=="AlpsPS/2", ENV{x11_driver}="synaptics"
-+
-+LABEL="x11_input_end"
---
-1.6.5
-
diff --git a/patches/xorg-server-1.7.5/autogen.sh b/patches/xorg-server-1.7.5/autogen.sh
deleted file mode 120000
index 9f8a4cb7d..000000000
--- a/patches/xorg-server-1.7.5/autogen.sh
+++ /dev/null
@@ -1 +0,0 @@
-../autogen.sh \ No newline at end of file
diff --git a/patches/xorg-server-1.7.5/install-udev-rule.diff b/patches/xorg-server-1.7.5/install-udev-rule.diff
deleted file mode 100644
index d1c6813e2..000000000
--- a/patches/xorg-server-1.7.5/install-udev-rule.diff
+++ /dev/null
@@ -1,24 +0,0 @@
-From: Michael Olbrich <m.olbrich@pengutronix.de>
-Subject: install x11-input.rules
-
-install x11-input.rules to /lib/udev/rules.d/
-
-Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
----
- config/Makefile.am | 3 +++
- 1 file changed, 3 insertions(+)
-
-Index: b/config/Makefile.am
-===================================================================
---- a/config/Makefile.am
-+++ b/config/Makefile.am
-@@ -9,6 +9,9 @@ AM_CFLAGS += @UDEV_CFLAGS@
- libconfig_la_SOURCES += udev.c
- libconfig_la_LIBADD = @UDEV_LIBS@
-
-+udevrulesdir = /lib/udev/rules.d
-+udevrules_DATA = x11-input.rules
-+
- else
-
- if CONFIG_NEED_DBUS
diff --git a/patches/xorg-server-1.7.5/series b/patches/xorg-server-1.7.5/series
deleted file mode 100644
index 8245ed020..000000000
--- a/patches/xorg-server-1.7.5/series
+++ /dev/null
@@ -1,4 +0,0 @@
-11-Move-config_init-after-CreateWellKnownSockets-and-In.diff
-12-Add-libudev-input-hotplug-backend.diff
-14-config-add-example-udev-rules.diff
-install-udev-rule.diff
diff --git a/patches/xorg-server-1.8.2/0001-Fix-typo.patch b/patches/xorg-server-1.8.2/0001-Fix-typo.patch
new file mode 100644
index 000000000..f4cb33ece
--- /dev/null
+++ b/patches/xorg-server-1.8.2/0001-Fix-typo.patch
@@ -0,0 +1,28 @@
+From 7b7359f9e0b3295cf200d763b4762b84d1d4b841 Mon Sep 17 00:00:00 2001
+From: Michael Olbrich <m.olbrich@pengutronix.de>
+Date: Wed, 7 Jul 2010 13:02:15 +0200
+Subject: [PATCH] Fix typo
+
+MultiBufferDrawableResType != MultibufferDrawableResType
+
+Signed-off-by: Michael Olbrich <m.olbrich@pengutronix.de>
+---
+ Xext/mbuf.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/Xext/mbuf.c b/Xext/mbuf.c
+index aacb9cf..b4c6357 100644
+--- a/Xext/mbuf.c
++++ b/Xext/mbuf.c
+@@ -468,7 +468,7 @@ MultibufferExtensionInit()
+ */
+ MultibufferDrawableResType =
+ CreateNewResourceType(MultibufferDrawableDelete, "MultibufferDrawable");
+- if (MultiBufferDrawableResType)
++ if (MultibufferDrawableResType)
+ MultibufferDrawableResType |= RC_DRAWABLE;
+ MultibufferResType = CreateNewResourceType(MultibufferDelete,
+ "MultibufferBuffer");
+--
+1.7.1
+
diff --git a/patches/xorg-server-1.8.2/series b/patches/xorg-server-1.8.2/series
new file mode 100644
index 000000000..985d04ca9
--- /dev/null
+++ b/patches/xorg-server-1.8.2/series
@@ -0,0 +1 @@
+0001-Fix-typo.patch