xorg-server: Changes to 'debian-unstable'
debian/changelog | 5 ++
debian/patches/03_auto_load_driver.diff | 69 ++++++++++++++++++--------------
2 files changed, 44 insertions(+), 30 deletions(-)
New commits:
commit 2e1f6a803f45572ffcdbb51f316f994a3429883a
Author: David Nusinow <dnusinow@debian.org>
Date: Thu Sep 20 23:16:58 2007 -0400
Add support for a partially configured device section
Implemented in 03_autoload_driver.diff. Now if you have a device section
but lack a driver, it'll use the settings. This will allow you to just
have a device section and enable EXA but not have to specify the driver or
anything else.
diff --git a/debian/changelog b/debian/changelog
index 4a3fa8f..0963b83 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,11 @@ xorg-server (2:1.4-3) UNRELEASED; urgency=low
+ Change by hacked "ids" file name suffix check to use strncmp and check
for ".ids"
+ Use strncpy instead of strncat unnecessarily
+ * Add support for a partially configured device section
+ Implemented in 03_autoload_driver.diff. Now if you have a device section
+ but lack a driver, it'll use the settings. This will allow you to just
+ have a device section and enable EXA but not have to specify the driver or
+ anything else.
[ Brice Goglin ]
* Build the Xfbdev server in new package xserver-xfbdev, closes: #439764.
diff --git a/debian/patches/03_auto_load_driver.diff b/debian/patches/03_auto_load_driver.diff
index 3c89522..971b4ac 100644
--- a/debian/patches/03_auto_load_driver.diff
+++ b/debian/patches/03_auto_load_driver.diff
@@ -1,7 +1,7 @@
Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2007-09-16 20:18:17.000000000 -0400
+--- xorg-server.orig/hw/xfree86/common/xf86AutoConfig.c 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/common/xf86AutoConfig.c 2007-09-20 23:00:23.000000000 -0400
@@ -39,6 +39,7 @@
#include "xf86Config.h"
#include "xf86Priv.h"
@@ -10,7 +10,7 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
/* Sections for the default built-in configuration. */
-@@ -287,3 +288,199 @@
+@@ -287,3 +288,207 @@
return (ret == CONFIG_OK);
}
@@ -32,7 +32,7 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
+}
+
+GDevPtr
-+autoConfigDevice(void)
++autoConfigDevice(GDevPtr preconf_device)
+{
+ GDevPtr ptr = NULL;
+ confScreenPtr scrn = NULL;
@@ -41,19 +41,27 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
+ return NULL;
+ }
+
-+ ptr = (GDevPtr)xalloc(sizeof(GDevRec));
-+ if (!ptr) {
-+ return NULL;
-+ }
-+ memset((GDevPtr)ptr, 0, sizeof(GDevRec));
-+ ptr->chipID = -1;
-+ ptr->chipRev = -1;
-+ ptr->irq = -1;
++ /* If there's a configured section with no driver chosen, use it */
++ if (preconf_device) {
++ ptr = preconf_device;
++ } else {
++ ptr = (GDevPtr)xalloc(sizeof(GDevRec));
++ if (!ptr) {
++ return NULL;
++ }
++ memset((GDevPtr)ptr, 0, sizeof(GDevRec));
++ ptr->chipID = -1;
++ ptr->chipRev = -1;
++ ptr->irq = -1;
+
-+ ptr->active = TRUE;
-+ ptr->claimed = FALSE;
-+ ptr->identifier = "Autoconfigured Video Device";
-+ ptr->driver = chooseVideoDriver();
++ ptr->active = TRUE;
++ ptr->claimed = FALSE;
++ ptr->identifier = "Autoconfigured Video Device";
++ ptr->driver = NULL;
++ }
++ if (!ptr->driver) {
++ ptr->driver = chooseVideoDriver();
++ }
+
+ /* TODO Handle multiple screen sections */
+ if (xf86ConfigLayout.screens && !xf86ConfigLayout.screens->screen->device) {
@@ -212,8 +220,8 @@ Index: xorg-server/hw/xfree86/common/xf86AutoConfig.c
+}
Index: xorg-server/hw/xfree86/common/xf86Config.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/common/xf86Config.c 2007-09-16 20:15:29.000000000 -0400
+--- xorg-server.orig/hw/xfree86/common/xf86Config.c 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/common/xf86Config.c 2007-09-20 23:00:23.000000000 -0400
@@ -1928,8 +1928,10 @@
return FALSE;
}
@@ -248,8 +256,8 @@ Index: xorg-server/hw/xfree86/common/xf86Config.c
devicep->board = conf_device->dev_board;
Index: xorg-server/hw/xfree86/common/xf86Config.h
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Config.h 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/common/xf86Config.h 2007-09-16 20:15:29.000000000 -0400
+--- xorg-server.orig/hw/xfree86/common/xf86Config.h 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/common/xf86Config.h 2007-09-20 21:41:57.000000000 -0400
@@ -34,6 +34,8 @@
#define _xf86_config_h
@@ -263,24 +271,25 @@ Index: xorg-server/hw/xfree86/common/xf86Config.h
ConfigStatus xf86HandleConfigFile(Bool);
Bool xf86AutoConfig(void);
-+GDevPtr autoConfigDevice(void);
++GDevPtr autoConfigDevice(GDevPtr preconf_device);
+char* chooseVideoDriver(void);
+int xchomp(char *line);
#endif /* _xf86_config_h */
Index: xorg-server/hw/xfree86/common/xf86Init.c
===================================================================
---- xorg-server.orig/hw/xfree86/common/xf86Init.c 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/common/xf86Init.c 2007-09-16 20:15:29.000000000 -0400
-@@ -347,6 +347,15 @@
+--- xorg-server.orig/hw/xfree86/common/xf86Init.c 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/common/xf86Init.c 2007-09-20 23:00:15.000000000 -0400
+@@ -347,6 +347,16 @@
}
/* Load all driver modules specified in the config file */
+ /* If there aren't any specified in the config file, autoconfig them */
+ /* FIXME: Does not handle multiple active screen sections, but I'm not
+ * sure if we really want to handle that case*/
-+ if (!xf86ConfigLayout.screens->screen->device) {
-+ if (!autoConfigDevice()) {
++ GDevPtr configured_device = xf86ConfigLayout.screens->screen->device;
++ if ((!configured_device) || (!configured_device->driver)) {
++ if (!autoConfigDevice(configured_device)) {
+ xf86Msg(X_ERROR, "Automatic driver configuration failed\n");
+ return ;
+ }
@@ -290,8 +299,8 @@ Index: xorg-server/hw/xfree86/common/xf86Init.c
xfree(modulelist);
Index: xorg-server/hw/xfree86/parser/Screen.c
===================================================================
---- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/parser/Screen.c 2007-09-16 20:15:29.000000000 -0400
+--- xorg-server.orig/hw/xfree86/parser/Screen.c 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/parser/Screen.c 2007-09-20 21:41:57.000000000 -0400
@@ -526,15 +526,7 @@
}
}
@@ -311,8 +320,8 @@ Index: xorg-server/hw/xfree86/parser/Screen.c
while (adaptor)
Index: xorg-server/hw/xfree86/parser/read.c
===================================================================
---- xorg-server.orig/hw/xfree86/parser/read.c 2007-09-16 20:14:26.000000000 -0400
-+++ xorg-server/hw/xfree86/parser/read.c 2007-09-16 20:15:29.000000000 -0400
+--- xorg-server.orig/hw/xfree86/parser/read.c 2007-09-20 21:41:34.000000000 -0400
++++ xorg-server/hw/xfree86/parser/read.c 2007-09-20 21:41:57.000000000 -0400
@@ -80,8 +80,8 @@
static int
xf86validateConfig (XF86ConfigPtr p)
Reply to: