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

xorg-server: Changes to 'ubuntu'



 debian/changelog                                                            |   36 
 debian/patches/07-xfree86-fix-build-with-xv-disabled.diff                   |   50 
 debian/patches/08-config-xorg-conf-d.diff                                   | 1287 +++++++++
 debian/patches/09-inputclass-sans-abi9.diff                                 | 1334 ++++++++++
 debian/patches/10-config-libudev-backend.diff                               |  729 +++++
 debian/patches/11-Move-config_init-after-CreateWellKnownSockets-and-In.diff |   34 
 debian/patches/11-xfree86-fix-video-fallback.diff                           |  123 
 debian/patches/111_armel-drv-fallbacks.patch                                |   53 
 debian/patches/12-Add-libudev-input-hotplug-backend.diff                    |  710 -----
 debian/patches/12-xfree86-dont-complain-about-missing-coredevices.diff      |   58 
 debian/patches/13-configure-config-udev-defaults-to-off-for-now.diff        |   23 
 debian/patches/13-unbreak-input-abi.diff                                    |  148 +
 debian/patches/14-config-add-example-udev-rules.diff                        |   27 
 debian/patches/14-tone-down-nidr-errors.diff                                |   20 
 debian/patches/15-config-udev-look-for-xkb-rules-model-layout-variant-.diff |   40 
 debian/patches/15-keep-udev-x11-driver.diff                                 |   19 
 debian/patches/16-config-dont-filter-input-subsys.diff                      |   42 
 debian/patches/16-xfree86-fix-build-with-xv-disabled.diff                   |   53 
 debian/patches/series                                                       |   16 
 19 files changed, 3826 insertions(+), 976 deletions(-)

New commits:
commit 33b99455ff41f70ce254db7d262e050018ba790d
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 19:02:26 2010 +0300

    Release 2:1.7.6-1ubuntu4

diff --git a/debian/changelog b/debian/changelog
index d20a779..db4f0a2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,4 +1,4 @@
-xorg-server (2:1.7.6-1ubuntu4) UNRELEASED; urgency=low
+xorg-server (2:1.7.6-1ubuntu4) lucid; urgency=low
 
   [ Timo Aaltonen ]
   * Merge from debian-unstable git. (LP: #546933)
@@ -7,7 +7,7 @@ xorg-server (2:1.7.6-1ubuntu4) UNRELEASED; urgency=low
   * Updated 111_armel-drv-fallbacks.patch to also add support for finding
     dovefb devices in addition to imx51 ones. (LP: #550701)
 
- -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 30 Mar 2010 18:37:06 +0300
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 30 Mar 2010 19:00:31 +0300
 
 xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
 

commit 14f402ed5b3275525131e61bea96adcaae471b77
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 18:59:57 2010 +0300

    Add another bug closer.

diff --git a/debian/changelog b/debian/changelog
index e342d62..d20a779 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,7 @@
 xorg-server (2:1.7.6-1ubuntu4) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
-  * Merge from debian-unstable git.
+  * Merge from debian-unstable git. (LP: #546933)
 
   [ Michael Casadevall ]
   * Updated 111_armel-drv-fallbacks.patch to also add support for finding

commit 36ad4200d8b5c40b57e2635511a9945383bc44d4
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 18:46:06 2010 +0300

    Add a bug closer

diff --git a/debian/changelog b/debian/changelog
index 1b41ad7..e342d62 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -5,7 +5,7 @@ xorg-server (2:1.7.6-1ubuntu4) UNRELEASED; urgency=low
 
   [ Michael Casadevall ]
   * Updated 111_armel-drv-fallbacks.patch to also add support for finding
-    dovefb devices in addition to imx51 ones.
+    dovefb devices in addition to imx51 ones. (LP: #550701)
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 30 Mar 2010 18:37:06 +0300
 

commit b9f9f01a6cb87344370975c8b7edc4b4c106d80f
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 18:45:27 2010 +0300

    Update patch 111
    
    and the changelog

diff --git a/debian/changelog b/debian/changelog
index 7cff143..1b41ad7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,14 @@
+xorg-server (2:1.7.6-1ubuntu4) UNRELEASED; urgency=low
+
+  [ Timo Aaltonen ]
+  * Merge from debian-unstable git.
+
+  [ Michael Casadevall ]
+  * Updated 111_armel-drv-fallbacks.patch to also add support for finding
+    dovefb devices in addition to imx51 ones.
+
+ -- Timo Aaltonen <tjaalton@ubuntu.com>  Tue, 30 Mar 2010 18:37:06 +0300
+
 xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
 
   [ Timo Aaltonen ]
diff --git a/debian/patches/111_armel-drv-fallbacks.patch b/debian/patches/111_armel-drv-fallbacks.patch
index 06d8ca4..35ebc71 100644
--- a/debian/patches/111_armel-drv-fallbacks.patch
+++ b/debian/patches/111_armel-drv-fallbacks.patch
@@ -2,16 +2,11 @@
  hw/xfree86/common/xf86AutoConfig.c |   32 ++++++++++++++++++++++++++++++++
  1 file changed, 32 insertions(+)
 
-Index: xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
+Index: xorg-server-1.7.6/hw/xfree86/common/xf86AutoConfig.c
 ===================================================================
---- xorg-server-1.7.5.orig/hw/xfree86/common/xf86AutoConfig.c
-+++ xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
-@@ -39,16 +39,20 @@
- #include "xf86Config.h"
- #include "xf86Priv.h"
- #include "xf86_OSlib.h"
- #ifdef __sparc__
- # include "xf86sbusBus.h"
+--- xorg-server-1.7.6.orig/hw/xfree86/common/xf86AutoConfig.c	2010-03-26 17:29:54.536898573 -0400
++++ xorg-server-1.7.6/hw/xfree86/common/xf86AutoConfig.c	2010-03-26 17:31:22.796899575 -0400
+@@ -44,6 +44,10 @@
  #endif
  #include "dirent.h"
  
@@ -22,36 +17,27 @@ Index: xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
  #ifdef sun
  # include <sys/visual_io.h>
  # include <ctype.h>
- #endif
- 
- /* Sections for the default built-in configuration. */
- 
- #define BUILTIN_DEVICE_NAME \
-@@ -429,16 +433,37 @@
-         direntry = readdir(idsdir);
-     }
-  end:
-     xfree(line);
-     closedir(idsdir);
+@@ -433,6 +438,28 @@
  }
  #endif /* __linux__ */
  
 +#if defined(__arm__) && defined(__linux__)
 +static int
-+test_imx_drv ()
++test_sysfs_device (char * device_name, char * driver_name)
 +{
 +    DIR* dir = opendir("/sys/devices/platform");
 +    struct dirent *current_dir;
++    int len = strlen(device_name);
 +
 +    while (current_dir = readdir(dir)) {
-+        if (strlen(current_dir->d_name) >= 7 && strncmp("mxc_gpu", current_dir->d_name, 7) == 0)
++        if (strlen(current_dir->d_name) >= len && strncmp(device_name, current_dir->d_name, len) == 0)
 +            break;
 +    }
 +    closedir(dir);
 +    if(!current_dir)
 +        return 0;
 +
-+    if (!LoadModule("imx", NULL, NULL, NULL, NULL, NULL, NULL, NULL))
++    if (!LoadModule(driver_name, NULL, NULL, NULL, NULL, NULL, NULL, NULL))
 +        return 0;
 +    return 1;
 +}
@@ -60,23 +46,15 @@ Index: xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
  static void
  listPossibleVideoDrivers(char *matches[], int nmatches)
  {
-     struct pci_device * info = NULL;
-     struct pci_device_iterator *iter;
-     int i;
-     
-     for (i = 0 ; i < nmatches ; i++) {
-@@ -540,17 +565,24 @@
- #endif
-     }
- 
-     /* Fallback to platform default frame buffer driver */
-     if (i < (nmatches - 1)) {
+@@ -544,7 +571,16 @@
  #if !defined(__linux__) && defined(__sparc__)
  	matches[i++] = xnfstrdup("wsfb");
  #else
 +#if defined(__linux__) && defined(__arm__)
-+        if (test_imx_drv())
++        if (test_sysfs_device("mxc_gpu", "imx"))
 +	    matches[i++] = xnfstrdup("imx");
++        else if (test_sysfs_device("dovefb", "dovefb"))
++            matches[i++] = xnfstrdup("dovefb");
 +        else
 +	    matches[i++] = xnfstrdup("fbdev");
 +#else
@@ -85,8 +63,3 @@ Index: xorg-server-1.7.5/hw/xfree86/common/xf86AutoConfig.c
  #endif
      }
  }
- 
- static char*
- chooseVideoDriver(void)
- {
-     char *chosen_driver = NULL;

commit 9411a81e45bd9d986b84e4635df826ded728335f
Author: Julien Cristau <jcristau@debian.org>
Date:   Tue Mar 30 14:24:04 2010 +0200

    15-keep-udev-x11-driver.diff: keep looking for the x11_driver udev property
    
    Transitional measure, to be removed once all drivers are updated.  This
    should allow the new server to work while drivers aren't transitioned to
    xorg.conf.d yet.

diff --git a/debian/changelog b/debian/changelog
index b781f32..96483d1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,5 +1,6 @@
 xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
 
+  [ Timo Aaltonen ]
   * Add 08-config-xorg-conf-d.diff, 09-inputclass-sans-abi9.diff,
     10-config-libudev-backend.diff. Backport xorg.conf.d, inputclass
     and libudev support from xserver 1.8. Replaces the patches we had
@@ -15,6 +16,11 @@ xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
     don't break the input ABI.
   * Add 14-tone-down-nidr-errors.diff. Use X_INFO instead of X_ERROR.
 
+  [ Julien Cristau ]
+  * 15-keep-udev-x11-driver.diff: keep looking for the x11_driver udev
+    property as a transitional measure.  This should allow the new server to
+    work while drivers aren't transitioned to xorg.conf.d yet.
+
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Wed, 24 Mar 2010 16:08:25 +0200
 
 xorg-server (2:1.7.6-1) unstable; urgency=low
diff --git a/debian/patches/15-keep-udev-x11-driver.diff b/debian/patches/15-keep-udev-x11-driver.diff
new file mode 100644
index 0000000..7aa8c0a
--- /dev/null
+++ b/debian/patches/15-keep-udev-x11-driver.diff
@@ -0,0 +1,19 @@
+From: Julien Cristau <jcristau@debian.org>
+Subject: Keep looking for x11_driver in udev for now
+
+Our drivers don't ship xorg.conf.d snippets for now, so keep using
+x11_driver from udev in the transition period.
+
+Index: xorg-server/config/udev.c
+===================================================================
+--- xorg-server.orig/config/udev.c
++++ xorg-server/config/udev.c
+@@ -118,6 +118,8 @@
+                 add_option(&options, "xkb_model", value);
+             else if (!strcasecmp(tmp, "options"))
+                 add_option(&options, "xkb_options", value);
++        } else if (!strcmp(key, "x11_driver")) {
++            add_option(&options, "driver", value);
+         } else if (!strcmp(key, "ID_VENDOR")) {
+             attrs.vendor = value;
+         } else if (!strcmp(key, "ID_INPUT_KEY")) {
diff --git a/debian/patches/series b/debian/patches/series
index e3f46b8..f6afe60 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -16,3 +16,4 @@
 12-xfree86-dont-complain-about-missing-coredevices.diff
 13-unbreak-input-abi.diff
 14-tone-down-nidr-errors.diff
+15-keep-udev-x11-driver.diff

commit 45adf326579824c2bbb91ec590be371d931b73f6
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 14:12:49 2010 +0300

    Fold aa91508356 into 10-config-libudev-backend.diff
    
    and refresh patch 13.

diff --git a/debian/patches/10-config-libudev-backend.diff b/debian/patches/10-config-libudev-backend.diff
index d524407..dd3137e 100644
--- a/debian/patches/10-config-libudev-backend.diff
+++ b/debian/patches/10-config-libudev-backend.diff
@@ -3,12 +3,13 @@ Merged patches:
 435f27667f84269768efecde34de4af2b2d43376
 84905007702da2c05a4f7446b3fc5ff52be49655
 c6d9bc092c84ad5c68083a126aa7577baa42cef7 (only the config/udev.c change)
+aa91508356f243edc3b11795b1481edcfe0d39c2
 
 ---
 Index: xorg-server/config/Makefile.am
 ===================================================================
---- xorg-server.orig/config/Makefile.am	2010-03-29 20:00:19.000000000 +0300
-+++ xorg-server/config/Makefile.am	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/config/Makefile.am	2010-03-30 13:22:30.000000000 +0300
++++ xorg-server/config/Makefile.am	2010-03-30 13:55:51.000000000 +0300
 @@ -1,12 +1,20 @@
 -AM_CFLAGS = @DIX_CFLAGS@
 +AM_CFLAGS = $(DIX_CFLAGS)
@@ -49,8 +50,8 @@ Index: xorg-server/config/Makefile.am
  EXTRA_DIST = xorg-server.conf x11-input.fdi
 Index: xorg-server/config/config-backends.h
 ===================================================================
---- xorg-server.orig/config/config-backends.h	2010-03-29 20:00:19.000000000 +0300
-+++ xorg-server/config/config-backends.h	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/config/config-backends.h	2010-03-30 13:22:30.000000000 +0300
++++ xorg-server/config/config-backends.h	2010-03-30 13:55:51.000000000 +0300
 @@ -26,8 +26,18 @@
  #ifdef HAVE_DIX_CONFIG_H
  #include <dix-config.h>
@@ -93,8 +94,8 @@ Index: xorg-server/config/config-backends.h
  #endif
 Index: xorg-server/config/config.c
 ===================================================================
---- xorg-server.orig/config/config.c	2010-03-29 20:00:19.000000000 +0300
-+++ xorg-server/config/config.c	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/config/config.c	2010-03-30 13:22:30.000000000 +0300
++++ xorg-server/config/config.c	2010-03-30 13:55:51.000000000 +0300
 @@ -28,13 +28,17 @@
  #endif
  
@@ -198,8 +199,8 @@ Index: xorg-server/config/config.c
 +}
 Index: xorg-server/config/hal.c
 ===================================================================
---- xorg-server.orig/config/hal.c	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/config/hal.c	2010-03-30 13:03:16.000000000 +0300
+--- xorg-server.orig/config/hal.c	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/config/hal.c	2010-03-30 13:55:51.000000000 +0300
 @@ -58,25 +58,9 @@
      char* options;
  };
@@ -294,8 +295,8 @@ Index: xorg-server/config/hal.c
 Index: xorg-server/config/udev.c
 ===================================================================
 --- /dev/null	1970-01-01 00:00:00.000000000 +0000
-+++ xorg-server/config/udev.c	2010-03-30 13:03:16.000000000 +0300
-@@ -0,0 +1,264 @@
++++ xorg-server/config/udev.c	2010-03-30 13:56:07.000000000 +0300
+@@ -0,0 +1,267 @@
 +/*
 + * Copyright © 2009 Julien Cristau
 + *
@@ -371,8 +372,11 @@ Index: xorg-server/config/udev.c
 +        goto unwind;
 +
 +    parent = udev_device_get_parent(udev_device);
-+    if (parent)
-+        name = udev_device_get_property_value(parent, "NAME");
++    if (parent) {
++        name = udev_device_get_sysattr_value(parent, "name");
++        if (!name)
++            name = udev_device_get_property_value(parent, "NAME");
++    }
 +    if (!name)
 +        name = "(unnamed)";
 +    else
@@ -562,8 +566,8 @@ Index: xorg-server/config/udev.c
 +}
 Index: xorg-server/configure.ac
 ===================================================================
---- xorg-server.orig/configure.ac	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/configure.ac	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/configure.ac	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/configure.ac	2010-03-30 13:55:51.000000000 +0300
 @@ -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])
@@ -615,8 +619,8 @@ Index: xorg-server/configure.ac
  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	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/hw/kdrive/src/kinput.c	2010-03-30 13:03:16.000000000 +0300
+--- xorg-server.orig/hw/kdrive/src/kinput.c	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/hw/kdrive/src/kinput.c	2010-03-30 13:55:51.000000000 +0300
 @@ -2281,6 +2281,14 @@
              return BadValue;
          }
@@ -634,8 +638,8 @@ Index: xorg-server/hw/kdrive/src/kinput.c
      if (!ki && !pi) {
 Index: xorg-server/hw/xfree86/common/xf86Config.c
 ===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.c	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/hw/xfree86/common/xf86Config.c	2010-03-30 13:03:16.000000000 +0300
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/hw/xfree86/common/xf86Config.c	2010-03-30 13:55:51.000000000 +0300
 @@ -1461,12 +1461,19 @@
      }
  
@@ -662,8 +666,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c
      }
 Index: xorg-server/hw/xfree86/common/xf86Globals.c
 ===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Globals.c	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/hw/xfree86/common/xf86Globals.c	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/hw/xfree86/common/xf86Globals.c	2010-03-30 13:55:47.000000000 +0300
++++ xorg-server/hw/xfree86/common/xf86Globals.c	2010-03-30 13:55:51.000000000 +0300
 @@ -132,7 +132,7 @@
      .kbdCustomKeycodes          = FALSE,
      .disableRandR               = FALSE,
@@ -675,8 +679,8 @@ Index: xorg-server/hw/xfree86/common/xf86Globals.c
      .autoEnableDevices          = TRUE
 Index: xorg-server/hw/xfree86/common/xf86Xinput.c
 ===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:03:16.000000000 +0300
+--- xorg-server.orig/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:55:51.000000000 +0300
 @@ -788,9 +788,9 @@
              }
          }
@@ -691,8 +695,8 @@ Index: xorg-server/hw/xfree86/common/xf86Xinput.c
                  rval = BadMatch;
 Index: xorg-server/include/dix-config.h.in
 ===================================================================
---- xorg-server.orig/include/dix-config.h.in	2010-03-30 13:03:05.000000000 +0300
-+++ xorg-server/include/dix-config.h.in	2010-03-30 13:03:05.000000000 +0300
+--- xorg-server.orig/include/dix-config.h.in	2010-03-30 13:55:48.000000000 +0300
++++ xorg-server/include/dix-config.h.in	2010-03-30 13:55:51.000000000 +0300
 @@ -393,6 +393,9 @@
  /* Support D-Bus */
  #undef HAVE_DBUS
@@ -705,8 +709,8 @@ Index: xorg-server/include/dix-config.h.in
  
 Index: xorg-server/dix/main.c
 ===================================================================
---- xorg-server.orig/dix/main.c	2010-03-29 20:00:21.000000000 +0300
-+++ xorg-server/dix/main.c	2010-03-30 13:03:38.000000000 +0300
+--- xorg-server.orig/dix/main.c	2010-03-30 13:22:30.000000000 +0300
++++ xorg-server/dix/main.c	2010-03-30 13:55:51.000000000 +0300
 @@ -168,7 +168,6 @@
  	InitBlockAndWakeupHandlers();
  	/* Perform any operating system dependent initializations you'd like */
diff --git a/debian/patches/13-unbreak-input-abi.diff b/debian/patches/13-unbreak-input-abi.diff
index e2a4303..c0a08a7 100644
--- a/debian/patches/13-unbreak-input-abi.diff
+++ b/debian/patches/13-unbreak-input-abi.diff
@@ -1,7 +1,7 @@
 Index: xorg-server/Xi/stubs.c
 ===================================================================
---- xorg-server.orig/Xi/stubs.c	2010-03-29 13:06:53.000000000 +0300
-+++ xorg-server/Xi/stubs.c	2010-03-29 13:06:54.000000000 +0300
+--- xorg-server.orig/Xi/stubs.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/Xi/stubs.c	2010-03-30 13:57:21.000000000 +0300
 @@ -227,7 +227,13 @@
   *
   */
@@ -19,8 +19,8 @@ Index: xorg-server/Xi/stubs.c
      return BadValue;
 Index: xorg-server/config/dbus.c
 ===================================================================
---- xorg-server.orig/config/dbus.c	2010-03-29 13:06:53.000000000 +0300
-+++ xorg-server/config/dbus.c	2010-03-29 13:06:54.000000000 +0300
+--- xorg-server.orig/config/dbus.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/config/dbus.c	2010-03-30 13:57:21.000000000 +0300
 @@ -147,7 +147,7 @@
          dbus_message_iter_next(&iter);
      }
@@ -32,8 +32,8 @@ Index: xorg-server/config/dbus.c
          goto unwind;
 Index: xorg-server/config/hal.c
 ===================================================================
---- xorg-server.orig/config/hal.c	2010-03-29 13:06:54.000000000 +0300
-+++ xorg-server/config/hal.c	2010-03-29 13:06:54.000000000 +0300
+--- xorg-server.orig/config/hal.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/config/hal.c	2010-03-30 13:57:21.000000000 +0300
 @@ -359,7 +359,7 @@
  
      /* this isn't an error, but how else do you output something that the user can see? */
@@ -45,9 +45,9 @@ Index: xorg-server/config/hal.c
          goto unwind;
 Index: xorg-server/config/udev.c
 ===================================================================
---- xorg-server.orig/config/udev.c	2010-03-29 13:06:54.000000000 +0300
-+++ xorg-server/config/udev.c	2010-03-29 13:06:54.000000000 +0300
-@@ -133,7 +133,7 @@
+--- xorg-server.orig/config/udev.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/config/udev.c	2010-03-30 13:57:21.000000000 +0300
+@@ -136,7 +136,7 @@
      }
      LogMessage(X_INFO, "config/udev: Adding input device %s (%s)\n",
                 name, path);
@@ -58,8 +58,8 @@ Index: xorg-server/config/udev.c
  
 Index: xorg-server/hw/dmx/dmxinput.c
 ===================================================================
