rpms/xorg-x11-server/devel xserver-1.7.6-export-dix-functions.patch, NONE, 1.1 xserver-1.7.6-export-more-dix-functions.patch, NONE, 1.1 xserver-1.8.0-xorg.conf.d-changes.patch, NONE, 1.1 xorg-x11-server.spec, 1.507, 1.508 xserver-1.4.99-pic-libxf86config.patch, 1.2, 1.3 00-evdev.conf, 1.2, NONE xserver-1.8-no-hardcoded-etc.patch, 1.1, NONE

Peter Hutterer whot at fedoraproject.org
Thu Apr 15 06:57:34 UTC 2010


Author: whot

Update of /cvs/pkgs/rpms/xorg-x11-server/devel
In directory cvs01.phx2.fedoraproject.org:/tmp/cvs-serv6633

Modified Files:
	xorg-x11-server.spec xserver-1.4.99-pic-libxf86config.patch 
Added Files:
	xserver-1.7.6-export-dix-functions.patch 
	xserver-1.7.6-export-more-dix-functions.patch 
	xserver-1.8.0-xorg.conf.d-changes.patch 
Removed Files:
	00-evdev.conf xserver-1.8-no-hardcoded-etc.patch 
Log Message:
* Thu Apr 15 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-6
- xserver-1.8.0-xorg.conf.d-changes.patch: push in the upcoming 1.8.1
  xorg.conf.d changes. The X server uses /etc/X11/xorg.conf now for custom
  config and /usr/share/X11/xorg.conf.d for system-provided config.
- xserver-1.8-no-hardcoded-etc.patch: drop, obsolete.
- 00-evdev.conf: drop, use the upstream one.


xserver-1.7.6-export-dix-functions.patch:
 input.h |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

--- NEW FILE xserver-1.7.6-export-dix-functions.patch ---
>From 7bdea0bb8f38dba2d214482301de981c3260450d Mon Sep 17 00:00:00 2001
From: Adam Tkac <atkac at redhat.com>
Date: Mon, 22 Mar 2010 14:52:29 +0100
Subject: [PATCH] dix: Export AllocDevicePair GetPointerEvents, GetKeyboardEvents and generate_modkeymap functions from Xorg.

Those functions are used by TigerVNC libvnc.so module which doesn't
use standard XInput infrastructure but uses same functions like,
for example, XTest devices.

Signed-off-by: Adam Tkac <atkac at redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 include/input.h |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/include/input.h b/include/input.h
index 8561308..63f981e 100644
--- a/include/input.h
+++ b/include/input.h
@@ -432,7 +432,7 @@ extern void CreateClassesChangedEvent(EventListPtr event,
                                       DeviceIntPtr master,
                                       DeviceIntPtr slave,
                                       int type);
