[arch-commits] Commit in xorg-server/trunk (3 files)

Jan de Groot jgc at archlinux.org
Wed Dec 17 20:32:54 UTC 2008


    Date: Wednesday, December 17, 2008 @ 15:32:54
  Author: jgc
Revision: 21903

upgpkg: xorg-server 1.5.3-4
    Apply upstream updates from server-1.5 branch, enable AEI by default (FS#12372)

Added:
  xorg-server/trunk/xserver-1.5-branch-4970d.patch
  xorg-server/trunk/xserver-1.5.3-AEI-on-by-default.patch
Modified:
  xorg-server/trunk/PKGBUILD

---------------------------------------+
 PKGBUILD                              |   17 +-
 xserver-1.5-branch-4970d.patch        |  246 ++++++++++++++++++++++++++++++++
 xserver-1.5.3-AEI-on-by-default.patch |  108 ++++++++++++++
 3 files changed, 368 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2008-12-17 20:27:32 UTC (rev 21902)
+++ PKGBUILD	2008-12-17 20:32:54 UTC (rev 21903)
@@ -4,7 +4,7 @@
 
 pkgname=xorg-server
 pkgver=1.5.3
-pkgrel=3
+pkgrel=4
 pkgdesc="X.Org X servers"
 arch=('i686' 'x86_64')
 license=('custom')
@@ -16,15 +16,23 @@
 groups=('xorg')
 install=xorg-server.install
 source=(${url}/releases/individual/xserver/${pkgname}-${pkgver}.tar.bz2
+	xserver-1.5-branch-4970d.patch
 	001_fedora_extramodes.patch
 	xorg-redhat-die-ugly-pattern-die-die-die.patch
-	xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch)
+	xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch
+	xserver-1.5.3-AEI-on-by-default.patch)
 md5sums=('308971036e25250e7fe3cccfd5a120f8'
+         '61f9bb524501247dce647b218ad14347'
          '033427f2b406cba8dd6103ff374e7156'
-         '1a336eb22e27cbf443ec5a2ecddfa93c')
+         '1a336eb22e27cbf443ec5a2ecddfa93c'
+         '7b03ba9b75d795e4f7fdfaa550d97159'
+         '63d1d61d217005db7c23c4a98fc3e7eb')
 
 build() {
   cd "${srcdir}/${pkgname}-${pkgver}"
+  # Upstream commits from server-1.5 branch
+  patch -Np1 -i "${srcdir}/xserver-1.5-branch-4970d.patch" || return 1
+
   # extramodes
   patch -Np1 -i "${srcdir}/001_fedora_extramodes.patch" || return 1
 
@@ -34,6 +42,9 @@
   # Patch from Fedora to fix FS#12248
   patch -Np1 -i "${srcdir}/xserver-1.5.0-force-SwitchCoreKeyboard-for-evdev.patch" || return 1
 
+  # Upstream patch to fix evdev issues with >=2.1.0
+  patch -Np1 -i "${srcdir}/xserver-1.5.3-AEI-on-by-default.patch" || return 1
+
   # Fix dbus config path
   sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.*  || return 1
 

Added: xserver-1.5-branch-4970d.patch
===================================================================
--- xserver-1.5-branch-4970d.patch	                        (rev 0)
+++ xserver-1.5-branch-4970d.patch	2008-12-17 20:32:54 UTC (rev 21903)
@@ -0,0 +1,246 @@
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/config/x11-input.fdi	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/config/x11-input.fdi	2008-12-16 19:19:00.000000000 +0000
+@@ -64,8 +64,8 @@
+       <merge key="input.x11_options.XkbRules" type="string">base</merge>
+ 
+       <!-- If we're using Linux, we use evdev by default (falling back to
+-           keyboard otherwise). -->
+-      <merge key="input.x11_driver" type="string">keyboard</merge>
++           kbd otherwise). -->
++      <merge key="input.x11_driver" type="string">kbd</merge>
+       <merge key="input.x11_options.XkbModel" type="string">pc105</merge>
+       <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name"
+              string="Linux">
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/exa/exa_accel.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/exa/exa_accel.c	2008-12-16 19:19:00.000000000 +0000
+@@ -398,6 +398,10 @@
+     RegionPtr srcregion = NULL, dstregion = NULL;
+     xRectangle *rects;
+ 
++    /* avoid doing copy operations if no boxes */
++    if (nbox == 0)
++	return;
++
+     pSrcPixmap = exaGetDrawablePixmap (pSrcDrawable);
+     pDstPixmap = exaGetDrawablePixmap (pDstDrawable);
+ 
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/common/xf86Helper.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/common/xf86Helper.c	2008-12-16 19:19:00.000000000 +0000
+@@ -448,10 +448,6 @@
+ #define GLOBAL_DEFAULT_DEPTH 24
+ #endif
+ 
+-#ifndef GLOBAL_DEFAULT_FBBPP
+-#define GLOBAL_DEFAULT_FBBPP 32
+-#endif
+-
+ _X_EXPORT Bool
+ xf86SetDepthBpp(ScrnInfoPtr scrp, int depth, int dummy, int fbbpp,
+ 		int depth24flags)
+@@ -529,7 +525,6 @@
+ 	    if (depth > 0)
+ 		scrp->depth = depth;
+ 	} else {
+-	    scrp->bitsPerPixel = GLOBAL_DEFAULT_FBBPP;
+ 	    scrp->depth = GLOBAL_DEFAULT_DEPTH;
+ 	}
+     }
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/os-support/linux/int10/linux.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/os-support/linux/int10/linux.c	2008-12-16 19:19:00.000000000 +0000
+@@ -1,6 +1,6 @@
+ /*
+  * linux specific part of the int10 module
+- * Copyright 1999, 2000, 2001, 2002, 2003, 2004 Egbert Eich
++ * Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2008 Egbert Eich
+  */
+ #ifdef HAVE_XORG_CONFIG_H
+ #include <xorg-config.h>
+@@ -357,7 +357,10 @@
+ 		   "shmat(low_mem) error: %s\n",strerror(errno));
+ 	return FALSE;
+     }
+-    
++    if (mprotect((void*)0, V_RAM, PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
++        xf86DrvMsg(pInt->scrnIndex, X_ERROR,
++		   "Cannot set EXEC bit on low memory: %s\n", strerror(errno));
++
+     if (((linuxInt10Priv*)pInt->private)->highMem >= 0) {
+ 	addr = shmat(((linuxInt10Priv*)pInt->private)->highMem,
+ 		     (char*)HIGH_MEM, 0);
+@@ -368,6 +371,11 @@
+ 		       "shmget error: %s\n",strerror(errno));
+ 	    return FALSE;
+ 	}
++	if (mprotect((void*)HIGH_MEM, HIGH_MEM_SIZE,
++		     PROT_READ|PROT_WRITE|PROT_EXEC) != 0)
++	    xf86DrvMsg(pInt->scrnIndex, X_ERROR,
++		       "Cannot set EXEC bit on high memory: %s\n",
++		       strerror(errno));
+     } else {
+ 	if ((fd = open(DEV_MEM, O_RDWR, 0)) >= 0) {
+ 	    if (mmap((void *)(V_BIOS), SYS_BIOS - V_BIOS,
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaa.h	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaa.h	2008-12-16 19:19:00.000000000 +0000
+@@ -2,6 +2,10 @@
+ #ifndef _XAA_H
+ #define _XAA_H
+ 
++#define XAA_VERSION_MAJOR   1
++#define XAA_VERSION_MINOR   2
++#define XAA_VERSION_RELEASE 1
++
+ /*
+ 
+    ******** OPERATION SPECIFIC FLAGS *********
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaaInitAccel.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaaInitAccel.c	2008-12-16 19:19:00.000000000 +0000
+@@ -103,7 +103,9 @@
+ 	MODINFOSTRING1,
+ 	MODINFOSTRING2,
+ 	XORG_VERSION_CURRENT,
+-	1, 2, 0,
++	XAA_VERSION_MAJOR,
++	XAA_VERSION_MINOR,
++	XAA_VERSION_RELEASE,
+ 	ABI_CLASS_VIDEODRV,		/* requires the video driver ABI */
+ 	ABI_VIDEODRV_VERSION,
+ 	MOD_CLASS_NONE,
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/hw/xfree86/xaa/xaawrap.h	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/hw/xfree86/xaa/xaawrap.h	2008-12-16 19:19:00.000000000 +0000
+@@ -48,8 +48,8 @@
+     XAAPixmapPtr pixPriv = XAA_GET_PIXMAP_PRIVATE((PixmapPtr)(pDraw));\
+     GCFuncs *oldFuncs = pGC->funcs;\
+     pGC->funcs = pGCPriv->wrapFuncs;\
+-    pGC->ops = pGCPriv->wrapOps
+-
++    pGC->ops = pGCPriv->wrapOps; \
++    SYNC_CHECK(pGC)
+     
+ #define XAA_PIXMAP_OP_EPILOGUE(pGC)\
+     pGCPriv->wrapOps = pGC->ops;\
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/mi/miinitext.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/mi/miinitext.c	2008-12-16 19:19:00.000000000 +0000
+@@ -661,7 +661,8 @@
+ #endif
+ 
+ #ifdef GLXEXT
+-    GlxPushProvider(&__glXDRISWRastProvider);
++    if (serverGeneration == 1)
++	GlxPushProvider(&__glXDRISWRastProvider);
+     if (!noGlxExtension) GlxExtensionInit();
+ #endif
+ }
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/os/utils.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/os/utils.c	2008-12-16 19:19:00.000000000 +0000
+@@ -1702,7 +1702,7 @@
+     int pid;
+ } *pidlist;
+ 
+-void (*old_alarm)(int) = NULL; /* XXX horrible awful hack */
++OsSigHandlerPtr old_alarm = NULL; /* XXX horrible awful hack */
+ 
+ pointer
+ Popen(char *command, char *type)
+@@ -1726,7 +1726,7 @@
+     }
+ 
+     /* Ignore the smart scheduler while this is going on */
+-    old_alarm = signal(SIGALRM, SIG_IGN);
++    old_alarm = OsSignal(SIGALRM, SIG_IGN);
+     if (old_alarm == SIG_ERR) {
+       perror("signal");
+       return NULL;
+@@ -1737,7 +1737,7 @@
+ 	close(pdes[0]);
+ 	close(pdes[1]);
+ 	xfree(cur);
+-	if (signal(SIGALRM, old_alarm) == SIG_ERR)
++	if (OsSignal(SIGALRM, old_alarm) == SIG_ERR)
+ 	  perror("signal");
+ 	return NULL;
+     case 0:	/* child */
+@@ -1914,7 +1914,7 @@
+     /* allow EINTR again */
+     OsReleaseSignals ();
+     
+-    if (old_alarm && signal(SIGALRM, old_alarm) == SIG_ERR) {
++    if (old_alarm && OsSignal(SIGALRM, old_alarm) == SIG_ERR) {
+       perror("signal");
+       return -1;
+     }
+diff -ruN xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c
+--- xserver-4c6a89ee783d62fb75a738339351830c35b19a38/xkb/xkbEvents.c	2008-11-05 20:39:01.000000000 +0000
++++ xserver-4970d757a7364c1d2fb4db4e404e88e8ad989ddb/xkb/xkbEvents.c	2008-12-16 19:19:00.000000000 +0000
+@@ -109,7 +109,7 @@
+ register CARD16	changed,bState;
+ 
+     interest = kbd->xkb_interest;
+-    if (!interest)
++    if (!interest || !kbd->key || !kbd->key->xkbInfo)
+ 	return;
+     xkbi = kbd->key->xkbInfo;
+     state= &xkbi->state;
+@@ -168,6 +168,9 @@
+ unsigned	time = 0,initialized;
+ CARD16		changed;
+ 
++    if (!kbd->key || !kbd->key->xkbInfo)
++        return;
++
+     xkbi = kbd->key->xkbInfo;
+     initialized= 0;
+ 
+@@ -291,7 +294,7 @@
+ Time 		 	time = 0;
+ 
+     interest = kbd->xkb_interest;
+-    if (!interest)
++    if (!interest || !kbd->key || !kbd->key->xkbInfo)
+ 	return;
+     xkbi = kbd->key->xkbInfo;
+  
+@@ -401,6 +404,9 @@
+ Time 		time = 0;
+ XID		winID = 0;
+ 
++    if (!kbd->key || !kbd->key->xkbInfo)
++        return;
++
+     xkbi = kbd->key->xkbInfo;
+ 
+     if ((force||(xkbi->desc->ctrls->enabled_ctrls&XkbAudibleBellMask))&&
+@@ -616,11 +622,12 @@
+ XkbInterestPtr	 interest;
+ Time 		 time = 0;
+ 
+-    xkbi = kbd->key->xkbInfo;
+     interest = kbd->xkb_interest;
+-    if (!interest)
++    if (!interest || !kbd->key || !kbd->key->xkbInfo)
+ 	return;
+  
++    xkbi = kbd->key->xkbInfo;
++
+     initialized = 0;
+     pEv->mods= xkbi->state.mods;
+     pEv->group= xkbi->state.group;
+@@ -996,6 +1003,10 @@
+ ClientPtr	client = NULL;
+ 
+     found= False;
++
++    if (!dev->key || !dev->key->xkbInfo)
++        return found;
++
+     autoCtrls= autoValues= 0;
+     if ( dev->xkb_interest ) {
+ 	interest = dev->xkb_interest;

Added: xserver-1.5.3-AEI-on-by-default.patch
===================================================================
--- xserver-1.5.3-AEI-on-by-default.patch	                        (rev 0)
+++ xserver-1.5.3-AEI-on-by-default.patch	2008-12-17 20:32:54 UTC (rev 21903)
@@ -0,0 +1,108 @@
+From 15bf414daa83967fd1f24bd48bd01ea941c11ce2 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at redhat.com>
+Date: Thu, 13 Nov 2008 10:17:33 +1000
+Subject: [PATCH] xfree86: AllowEmptyInput is true by default - update the xf86Info defaults.
+
+Also set AutoAddDevices and AutoEnableDevices to their defaults.
+
+And in doing so, switch the rest of the defaults over to named intializers.
+
+Signed-off-by: Peter Hutterer <peter.hutterer at redhat.com>
+(cherry picked from commit 0b56b44addc323a00eb7cd86240cb0dd4275bcf8)
+
+Conflicts:
+
+	hw/xfree86/common/xf86Globals.c
+---
+ hw/xfree86/common/xf86Globals.c |   69 ++++++++++++++++++++------------------
+ 1 files changed, 36 insertions(+), 33 deletions(-)
+
+diff --git a/hw/xfree86/common/xf86Globals.c b/hw/xfree86/common/xf86Globals.c
+index f5babbc..a5edd82 100644
+--- a/hw/xfree86/common/xf86Globals.c
++++ b/hw/xfree86/common/xf86Globals.c
+@@ -95,45 +95,48 @@ InputInfoPtr xf86InputDevs = NULL;
+ /* Globals that video drivers may not access */
+ 
+ xf86InfoRec xf86Info = {
+-	-1,		/* consoleFd */
+-	-1,		/* vtno */
+-	FALSE,		/* vtSysreq */
+-	SKWhenNeeded,	/* ddxSpecialKeys */
+-	NULL,		/* pMouse */
++    .consoleFd                  = -1,
++    .vtno                       = -1,
++    .vtSysreq                   = FALSE,
++    .ddxSpecialKeys             = SKWhenNeeded,
++    .pMouse                     = NULL,
+ #ifdef XINPUT
+-	NULL,		/* mouseLocal */
++    .mouseLocal                 = NULL,
+ #endif
+-	-1,		/* lastEventTime */
+-	FALSE,		/* vtRequestsPending */
+-	FALSE,		/* inputPending */
+-	FALSE,		/* dontVTSwitch */
+-	FALSE,		/* dontZap */
+-	FALSE,		/* dontZoom */
+-	FALSE,		/* notrapSignals */
+-	FALSE,		/* caughtSignal */
+-	FALSE,		/* sharedMonitor */
+-	NULL,		/* currentScreen */
++    .lastEventTime              = -1,
++    .vtRequestsPending          = FALSE,
++    .inputPending               = FALSE,
++    .dontVTSwitch               = FALSE,
++    .dontZap                    = FALSE,
++    .dontZoom                   = FALSE,
++    .notrapSignals              = FALSE,
++    .caughtSignal               = FALSE,
++    .sharedMonitor              = FALSE,
++    .currentScreen              = NULL,
+ #ifdef CSRG_BASED
+-	-1,		/* screenFd */
+-	-1,		/* consType */
++    .screenFd                   = -1,
++    .consType                   = -1,
+ #endif
+-	FALSE,		/* allowMouseOpenFail */
+-	TRUE,		/* vidModeEnabled */
+-	FALSE,		/* vidModeAllowNonLocal */
+-	TRUE,		/* miscModInDevEnabled */
+-	FALSE,		/* miscModInDevAllowNonLocal */
+-	PCIOsConfig,	/* pciFlags */
+-	Pix24DontCare,	/* pixmap24 */
+-	X_DEFAULT,	/* pix24From */
++    .allowMouseOpenFail         = FALSE,
++    .vidModeEnabled             = TRUE,
++    .vidModeAllowNonLocal       = FALSE,
++    .miscModInDevEnabled        = TRUE,
++    .miscModInDevAllowNonLocal  = FALSE,
++    .pciFlags                   = PCIOsConfig,
++    .pixmap24                   = Pix24DontCare,
++    .pix24From                  = X_DEFAULT,
+ #ifdef __i386__
+-	FALSE,		/* pc98 */
++    .pc98                       = FALSE,
+ #endif
+-	TRUE,		/* pmFlag */
+-	LogNone,	/* syncLog */
+-	0,		/* estimateSizesAggressively */
+-	FALSE,		/* kbdCustomKeycodes */
+-	FALSE,		/* disableRandR */
+-	X_DEFAULT	/* randRFrom */
++    .pmFlag                     = TRUE,
++    .log                        = LogNone,
++    .estimateSizesAggressively  = 0,
++    .kbdCustomKeycodes          = FALSE,
++    .disableRandR               = FALSE,
++    .randRFrom                  = X_DEFAULT,
++    .allowEmptyInput            = TRUE,
++    .autoAddDevices             = TRUE,
++    .autoEnableDevices          = TRUE
+ };
+ const char *xf86ConfigFile = NULL;
+ const char *xf86InputDeviceList = NULL;
+-- 
+1.6.0.3
+




More information about the arch-commits mailing list