---- xorg-server.orig/hw/dmx/dmxinput.c	2010-03-29 13:06:53.000000000 +0300
-+++ xorg-server/hw/dmx/dmxinput.c	2010-03-29 13:06:54.000000000 +0300
+--- xorg-server.orig/hw/dmx/dmxinput.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/hw/dmx/dmxinput.c	2010-03-30 13:57:21.000000000 +0300
 @@ -103,7 +103,13 @@
  }
  
@@ -77,8 +77,8 @@ Index: xorg-server/hw/dmx/dmxinput.c
      return BadRequest;
 Index: xorg-server/hw/kdrive/src/kinput.c
 ===================================================================
---- xorg-server.orig/hw/kdrive/src/kinput.c	2010-03-29 13:06:53.000000000 +0300
-+++ xorg-server/hw/kdrive/src/kinput.c	2010-03-29 13:13:26.000000000 +0300
+--- xorg-server.orig/hw/kdrive/src/kinput.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/hw/kdrive/src/kinput.c	2010-03-30 13:57:21.000000000 +0300
 @@ -2249,7 +2249,12 @@
  }
  
@@ -95,8 +95,8 @@ Index: xorg-server/hw/kdrive/src/kinput.c
      InputOption *option = NULL;
 Index: xorg-server/hw/xfree86/common/xf86Xinput.c
 ===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Xinput.c	2010-03-29 13:06:54.000000000 +0300