-extern int GetPointerEvents(
+extern _X_EXPORT int GetPointerEvents(
     EventListPtr events,
     DeviceIntPtr pDev,
     int type,
@@ -442,7 +442,7 @@ extern int GetPointerEvents(
     int num_valuators,
     int *valuators);
 
-extern int GetKeyboardEvents(
+extern _X_EXPORT int GetKeyboardEvents(
     EventListPtr events,
     DeviceIntPtr pDev,
     int type,
@@ -493,7 +493,7 @@ extern int AttachDevice(ClientPtr client,
 extern _X_EXPORT DeviceIntPtr GetPairedDevice(DeviceIntPtr kbd);
 extern DeviceIntPtr GetMaster(DeviceIntPtr dev, int type);
 
-extern int AllocDevicePair(ClientPtr client,
+extern _X_EXPORT int AllocDevicePair(ClientPtr client,
                              char* name,
                              DeviceIntPtr* ptr,
                              DeviceIntPtr* keybd,
@@ -505,7 +505,7 @@ extern void DeepCopyDeviceClasses(DeviceIntPtr from,
                                   DeviceChangedEvent *dce);
 
 /* Helper functions. */
-extern int generate_modkeymap(ClientPtr client, DeviceIntPtr dev,
+extern _X_EXPORT int generate_modkeymap(ClientPtr client, DeviceIntPtr dev,
                               KeyCode **modkeymap, int *max_keys_per_mod);
 extern int change_modmap(ClientPtr client, DeviceIntPtr dev, KeyCode *map,
                          int max_keys_per_mod);
-- 
1.6.6.1


xserver-1.7.6-export-more-dix-functions.patch:
 xkbsrv.h |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

--- NEW FILE xserver-1.7.6-export-more-dix-functions.patch ---
>From 6db7cc3d3f750bbb1c170f8fe538e9fb75bc5b34 Mon Sep 17 00:00:00 2001
From: Adam Tkac <atkac at redhat.com>
Date: Wed, 14 Apr 2010 12:16:26 +0200
Subject: [PATCH] Export XkbCopyDeviceKeymap from Xorg, it is needed by VNC.

Signed-off-by: Adam Tkac <atkac at redhat.com>
---
 include/xkbsrv.h |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/include/xkbsrv.h b/include/xkbsrv.h
index ebc7cdb..dc3142a 100644
--- a/include/xkbsrv.h
+++ b/include/xkbsrv.h
@@ -936,7 +936,7 @@ extern Bool XkbCopyKeymap(
         XkbDescPtr              /* dst */,
         XkbDescPtr              /* src */);
 
-extern Bool XkbCopyDeviceKeymap(
+extern _X_EXPORT Bool XkbCopyDeviceKeymap(
         DeviceIntPtr            /* dst */,
         DeviceIntPtr            /* src */);
 
-- 
1.7.0.1


xserver-1.8.0-xorg.conf.d-changes.patch:
 b/config/10-evdev.conf                 |   37 ++++++++++++++++++++++++++++++---
 b/config/Makefile.am                   |    3 --
 b/configure.ac                         |    2 +
 b/cpprules.in                          |    1 
 b/hw/xfree86/common/xf86Config.c       |   16 +++-----------
 b/hw/xfree86/doc/man/xorg.conf.man.pre |   37 +++++++++++++++++++++++++++++++--
 b/hw/xfree86/parser/Makefile.am        |    4 ++-
 b/hw/xfree86/parser/scan.c             |   15 ++++++++++++-
 b/xorg-server.pc.in                    |    3 +-
 hw/xfree86/common/xf86Config.c         |   12 ++++++++--
 hw/xfree86/doc/man/xorg.conf.man.pre   |   35 ++++++++++++++-----------------
 11 files changed, 122 insertions(+), 43 deletions(-)

--- NEW FILE xserver-1.8.0-xorg.conf.d-changes.patch ---
>From ad6c5e450cacee3777e7c541d4841ee580339a5d Mon Sep 17 00:00:00 2001
From: Peter Hutterer <peter.hutterer at who-t.net>
Date: Wed, 7 Apr 2010 10:04:38 +1000
Subject: [PATCH 1/6] config: only match sane devices in 10-evdev.conf

Having a generic catchall also adds devices like accelerometers. These
devices make X unusable, hence restrict matching to "known sane" devices
like pointers, touchpads, keyboards, tablets and touchscreens.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Acked-by: Julien Cristau <jcristau at debian.org>
Acked-by: Dan Nicholson <dbn.lists at gmail.com>
Acked-by: James Cloos <cloos at jhcloos.com>
(cherry picked from commit c8a608cb6ce8f9c86258c1ab49084f691fa9cc51)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 config/10-evdev.conf |   36 ++++++++++++++++++++++++++++++++++--
 1 files changed, 34 insertions(+), 2 deletions(-)

diff --git a/config/10-evdev.conf b/config/10-evdev.conf
index 7406f4e..cc83ab2 100644
--- a/config/10-evdev.conf
+++ b/config/10-evdev.conf
@@ -1,8 +1,40 @@
 #
 # Catch-all evdev loader for udev-based systems
-#
+# We don't simply match on any device since that also adds accelerometers
+# and other devices that we don't really want to use. The list below
+# matches everything but joysticks.
+
 Section "InputClass"
-        Identifier "evdev-catchall"
+        Identifier "evdev pointer catchall"
+        MatchIsPointer "on"
+        MatchDevicePath "/dev/input/event*"
         Driver "evdev"
+EndSection
+
+Section "InputClass"
+        Identifier "evdev keyboard catchall"
+        MatchIsKeyboard "on"
         MatchDevicePath "/dev/input/event*"
+        Driver "evdev"
+EndSection
+
+Section "InputClass"
+        Identifier "evdev touchpad catchall"
+        MatchIsTouchpad "on"
+        MatchDevicePath "/dev/input/event*"
+        Driver "evdev"
+EndSection
+
+Section "InputClass"
+        Identifier "evdev tablet catchall"
+        MatchIsTablet "on"
+        MatchDevicePath "/dev/input/event*"
+        Driver "evdev"
+EndSection
+
+Section "InputClass"
+        Identifier "evdev touchscreen catchall"
+        MatchIsTouchscreen "on"
+        MatchDevicePath "/dev/input/event*"
+        Driver "evdev"
 EndSection
-- 
1.6.6.1

>From eb07b8606f9a1349baf8114bb36dc2712e5d3419 Mon Sep 17 00:00:00 2001
From: Dan Nicholson <dbn.lists at gmail.com>
Date: Sat, 3 Apr 2010 09:33:47 -0700
Subject: [PATCH 2/6] xfree86: Allow adding sysconfdir and datadir to config search paths

We could just use $projectroot/etc and $projectroot/share, but the user
might have other plans for them.

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
(cherry picked from commit 2460e921d18fd264e6f6374be0908f4100442650)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 hw/xfree86/parser/Makefile.am |    4 +++-
 hw/xfree86/parser/scan.c      |   14 ++++++++++++++
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
index 49c191f..caf7079 100644
--- a/hw/xfree86/parser/Makefile.am
+++ b/hw/xfree86/parser/Makefile.am
@@ -34,7 +34,9 @@ libxf86config_a_SOURCES = \
 	$(INTERNAL_SOURCES)
 libxf86config_a_CFLAGS = $(AM_CFLAGS) -fPIC -fvisibility=hidden
 
-AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) \
+	-DSYSCONFDIR=\"$(sysconfdir)\" \
+	-DDATADIR=\"$(datadir)\"
 
 EXTRA_DIST = \
 	Configint.h \
diff --git a/hw/xfree86/parser/scan.c b/hw/xfree86/parser/scan.c
index cdca9ca..8aab0cf 100644
--- a/hw/xfree86/parser/scan.c
+++ b/hw/xfree86/parser/scan.c
@@ -599,6 +599,8 @@ xf86pathIsSafe(const char *path)
  *    %F    config file environment ($XORGCONFIG) as a relative path
  *    %G    config file environment ($XORGCONFIG) as a safe path
  *    %P    projroot
+ *    %C    sysconfdir
+ *    %D    datadir
  *    %M    major version number
  *    %%    %
  */
@@ -615,6 +617,12 @@ xf86pathIsSafe(const char *path)
 #ifndef PROJECTROOT
 #define PROJECTROOT	"/usr/X11R6"
 #endif
+#ifndef SYSCONFDIR
+#define SYSCONFDIR	PROJECTROOT "/etc"
+#endif
+#ifndef DATADIR
+#define DATADIR		PROJECTROOT "/share"
+#endif
 #ifndef XCONFENV
 #define XCONFENV	"XORGCONFIG"
 #endif
@@ -755,6 +763,12 @@ DoSubstitution(const char *template, const char *cmdline, const char *projroot,
 				else
 					BAIL_OUT;
 				break;
+			case 'C':
+				APPEND_STR(SYSCONFDIR);
+				break;
+			case 'D':
+				APPEND_STR(DATADIR);
+				break;
 			case 'M':
 				if (!majorvers[0]) {
 					if (XF86_VERSION_MAJOR < 0 || XF86_VERSION_MAJOR > 99) {
-- 
1.6.6.1

>From a4516965de447332794ee0afb9503c351fff6fe8 Mon Sep 17 00:00:00 2001
From: Dan Nicholson <dbn.lists at gmail.com>
Date: Sat, 3 Apr 2010 09:33:48 -0700
Subject: [PATCH 3/6] xfree86: Document how -configdir affects the xorg.conf.d search path

Explain the "safe" path dance for -configdir, too.

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
(cherry picked from commit 2ac33888a9a5766aaf88bc92a8bd1d489873524c)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 hw/xfree86/doc/man/xorg.conf.man.pre |   36 +++++++++++++++++++++++++++++++++-
 1 files changed, 35 insertions(+), 1 deletions(-)

diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 93c8ac4..9a40ce3 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -102,10 +102,12 @@ is the machine's hostname as reported by
 .BR gethostname (__libmansuffix__).
 .PP
 Additional configuration files are searched for in the following
-directories:
+directories when the server is started as a normal user:
 .PP
 .RS 4
 .nf
+.IR /etc/X11/ <cmdline>
+.IR __projectroot__/etc/X11/ <cmdline>
 .I /etc/X11/__xconfigdir__\-4
 .I /etc/X11/__xconfigdir__
 .I /etc/__xconfigdir__
@@ -118,6 +120,38 @@ directories:
 .fi
 .RE
 .PP
+where
+.I <cmdline>
+is a relative path (with no \(lq..\(rq components) specified with the
+.B \-configdir
+command line option.
+.PP
+When the __xservername__ server is started by the \(lqroot\(rq user, the
+config directory search locations are as follows:
+.PP
+.RS 4
+.nf
+<cmdline>
+.IR /etc/X11/ <cmdline>
+.IR __projectroot__/etc/X11/ <cmdline>
+.I /etc/X11/__xconfigdir__\-4
+.I /etc/X11/__xconfigdir__
+.I /etc/__xconfigdir__
+.IR __projectroot__/etc/X11/__xconfigdir__. <hostname>
+.I __projectroot__/etc/X11/__xconfigdir__\-4
+.I __projectroot__/etc/X11/__xconfigdir__
+.IR __projectroot__/lib/X11/__xconfigdir__. <hostname>
+.I __projectroot__/lib/X11/__xconfigdir__\-4
+.I __projectroot__/lib/X11/__xconfigdir__
+.fi
+.RE
+.PP
+where
+.I <cmdline>
+is the path specified with the
+.B \-configdir
+command line option (which may be absolute or relative).
+.PP
 The
 .I __xconfigfile__
 and
-- 
1.6.6.1

>From 0c4a358eae0e77f389380bbbf39d4419f2dd6dcd Mon Sep 17 00:00:00 2001
From: Dan Nicholson <dbn.lists at gmail.com>
Date: Sat, 3 Apr 2010 09:33:49 -0700
Subject: [PATCH 4/6] xfree86: Set a saner search path for xorg.conf.d

There's no reason to carry all the oddities from xorg.conf like appended
hostname to the search path for xorg.conf.d. This changes it to something
very simple:

	/etc/X11/<cmdline>
	$sysconfdir/X11/<cmdline>
	/etc/X11/xorg.conf.d
	$sysconfdir/X11/xorg.conf.d

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
(cherry picked from commit a1bae63dc634a5a79861eab128c63506081f7ed9)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 cpprules.in                          |    1 +
 hw/xfree86/common/xf86Config.c       |   16 ++++------------
 hw/xfree86/doc/man/xorg.conf.man.pre |   22 ++++------------------
 3 files changed, 9 insertions(+), 30 deletions(-)

diff --git a/cpprules.in b/cpprules.in
index 301305e..6e43578 100644
--- a/cpprules.in
+++ b/cpprules.in
@@ -34,6 +34,7 @@ MANDEFS = \
 	-D__adminmansuffix__=$(ADMIN_MAN_SUFFIX) \
 	-D__mandir__=$(mandir) \
 	-D__projectroot__=$(prefix) \
+	-D__sysconfdir__=$(sysconfdir) \
 	-D__datadir__=$(datadir) \
 	-D__xconfigfile__=$(__XCONFIGFILE__) \
 	-D__xconfigdir__=$(__XCONFIGDIR__) \
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index 718a078..d02c22a 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -97,20 +97,12 @@ extern DeviceAssocRec mouse_assoc;
 #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"
+				"/etc/X11/%R," "%C/X11/%R," \
+				"/etc/X11/%X," "%C/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"
+#define USER_CONFIGDIRPATH	"/etc/X11/%R," "%C/X11/%R," \
+				"/etc/X11/%X," "%C/X11/%X"
 #endif
 #ifndef PROJECTROOT
 #define PROJECTROOT	"/usr/X11R6"
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 9a40ce3..acfa1ca 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -107,16 +107,9 @@ directories when the server is started as a normal user:
 .RS 4
 .nf
 .IR /etc/X11/ <cmdline>
-.IR __projectroot__/etc/X11/ <cmdline>
-.I /etc/X11/__xconfigdir__\-4
+.IR __sysconfdir__/X11/ <cmdline>
 .I /etc/X11/__xconfigdir__
-.I /etc/__xconfigdir__
-.IR __projectroot__/etc/X11/__xconfigdir__. <hostname>
-.I __projectroot__/etc/X11/__xconfigdir__\-4
-.I __projectroot__/etc/X11/__xconfigdir__
-.IR __projectroot__/lib/X11/__xconfigdir__. <hostname>
-.I __projectroot__/lib/X11/__xconfigdir__\-4
-.I __projectroot__/lib/X11/__xconfigdir__
+.I __sysconfdir__/X11/__xconfigdir__
 .fi
 .RE
 .PP
@@ -133,16 +126,9 @@ config directory search locations are as follows:
 .nf
 <cmdline>
 .IR /etc/X11/ <cmdline>
-.IR __projectroot__/etc/X11/ <cmdline>
-.I /etc/X11/__xconfigdir__\-4
+.IR __sysconfdir__/X11/ <cmdline>
 .I /etc/X11/__xconfigdir__
-.I /etc/__xconfigdir__
-.IR __projectroot__/etc/X11/__xconfigdir__. <hostname>
-.I __projectroot__/etc/X11/__xconfigdir__\-4
-.I __projectroot__/etc/X11/__xconfigdir__
-.IR __projectroot__/lib/X11/__xconfigdir__. <hostname>
-.I __projectroot__/lib/X11/__xconfigdir__\-4
-.I __projectroot__/lib/X11/__xconfigdir__
+.I __sysconfdir__/X11/__xconfigdir__
 .fi
 .RE
 .PP
-- 
1.6.6.1

>From 59f96734633fce3c2bee62bce860aed33033ce3e Mon Sep 17 00:00:00 2001
From: Dan Nicholson <dbn.lists at gmail.com>
Date: Sat, 3 Apr 2010 10:08:25 -0700
Subject: [PATCH 5/6] xfree86: Search for a system xorg.conf.d

In addition to the conf files found in /etc/X11 or $sysconfdir/X11 used
for local administration, we also reserve a system directory for vendor
and package usage. The simple search path is:

	/usr/share/X11/xorg.conf.d
	$datadir/X11/xorg.conf.d

Files from these directories will have the lowest config priority. The
directory $datadir/X11/xorg.conf.d is exported from xorg-server.pc in
the variable "sysconfigdir". Packages should install their .conf files
to the directory specified by:

	`pkg-config --variable=sysconfigdir xorg-server`

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
(cherry picked from commit 95f01bdfee8241371675f0089170fa6b2908d815)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 configure.ac                         |    2 ++
 hw/xfree86/common/xf86Config.c       |   12 ++++++++++--
 hw/xfree86/doc/man/xorg.conf.man.pre |   12 ++++++++++++
 xorg-server.pc.in                    |    2 ++
 4 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index a76eda3..48cb724 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1792,8 +1792,10 @@ if test "x$XORG" = xyes; then
 	AC_SUBST([driverdir])
 	sdkdir="$includedir/xorg"
 	extdir="$includedir/X11/extensions"
+	sysconfigdir="$datadir/X11/$XF86CONFIGDIR"
 	AC_SUBST([sdkdir])
 	AC_SUBST([extdir])
+	AC_SUBST([sysconfigdir])
 	AC_SUBST([logdir])
 
 	# stuff the ABI versions into the pc file too
diff --git a/hw/xfree86/common/xf86Config.c b/hw/xfree86/common/xf86Config.c
index d02c22a..1e9543f 100644
--- a/hw/xfree86/common/xf86Config.c
+++ b/hw/xfree86/common/xf86Config.c
@@ -104,6 +104,9 @@ extern DeviceAssocRec mouse_assoc;
 #define USER_CONFIGDIRPATH	"/etc/X11/%R," "%C/X11/%R," \
 				"/etc/X11/%X," "%C/X11/%X"
 #endif
+#ifndef SYS_CONFIGDIRPATH
+#define SYS_CONFIGDIRPATH	"/usr/share/X11/%X," "%D/X11/%X"
+#endif
 #ifndef PROJECTROOT
 #define PROJECTROOT	"/usr/X11R6"
 #endif
@@ -2421,7 +2424,7 @@ checkInput(serverLayoutPtr layout, Bool implicit_layout) {
 ConfigStatus
 xf86HandleConfigFile(Bool autoconfig)
 {
-    const char *filename, *dirname;
+    const char *filename, *dirname, *sysdirname;
     char *filesearch, *dirsearch;
     MessageType filefrom = X_DEFAULT;
     MessageType dirfrom = X_DEFAULT;
@@ -2444,6 +2447,8 @@ xf86HandleConfigFile(Bool autoconfig)
 	    dirfrom = X_CMDLINE;
 
 	xf86initConfigFiles();
+	sysdirname = xf86openConfigDirFiles(SYS_CONFIGDIRPATH, NULL,
+					    PROJECTROOT);
 	dirname = xf86openConfigDirFiles(dirsearch, xf86ConfigDir, PROJECTROOT);
 	filename = xf86openConfigFile(filesearch, xf86ConfigFile, PROJECTROOT);
 	if (filename) {
@@ -2464,7 +2469,10 @@ xf86HandleConfigFile(Bool autoconfig)
 			"Unable to locate/open config directory: \"%s\"\n",
 			xf86ConfigDir);
 	}
-	if (!filename && !dirname)
+	if (sysdirname)
+	    xf86MsgVerb(X_DEFAULT, 0, "Using system config directory \"%s\"\n",
+			sysdirname);
+	if (!filename && !dirname && !sysdirname)
 	    return CONFIG_NOFILE;
     }
 
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index acfa1ca..4782d61 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -138,6 +138,18 @@ is the path specified with the
 .B \-configdir
 command line option (which may be absolute or relative).
 .PP
+Finally, configuration files will also be searched for in directories
+reserved for system use. These are to separate configuration files from
+the vendor or 3rd party packages from those of local administration.
+These files are found in the following directories:
+.PP
+.RS 4
+.nf
+.I /usr/share/X11/__xconfigdir__
+.I __datadir__/X11/__xconfigdir__
+.fi
+.RE
+.PP
 The
 .I __xconfigfile__
 and
diff --git a/xorg-server.pc.in b/xorg-server.pc.in
index 3d58dab..376cb93 100644
--- a/xorg-server.pc.in
+++ b/xorg-server.pc.in
@@ -2,8 +2,10 @@ prefix=@prefix@
 exec_prefix=@exec_prefix@
 libdir=@libdir@
 includedir=@includedir@
+datarootdir=@datarootdir@
 moduledir=@moduledir@
 sdkdir=@sdkdir@
+sysconfigdir=@sysconfigdir@
 
 abi_ansic=@abi_ansic@
 abi_videodrv=@abi_videodrv@
-- 
1.6.6.1

>From 3e2ab9139b12b1239eebcbb6c6a23e7284dd7b44 Mon Sep 17 00:00:00 2001
From: Dan Nicholson <dbn.lists at gmail.com>
Date: Sat, 3 Apr 2010 09:33:51 -0700
Subject: [PATCH 6/6] Move 10-evdev.conf to system config dir $datadir/X11/xorg.conf.d

Since the server searches in a vendor specific path now, we can install
the evdev catchall there without disturbing local administration files.

Signed-off-by: Dan Nicholson <dbn.lists at gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
(cherry picked from commit d4dd3d0085f8eaca8c989aaeace1a1a24c5ebf49)

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 config/Makefile.am |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/config/Makefile.am b/config/Makefile.am
index eed7454..675a3b2 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -9,7 +9,7 @@ AM_CFLAGS += $(UDEV_CFLAGS)
 libconfig_la_SOURCES += udev.c
 libconfig_la_LIBADD = $(UDEV_LIBS)
 
-xorgconfddir = $(prefix)/etc/X11/$(XF86CONFIGDIR)
+xorgconfddir = $(datadir)/X11/$(XF86CONFIGDIR)
 xorgconfd_DATA = 10-evdev.conf
 
 else
-- 
1.6.6.1



Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.507
retrieving revision 1.508
diff -u -p -r1.507 -r1.508
--- xorg-x11-server.spec	7 Apr 2010 00:14:26 -0000	1.507
+++ xorg-x11-server.spec	15 Apr 2010 06:57:32 -0000	1.508
@@ -19,7 +19,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.8.0
-Release:   1%{?gitdate:.%{gitdate}}%{dist}
+Release:   6%{?gitdate:.%{gitdate}}%{dist}
 URL:       http://www.x.org
 License:   MIT
 Group:     User Interface/X
@@ -35,7 +35,7 @@ Source2:   commitid
 Source0:   http://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.bz2
 Source1:   gitignore
 %endif
-Source3:   00-evdev.conf
+
 Source4:   10-quirks.conf
 
 Source10:   xserver.pamd
@@ -86,7 +86,9 @@ Patch6052: xserver-1.8-udev-warning.patc
 # fallback to vesa when module is missing seems broken
 Patch6053: xserver-1.8-disable-vboxvideo.patch
 
-Patch6054: xserver-1.8-no-hardcoded-etc.patch
+Patch6055: xserver-1.7.6-export-dix-functions.patch
+Patch6056: xserver-1.7.6-export-more-dix-functions.patch
+Patch6057: xserver-1.8.0-xorg.conf.d-changes.patch
 
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
@@ -368,9 +370,12 @@ install -m 0444 hw/xfree86/common/{vesa,
 mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d
 install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xserver
 
-mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xorg.conf.d
-install -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/xorg.conf.d
-install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/xorg.conf.d
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
+install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
+
+# make sure the (empty) /etc/X11/xorg.conf.d is there, system-setup-keyboard
+# relies on it more or less.
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d
 
 %endif
 
@@ -400,8 +405,6 @@ find %{inst_srcdir}/hw/xfree86 -name \*.
     rm -f $RPM_BUILD_ROOT%{_bindir}/pcitweak
     rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pcitweak.1*
     find $RPM_BUILD_ROOT -type f -name '*.la' | xargs rm -f -- || :
-    # we install our own
-    rm -f $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d/10-evdev.conf
 %if !%{with_hw_servers}
     rm -f $RPM_BUILD_ROOT%{_libdir}/pkgconfig/xorg-server.pc
     rm -f $RPM_BUILD_ROOT%{_datadir}/aclocal/xorg-server.m4
@@ -467,9 +470,10 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man4/fbdevhw.4*
 %{_mandir}/man4/exa.4*
 %{_mandir}/man5/xorg.conf.5*
-%dir %{_sysconfdir}/xorg.conf.d
-%{_sysconfdir}/xorg.conf.d/00-evdev.conf
-%{_sysconfdir}/xorg.conf.d/10-quirks.conf
+%dir %{_sysconfdir}/X11/xorg.conf.d
+%dir %{_datadir}/X11/xorg.conf.d
+%{_datadir}/X11/xorg.conf.d/10-evdev.conf
+%{_datadir}/X11/xorg.conf.d/10-quirks.conf
 %endif
 
 
@@ -526,6 +530,28 @@ rm -rf $RPM_BUILD_ROOT
 %{xserver_source_dir}
 
 %changelog
+* Thu Apr 15 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-6
+- xserver-1.8.0-xorg.conf.d-changes.patch: push in the upcoming 1.8.1
+  xorg.conf.d changes. The X server uses /etc/X11/xorg.conf now for custom
+  config and /usr/share/X11/xorg.conf.d for system-provided config.
+- xserver-1.8-no-hardcoded-etc.patch: drop, obsolete.
+- 00-evdev.conf: drop, use the upstream one.
+
+* Thu Apr 15 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-5
+- xserver-1.4.99-pic-libxf86config.patch: update, only merge CFLAGS for
+  libxf86config.a, not AM_CFLAGS. Makes patch mangling for the next set of
+  patches easier.
+
+* Wed Apr 14 2010 Adam Tkac <atkac redhat com> 1.8.0-4
+- xserver-1.7.6-export-more-dix-functions.patch: export XkbCopyDeviceKeymap
+  function, needed by VNC
+
+* Mon Apr 12 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-3
+- xserver-1.7.6-export-dix-functions: export some functions in use by VNC.
+
+* Mon Apr 12 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-2
+- Add Xen virtual pointer quirk to 10-quirks.conf (#523914)
+
 * Tue Apr 06 2010 Peter Hutterer <peter.hutterer at redhat.com> 1.8.0-1
 - xserver 1.8.0
 - Drop merged patches.

xserver-1.4.99-pic-libxf86config.patch:
 Makefile.am |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Index: xserver-1.4.99-pic-libxf86config.patch
===================================================================
RCS file: /cvs/pkgs/rpms/xorg-x11-server/devel/xserver-1.4.99-pic-libxf86config.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -p -r1.2 -r1.3
--- xserver-1.4.99-pic-libxf86config.patch	7 Aug 2009 11:37:15 -0000	1.2
+++ xserver-1.4.99-pic-libxf86config.patch	15 Apr 2010 06:57:32 -0000	1.3
@@ -1,18 +1,22 @@
-From 4306b434038de7e2b17d3c4a6cfd87db469d3bda Mon Sep 17 00:00:00 2001
+From dc9f6e5021699fef97318ebc43f0e6c58a12d696 Mon Sep 17 00:00:00 2001
 From: Adam Jackson <ajax at redhat.com>
 Date: Mon, 10 Dec 2007 11:26:57 -0500
 Subject: [PATCH] Build libxf86config with -fPIC.
 
+
 diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am
-index b8fab28..ed831c9 100644
+index 49c191f..fea3b24 100644
 --- a/hw/xfree86/parser/Makefile.am
 +++ b/hw/xfree86/parser/Makefile.am
-@@ -33,7 +33,7 @@ libxf86config_a_SOURCES = \
+@@ -32,7 +32,7 @@ libxf86config_internal_la_SOURCES = \
+ 
+ libxf86config_a_SOURCES = \
  	$(INTERNAL_SOURCES)
- libxf86config_a_CFLAGS = $(AM_CFLAGS)
+-libxf86config_a_CFLAGS = $(AM_CFLAGS)
++libxf86config_a_CFLAGS = $(AM_CFLAGS) -fPIC -fvisibility=hidden
  
--AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
-+AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS) -fPIC -fvisibility=hidden
+ AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
  
- EXTRA_DIST = \
- 	Configint.h \
+-- 
+1.6.6.1
+


--- 00-evdev.conf DELETED ---


--- xserver-1.8-no-hardcoded-etc.patch DELETED ---



More information about the scm-commits mailing list