-+++ xorg-server/hw/xfree86/common/xf86Xinput.c	2010-03-29 13:09:37.000000000 +0300
+--- xorg-server.orig/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/hw/xfree86/common/xf86Xinput.c	2010-03-30 13:57:32.000000000 +0300
 @@ -750,7 +750,13 @@
  }
  
@@ -114,8 +114,8 @@ Index: xorg-server/hw/xfree86/common/xf86Xinput.c
      IDevRec *idev = NULL;
 Index: xorg-server/hw/xquartz/darwinXinput.c
 ===================================================================
---- xorg-server.orig/hw/xquartz/darwinXinput.c	2010-03-29 13:06:53.000000000 +0300
-+++ xorg-server/hw/xquartz/darwinXinput.c	2010-03-29 13:06:54.000000000 +0300
+--- xorg-server.orig/hw/xquartz/darwinXinput.c	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/hw/xquartz/darwinXinput.c	2010-03-30 13:57:21.000000000 +0300
 @@ -230,7 +230,14 @@
   *
   */
@@ -134,8 +134,8 @@ Index: xorg-server/hw/xquartz/darwinXinput.c
    DEBUG_LOG("NewInputDeviceRequest(%p, %p)\n", options, pdev);
 Index: xorg-server/include/input.h
 ===================================================================
---- xorg-server.orig/include/input.h	2010-03-29 13:06:54.000000000 +0300
-+++ xorg-server/include/input.h	2010-03-29 13:11:46.000000000 +0300
+--- xorg-server.orig/include/input.h	2010-03-30 13:57:21.000000000 +0300
++++ xorg-server/include/input.h	2010-03-30 13:57:21.000000000 +0300
 @@ -530,6 +530,9 @@
  /* Implemented by the DDX. */
  extern _X_EXPORT int NewInputDeviceRequest(

commit 8d44f6806196c6b77917b1483f975ee5e607a55b
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 13:52:39 2010 +0300

    Explain a bit more.

diff --git a/debian/changelog b/debian/changelog
index 62cad49..b781f32 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,7 +3,9 @@ xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
   * Add 08-config-xorg-conf-d.diff, 09-inputclass-sans-abi9.diff,
     10-config-libudev-backend.diff. Backport xorg.conf.d, inputclass
     and libudev support from xserver 1.8. Replaces the patches we had
-    before.
+    before. This allows us to migrate from a temporary udev based
+    input device configuration straight to the long term solution
+    introduced in 1.8.
   * Add 11-xfree86-fix-video-fallback.diff from SUSE. Allows the video
     fallback method to work when there's an xorg.conf around.
   * Add 12-xfree86-dont-complain-about-missing-coredevices.diff.

commit cc96fc4f50cfbf1056b99e3af37d0624003349f9
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 13:41:00 2010 +0300

    Update the changelog to explain the backport.

diff --git a/debian/changelog b/debian/changelog
index ef4b504..62cad49 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,17 @@
-xorg-server (2:1.7.6-1.1) UNRELEASED; urgency=low
-
-  * Backport xorg.conf.d, inputclass and libudev support from
-    xserver 1.8. The udev support is slightly different from what we had.
+xorg-server (2:1.7.6-2) UNRELEASED; urgency=low
+
+  * Add 08-config-xorg-conf-d.diff, 09-inputclass-sans-abi9.diff,
+    10-config-libudev-backend.diff. Backport xorg.conf.d, inputclass
+    and libudev support from xserver 1.8. Replaces the patches we had
+    before.
+  * Add 11-xfree86-fix-video-fallback.diff from SUSE. Allows the video
+    fallback method to work when there's an xorg.conf around.
+  * Add 12-xfree86-dont-complain-about-missing-coredevices.diff.
+    No reason to complain about these, unless AEI is off.
+  * Add 13-unbreak-input-abi.diff. Keep the old NewInputDeviceRequest(),
+    rename the new as NIDR18() and call it from NIDR(). This way we
+    don't break the input ABI.
+  * Add 14-tone-down-nidr-errors.diff. Use X_INFO instead of X_ERROR.
 
  -- Timo Aaltonen <tjaalton@ubuntu.com>  Wed, 24 Mar 2010 16:08:25 +0200
 

commit 7ce6a0ee6ae7dbf380f639c9a235997889651635
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 13:23:16 2010 +0300

    Refresh patch 07.

diff --git a/debian/patches/07-xfree86-fix-build-with-xv-disabled.diff b/debian/patches/07-xfree86-fix-build-with-xv-disabled.diff
index 184301f..8281634 100644
--- a/debian/patches/07-xfree86-fix-build-with-xv-disabled.diff
+++ b/debian/patches/07-xfree86-fix-build-with-xv-disabled.diff
@@ -8,11 +8,11 @@ Subject: [PATCH] xfree86: fix build with xv disabled
  hw/xfree86/modes/xf86Crtc.h |    2 ++
  2 files changed, 4 insertions(+), 0 deletions(-)
 
-diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
-index 30b49af..62f8737 100644
---- a/hw/xfree86/modes/xf86Crtc.c
-+++ b/hw/xfree86/modes/xf86Crtc.c
-@@ -3009,6 +3009,7 @@ xf86_crtc_box_area(BoxPtr box)
+Index: xorg-server/hw/xfree86/modes/xf86Crtc.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/modes/xf86Crtc.c	2010-03-30 13:22:36.000000000 +0300
++++ xorg-server/hw/xfree86/modes/xf86Crtc.c	2010-03-30 13:22:39.000000000 +0300
+@@ -3011,6 +3011,7 @@
      return (int) (box->x2 - box->x1) * (int) (box->y2 - box->y1);
  }
  
@@ -20,7 +20,7 @@ index 30b49af..62f8737 100644
  /*
   * Return the crtc covering 'box'. If two crtcs cover a portion of
   * 'box', then prefer 'desired'. If 'desired' is NULL, then prefer the crtc
-@@ -3097,6 +3098,7 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
+@@ -3099,6 +3100,7 @@
  
      return ret;
  }
@@ -28,11 +28,11 @@ index 30b49af..62f8737 100644
  
  xf86_crtc_notify_proc_ptr
  xf86_wrap_crtc_notify (ScreenPtr screen, xf86_crtc_notify_proc_ptr new)
-diff --git a/hw/xfree86/modes/xf86Crtc.h b/hw/xfree86/modes/xf86Crtc.h
-index 9baa956..2fb32c1 100644
---- a/hw/xfree86/modes/xf86Crtc.h
-+++ b/hw/xfree86/modes/xf86Crtc.h
-@@ -908,6 +908,7 @@ xf86_hide_cursors (ScrnInfoPtr scrn);
+Index: xorg-server/hw/xfree86/modes/xf86Crtc.h
+===================================================================
+--- xorg-server.orig/hw/xfree86/modes/xf86Crtc.h	2010-03-30 13:22:36.000000000 +0300
++++ xorg-server/hw/xfree86/modes/xf86Crtc.h	2010-03-30 13:22:39.000000000 +0300
+@@ -934,6 +934,7 @@
  extern _X_EXPORT void
  xf86_cursors_fini (ScreenPtr screen);
  
@@ -40,7 +40,7 @@ index 9baa956..2fb32c1 100644
  /*
   * For overlay video, compute the relevant CRTC and
   * clip video to that.
-@@ -926,6 +927,7 @@ xf86_crtc_clip_video_helper(ScrnInfoPtr pScrn,
+@@ -952,6 +953,7 @@
  			    RegionPtr   reg,
  			    INT32	width,
  			    INT32	height);
@@ -48,6 +48,3 @@ index 9baa956..2fb32c1 100644
      
  extern _X_EXPORT xf86_crtc_notify_proc_ptr
  xf86_wrap_crtc_notify (ScreenPtr pScreen, xf86_crtc_notify_proc_ptr new);
--- 
-1.6.6.1
-

commit f1cdff35391eb165ecd1b03cb7983f3a7e14dbfd
Author: Timo Aaltonen <tjaalton@cc.hut.fi>
Date:   Tue Mar 30 13:21:29 2010 +0300

    Rename the new patches to have a double-digit prefix.

diff --git a/debian/patches/08-config-xorg-conf-d.diff b/debian/patches/08-config-xorg-conf-d.diff
new file mode 100644
index 0000000..cf70c92
--- /dev/null
+++ b/debian/patches/08-config-xorg-conf-d.diff
@@ -0,0 +1,1287 @@
+From 871bbe1d87fa3c7ebd075e1d1eec33e45b08493d Mon Sep 17 00:00:00 2001
+From: Keith Packard <keithp@keithp.com>
+Date: Wed, 30 Dec 2009 17:16:45 +0000
+Subject: Merge remote branch 'dbn/xorg.conf.d'
+
+---
+Index: xorg-server/configure.ac
+===================================================================
+--- xorg-server.orig/configure.ac	2010-03-24 13:05:51.000000000 +0200
++++ xorg-server/configure.ac	2010-03-24 13:05:51.000000000 +0200
+@@ -1696,6 +1696,7 @@
+ 
+ 	dnl these only go in xorg-config.h
+ 	XF86CONFIGFILE="xorg.conf"
++	XF86CONFIGDIR="xorg.conf.d"
+ 	CONFIGFILE="$sysconfdir/$XF86CONFIGFILE"
+ 	LOGPREFIX="$logdir/Xorg."
+ 	AC_DEFINE(XORG_SERVER, 1, [Building Xorg server])
+@@ -1708,6 +1709,7 @@
+ 	AC_DEFINE(__XSERVERNAME__, "Xorg", [Name of X server])
+ 	AC_DEFINE_DIR(__XCONFIGFILE__, XF86CONFIGFILE, [Name of configuration file])
+ 	AC_DEFINE_DIR(XF86CONFIGFILE, XF86CONFIGFILE, [Name of configuration file])
++	AC_DEFINE_DIR(__XCONFIGDIR__, XF86CONFIGDIR, [Name of configuration directory])
+ 	AC_DEFINE_DIR(DEFAULT_MODULE_PATH, moduledir, [Default module search path])
+ 	AC_DEFINE_DIR(DEFAULT_LIBRARY_PATH, libdir, [Default library install path])
+ 	AC_DEFINE_DIR(DEFAULT_LOGPREFIX, LOGPREFIX, [Default log location])
+Index: xorg-server/cpprules.in
+===================================================================
+--- xorg-server.orig/cpprules.in	2010-03-24 13:01:50.000000000 +0200
++++ xorg-server/cpprules.in	2010-03-24 13:05:51.000000000 +0200
+@@ -36,7 +36,8 @@
+ 	-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
+ 	-D__mandir__=$(mandir) \
+ 	-D__projectroot__=$(prefix) \
+-	-D__xconfigfile__=$(__XCONFIGFILE__) -D__xconfigdir__=$(XCONFIGDIR) \
++	-D__xconfigfile__=$(__XCONFIGFILE__) \
++	-D__xconfigdir__=$(__XCONFIGDIR__) \
+ 	-D__xkbdir__=$(XKB_BASE_DIRECTORY) \
+ 	-D__modulepath__="$(DEFAULT_MODULE_PATH)" \
+ 	-D__xlogfile__=$(XLOGFILE) -D__xservername__=$(XSERVERNAME) 
+Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c	2010-03-24 13:01:50.000000000 +0200
++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c	2010-03-24 13:05:51.000000000 +0200
+@@ -272,7 +272,8 @@
+     for (cp = builtinConfig; *cp; cp++)
+ 	xf86ErrorFVerb(3, "\t%s", *cp);
+     xf86MsgVerb(X_DEFAULT, 3, "--- End of built-in configuration ---\n");
+-    
++
++    xf86initConfigFiles();
+     xf86setBuiltinConfig(builtinConfig);
+     ret = xf86HandleConfigFile(TRUE);
+     FreeConfig();
+Index: xorg-server/hw/xfree86/common/xf86Config.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c	2010-03-24 13:01:50.000000000 +0200
++++ xorg-server/hw/xfree86/common/xf86Config.c	2010-03-24 13:05:51.000000000 +0200
+@@ -95,6 +95,23 @@
+ 			"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
+ 			"%P/lib/X11/%X"
+ #endif
++#ifndef ROOT_CONFIGDIRPATH
++#define ROOT_CONFIGDIRPATH	"%A," "%R," \
++				"/etc/X11/%R," "%P/etc/X11/%R," \
++				"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
++				"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
++				"%P/etc/X11/%X," \
++				"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
++				"%P/lib/X11/%X"
++#endif
++#ifndef USER_CONFIGDIRPATH
++#define USER_CONFIGDIRPATH	"/etc/X11/%S," "%P/etc/X11/%S," \
++				"/etc/X11/%X-%M," "/etc/X11/%X," "/etc/%X," \
++				"%P/etc/X11/%X.%H," "%P/etc/X11/%X-%M," \
++				"%P/etc/X11/%X," \
++				"%P/lib/X11/%X.%H," "%P/lib/X11/%X-%M," \
++				"%P/lib/X11/%X"
++#endif
+ #ifndef PROJECTROOT
+ #define PROJECTROOT	"/usr/X11R6"
+ #endif
+@@ -1471,6 +1488,45 @@
+        {0}, FALSE },
+ };
+ 
++static Bool
++configInputDevices(XF86ConfLayoutPtr layout, serverLayoutPtr servlayoutp)
++{
++    XF86ConfInputrefPtr irp;
++    IDevPtr *indp;
++    int count = 0;
++
++    /*
++     * Count the number of input devices.
++     */
++    irp = layout->lay_input_lst;
++    while (irp) {
++	count++;
++	irp = (XF86ConfInputrefPtr)irp->list.next;
++    }
++    DebugF("Found %d input devices in the layout section %s\n",
++	    count, layout.lay_identifier);
++    indp = xnfcalloc((count + 1), sizeof(IDevPtr));
++    indp[count] = NULL;
++    irp = layout->lay_input_lst;
++    count = 0;
++    while (irp) {
++	indp[count] = xnfalloc(sizeof(IDevRec));
++	if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
++	    while(count--)
++		xfree(indp[count]);
++	    xfree(indp);
++	    return FALSE;
++	}
++	indp[count]->extraOptions = irp->iref_option_lst;
++	count++;
++	irp = (XF86ConfInputrefPtr)irp->list.next;
++    }
++    servlayoutp->inputs = indp;
++
++    return TRUE;
++}
++
++
+ /*
+  * figure out which layout is active, which screens are used in that layout,
+  * which drivers and monitors are used in these screens
+@@ -1481,14 +1537,12 @@
+ {
+     XF86ConfAdjacencyPtr adjp;
+     XF86ConfInactivePtr idp;
+-    XF86ConfInputrefPtr irp;
+     int count = 0;
+     int scrnum;
+     XF86ConfLayoutPtr l;
+     MessageType from;
+     screenLayoutPtr slp;
+     GDevPtr gdp;
+-    IDevPtr* indp;
+     int i = 0, j;
+ 
+     if (!servlayoutp)
+@@ -1701,37 +1755,13 @@
+         count++;
+         idp = (XF86ConfInactivePtr)idp->list.next;
+     }
+-    /*
+-     * Count the number of input devices.
+-     */
+-    count = 0;
+-    irp = conf_layout->lay_input_lst;
+-    while (irp) {
+-        count++;
+-        irp = (XF86ConfInputrefPtr)irp->list.next;
+-    }
+-    DebugF("Found %d input devices in the layout section %s\n",
+-           count, conf_layout->lay_identifier);
+-    indp = xnfcalloc((count + 1), sizeof(IDevPtr));
+-    indp[count] = NULL;
+-    irp = conf_layout->lay_input_lst;
+-    count = 0;
+-    while (irp) {
+-        indp[count] = xnfalloc(sizeof(IDevRec));
+-	if (!configInput(indp[count], irp->iref_inputdev, X_CONFIG)) {
+-            while(count--) 
+-                xfree(indp[count]);
+-            xfree(indp);
+-            return FALSE;
+-	}
+-	indp[count]->extraOptions = irp->iref_option_lst;
+-        count++;
+-        irp = (XF86ConfInputrefPtr)irp->list.next;
+-    }
++
++    if (!configInputDevices(conf_layout, servlayoutp))
++	return FALSE;
++
+     servlayoutp->id = conf_layout->lay_identifier;
+     servlayoutp->screens = slp;
+     servlayoutp->inactives = gdp;
+-    servlayoutp->inputs = indp;
+     servlayoutp->options = conf_layout->lay_option_lst;
+     from = X_DEFAULT;
+ 
+@@ -1743,12 +1773,14 @@
+  * the only active screen.
+  */
+ static Bool
+-configImpliedLayout(serverLayoutPtr servlayoutp, XF86ConfScreenPtr conf_screen)
++configImpliedLayout(serverLayoutPtr servlayoutp, XF86ConfScreenPtr conf_screen,
++                    XF86ConfigPtr xf86configptr)
+ {
+     MessageType from;
+     XF86ConfScreenPtr s;
+     screenLayoutPtr slp;
+     IDevPtr *indp;
++    XF86ConfLayoutRec layout;
+ 
+     if (!servlayoutp)
+ 	return FALSE;
+@@ -1784,10 +1816,19 @@
+     servlayoutp->screens = slp;
+     servlayoutp->inactives = xnfcalloc(1, sizeof(GDevRec));
+     servlayoutp->options = NULL;
+-    /* Set up an empty input device list, then look for some core devices. */
+-    indp = xnfalloc(sizeof(IDevPtr));
+-    *indp = NULL;
+-    servlayoutp->inputs = indp;
++
++    memset(&layout, 0, sizeof(layout));
++    layout.lay_identifier = servlayoutp->id;
++    if (xf86layoutAddInputDevices(xf86configptr, &layout) > 0) {
++	if (!configInputDevices(&layout, servlayoutp))
++	    return FALSE;
++	from = X_DEFAULT;
++    } else {
++	/* Set up an empty input device list, then look for some core devices. */
++	indp = xnfalloc(sizeof(IDevPtr));
++	*indp = NULL;
++	servlayoutp->inputs = indp;
++    }
+ 
+     return TRUE;
+ }
+@@ -2428,34 +2469,53 @@
+ ConfigStatus
+ xf86HandleConfigFile(Bool autoconfig)
+ {
+-    const char *filename;
+-    char *searchpath;
+-    MessageType from = X_DEFAULT;
++    const char *filename, *dirname;
++    char *filesearch, *dirsearch;
++    MessageType filefrom = X_DEFAULT;
++    MessageType dirfrom = X_DEFAULT;
+     char *scanptr;
+     Bool singlecard = 0;
+     Bool implicit_layout = FALSE;
+ 
+     if (!autoconfig) {
+-	if (getuid() == 0)
+-	    searchpath = ROOT_CONFIGPATH;
+-	else
+-	    searchpath = USER_CONFIGPATH;
++	if (getuid() == 0) {
++	    filesearch = ROOT_CONFIGPATH;
++	    dirsearch = ROOT_CONFIGDIRPATH;
++	} else {
++	    filesearch = USER_CONFIGPATH;
++	    dirsearch = USER_CONFIGDIRPATH;
++	}
+ 
+ 	if (xf86ConfigFile)
+-	    from = X_CMDLINE;
+-
+-	filename = xf86openConfigFile(searchpath, xf86ConfigFile, PROJECTROOT);
++	    filefrom = X_CMDLINE;
++	if (xf86ConfigDir)
++	    dirfrom = X_CMDLINE;
++
++	xf86initConfigFiles();
++	filename = xf86openConfigFile(filesearch, xf86ConfigFile, PROJECTROOT);
++	dirname = xf86openConfigDirFiles(dirsearch, xf86ConfigDir, PROJECTROOT);
+ 	if (filename) {
+-	    xf86MsgVerb(from, 0, "Using config file: \"%s\"\n", filename);
++	    xf86MsgVerb(filefrom, 0, "Using config file: \"%s\"\n", filename);
+ 	    xf86ConfigFile = xnfstrdup(filename);
+ 	} else {
+ 	    if (xf86ConfigFile)
+ 		xf86Msg(X_ERROR, "Unable to locate/open config file: \"%s\"\n",
+ 			xf86ConfigFile);
+-	    return CONFIG_NOFILE;
+ 	}
++	if (dirname) {
++	    xf86MsgVerb(dirfrom, 0, "Using config directory: \"%s\"\n",
++			dirname);
++	    xf86ConfigDir = xnfstrdup(dirname);
++	} else {
++	    if (xf86ConfigDir)
++		xf86Msg(X_ERROR,
++			"Unable to locate/open config directory: \"%s\"\n",
++			xf86ConfigDir);
++	}
++	if (!filename && !dirname)
++	    return CONFIG_NOFILE;
+     }
+-     
++
+     if ((xf86configptr = xf86readConfigFile ()) == NULL) {
+ 	xf86Msg(X_ERROR, "Problem parsing the config file\n");
+ 	return CONFIG_PARSE_ERROR;
+@@ -2481,7 +2541,8 @@
+ 		    "No Layout section.  Using the first Screen section.\n");
+ 	}
+ 	if (!configImpliedLayout(&xf86ConfigLayout,
+-				 xf86configptr->conf_screen_lst)) {
++				 xf86configptr->conf_screen_lst,
++				 xf86configptr)) {
+             xf86Msg(X_ERROR, "Unable to determine the screen layout\n");
+ 	    return CONFIG_PARSE_ERROR;
+ 	}
+Index: xorg-server/hw/xfree86/common/xf86Globals.c
+===================================================================
+--- xorg-server.orig/hw/xfree86/common/xf86Globals.c	2010-03-24 13:01:50.000000000 +0200
++++ xorg-server/hw/xfree86/common/xf86Globals.c	2010-03-24 13:05:51.000000000 +0200
+@@ -143,6 +143,7 @@


Reply to: