rpms/xorg-x11-server/devel xserver-1.3.0-mmap-failure-check.patch, NONE, 1.1 xserver-1.3.0-no-pseudocolor-composite.patch, NONE, 1.1 xserver-1.3.0-pci-bus-count.patch, NONE, 1.1 xserver-1.3.0-rom-search.patch, NONE, 1.1 xserver-1.3.0-xnest-exposures.patch, NONE, 1.1 xorg-x11-server.spec, 1.216, 1.217

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Mon Apr 9 23:09:54 UTC 2007


Author: ajackson

Update of /cvs/dist/rpms/xorg-x11-server/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv22501

Modified Files:
	xorg-x11-server.spec 
Added Files:
	xserver-1.3.0-mmap-failure-check.patch 
	xserver-1.3.0-no-pseudocolor-composite.patch 
	xserver-1.3.0-pci-bus-count.patch 
	xserver-1.3.0-rom-search.patch 
	xserver-1.3.0-xnest-exposures.patch 
Log Message:
* Mon Apr 09 2007 Adam Jackson <ajax at redhat.com> 1.2.99.905-2
- xserver-1.3.0-pci-bus-count.patch: Allocate the PCI bus array dynamically,
  so as not to run off the end of it.
- xserver-1.3.0-mmap-failure-check.patch: Check for failure when mmap'ing
  bus memory. (#234073)
- xserver-1.3.0-rom-search.patch: Look for the sysfs ROM file in the (flat)
  /sys/bus/pci/devices tree, instead of the (bus-topological) /sys/devices,
  so we don't fail to find ROMs merely because they're behind a bridge.
- xserver-1.3.0-no-pseudocolor-composite.patch: Refuse to initialize
  Composite when Render is missing or when the root window is using
  a pseudocolor visual. (#217388)
- xserver-1.3.0-xnest-exposures.patch: Fix Motif app redraw in Xnest. (#229350)


xserver-1.3.0-mmap-failure-check.patch:
 linuxPci.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)

--- NEW FILE xserver-1.3.0-mmap-failure-check.patch ---
--- ./hw/xfree86/os-support/bus/linuxPci.c.orig	2007-03-14 09:37:44.000000000 -0600
+++ ./hw/xfree86/os-support/bus/linuxPci.c	2007-03-14 09:41:01.000000000 -0600
@@ -634,28 +634,28 @@
 		    ADDRESS Base, unsigned long Size)
 {
     int domain = xf86GetPciDomain(Tag);
-    int fd;
+    int fd = -1;
     pointer addr;
 
     /*
      * We use /proc/bus/pci on non-legacy addresses or if the Linux sysfs
      * legacy_mem interface is unavailable.
      */
-    if (Base > 1024*1024)
-	return linuxMapPci(ScreenNum, Flags, Tag, Base, Size,
+    if (Base >= 1024*1024)
+	addr = linuxMapPci(ScreenNum, Flags, Tag, Base, Size,
 			   PCIIOC_MMAP_IS_MEM);
-
-    if ((fd = linuxOpenLegacy(Tag, "legacy_mem")) < 0)
-	return linuxMapPci(ScreenNum, Flags, Tag, Base, Size,
+    else if ((fd = linuxOpenLegacy(Tag, "legacy_mem")) < 0)
+	addr = linuxMapPci(ScreenNum, Flags, Tag, Base, Size,
 			   PCIIOC_MMAP_IS_MEM);
+    else
+	addr = mmap(NULL, Size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, Base);
 
-    addr = mmap(NULL, Size, PROT_READ|PROT_WRITE, MAP_SHARED, fd, Base);
-    if (addr == MAP_FAILED) {
-	close (fd);
+    if (fd >= 0)
+	close(fd);
+    if (addr == NULL || addr == MAP_FAILED) {
 	perror("mmap failure");
 	FatalError("xf86MapDomainMem():  mmap() failure\n");
     }
-    close(fd);
     return addr;
 }
 

xserver-1.3.0-no-pseudocolor-composite.patch:
 compext.c |   19 +++++++++++++++++++
 1 files changed, 19 insertions(+)

--- NEW FILE xserver-1.3.0-no-pseudocolor-composite.patch ---
diff --git a/composite/compext.c b/composite/compext.c
index 4c25cc7..af05b4a 100644
--- a/composite/compext.c
+++ b/composite/compext.c
@@ -678,6 +678,25 @@ CompositeExtensionInit (void)
     ExtensionEntry  *extEntry;
     int		    s;
 
+    for (s = 0; s < screenInfo.numScreens; s++) {
+	ScreenPtr pScreen = screenInfo.screens[s];
+	VisualPtr vis;
+
+	/* Composite on 8bpp pseudocolor root windows appears to fail, so
+	 * just disable it on anything pseudocolor for safety.
+	 */
+	for (vis = pScreen->visuals; vis->vid != pScreen->rootVisual; vis++)
+	    ;
+	if ((vis->class | DynamicClass) == PseudoColor)
+	    return;
+
+	/* Ensure that Render is initialized, which is required for automatic
+	 * compositing.
+	 */
+	if (GetPictureScreenIfSet(pScreen) == NULL)
+	    return;
+    }
+
     CompositeClientWindowType = CreateNewResourceType (FreeCompositeClientWindow);
     if (!CompositeClientWindowType)
 	return;

xserver-1.3.0-pci-bus-count.patch:
 Pci.c |   11 ++++++++---
 1 files changed, 8 insertions(+), 3 deletions(-)

--- NEW FILE xserver-1.3.0-pci-bus-count.patch ---
--- xorg-server-1.1.1/hw/xfree86/os-support/bus/Pci.c.jx	2007-02-12 11:08:52.000000000 -0500
+++ xorg-server-1.1.1/hw/xfree86/os-support/bus/Pci.c	2007-03-30 12:20:08.000000000 -0400
@@ -231,14 +231,14 @@
 int            pciMaxBusNum = MAX_PCI_BUSES;
 static Bool    inProbe = FALSE;
 
-static pciConfigPtr pci_devp[MAX_PCI_DEVICES + 1] = {NULL, };
+static pciConfigPtr *pci_devp = NULL;
 
 static int readPciBios( PCITAG Tag, CARD8* tmp, ADDRESS hostbase,
 			unsigned char * buf, int len, PciBiosType BiosType );
 
 static int (*pciOSHandleBIOS)(PCITAG Tag, int basereg, unsigned char *buf, int len);
 
-int xf86MaxPciDevs = MAX_PCI_DEVICES;
+int xf86MaxPciDevs = 0;
 
 /*
  * Platform specific PCI function pointers.
@@ -271,6 +271,11 @@
 	if (pciNumBuses <= 0)
 	    ARCH_PCI_OS_INIT();
 #endif
+	if (xf86MaxPciDevs == 0)
+	    xf86MaxPciDevs = MAX_PCI_DEVICES; /* XXX bogus */
+	if (pci_devp)
+	    xfree(pci_devp);
+	pci_devp = xnfcalloc(xf86MaxPciDevs + 1, sizeof(pciConfigPtr));
 }
 
 void pciSetOSBIOSPtr(int (*bios_fn)(PCITAG Tag, int basereg, unsigned char * buf, int len))
@@ -913,7 +918,7 @@
      * result in an endless recursion if platform/OS specific PCI
      * bus probing code calls this function from with in it.
      */
-    if (done || pci_devp[0])
+    if (done || pci_devp)
 	return pci_devp;
 
     done = TRUE;

xserver-1.3.0-rom-search.patch:
 linuxPci.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE xserver-1.3.0-rom-search.patch ---
--- xorg-server-1.2.99.905/hw/xfree86/os-support/bus/linuxPci.c.jx	2007-04-09 16:15:43.000000000 -0400
+++ xorg-server-1.2.99.905/hw/xfree86/os-support/bus/linuxPci.c	2007-04-09 17:37:28.000000000 -0400
@@ -778,8 +778,8 @@
     bus  = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag));
     dev  = PCI_DEV_FROM_TAG(Tag);
     func = PCI_FUNC_FROM_TAG(Tag);
-    sprintf(file, "/sys/devices/pci%04x:%02x/%04x:%02x:%02x.%1x/rom",
-	    dom, bus, dom, bus, dev, func);
+    sprintf(file, "/sys/bus/pci/devices/%04x:%02x:%02x.%1x/rom",
+	    dom, bus, dev, func);
 
     /*
      * If the caller wants the ROM and the sysfs rom interface exists,

xserver-1.3.0-xnest-exposures.patch:
 Events.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

--- NEW FILE xserver-1.3.0-xnest-exposures.patch ---
--- xorg-server-1.2.99.905/hw/xnest/Events.c.jx	2007-01-31 19:55:51.000000000 -0500
+++ xorg-server-1.2.99.905/hw/xnest/Events.c	2007-04-09 18:42:51.000000000 -0400
@@ -85,7 +85,7 @@
   while (XCheckIfEvent(xnestDisplay, &X, xnestExposurePredicate, NULL)) {
     pWin = xnestWindowPtr(X.xexpose.window);
     
-    if (pWin) {
+    if (pWin && X.xexpose.width && X.xexpose.height) {
       Box.x1 = pWin->drawable.x + wBorderWidth(pWin) + X.xexpose.x;
       Box.y1 = pWin->drawable.y + wBorderWidth(pWin) + X.xexpose.y;
       Box.x2 = Box.x1 + X.xexpose.width;
@@ -93,7 +93,7 @@
       
       REGION_INIT(pWin->drawable.pScreen, &Rgn, &Box, 1);
       
-      miWindowExposures(pWin, &Rgn, NullRegion); 
+      miSendExposures(pWin, &Rgn, Box.x2, Box.y2);
     }
   }
 }


Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.216
retrieving revision 1.217
diff -u -r1.216 -r1.217
--- xorg-x11-server.spec	6 Apr 2007 18:07:34 -0000	1.216
+++ xorg-x11-server.spec	9 Apr 2007 23:09:52 -0000	1.217
@@ -9,7 +9,7 @@
 Summary:   X.Org X11 X server
 Name:      xorg-x11-server
 Version:   1.2.99.905
-Release:   1%{?dist}
+Release:   2%{?dist}
 URL:       http://www.x.org
 License:   MIT/X11
 Group:     User Interface/X
@@ -28,7 +28,7 @@
 Patch12:   xorg-x11-server-1.1.1-graphics-expose.patch
 Patch15:   xorg-x11-server-1.1.1-automake-1.10-fixes.patch
 Patch18:   xorg-x11-server-1.1.1-glcore-visual-matching.patch
-Patch19:   xorg-x11-server-1.2.99-unbreak-domain.patch
+Patch19:   xserver-1.3.0-xnest-exposures.patch
 
 # OpenGL compositing manager feature/optimization patches.
 Patch100:  xorg-x11-server-1.1.0-no-move-damage.patch
@@ -36,6 +36,7 @@
 Patch105:  xorg-x11-server-1.2.0-enable-composite.patch
 Patch106:  xorg-x11-server-1.1.1-no-composite-in-xnest.patch
 Patch107:  xorg-x11-server-1.1.1-offscreen-pixmaps.patch
+Patch108:  xserver-1.3.0-no-pseudocolor-composite.patch
 
 # Red Hat specific tweaking, not intended for upstream
 # XXX move these to the end of the list
@@ -55,6 +56,12 @@
 Patch2004:  xserver-1.2.0-honor-displaysize.patch
 Patch2005:  xserver-1.2.99.901-xephyr-crash-at-exit.patch
 
+# assorted PCI layer shenanigans.  oh the pain.
+Patch2500:  xorg-x11-server-1.2.99-unbreak-domain.patch
+Patch2501:  xserver-1.3.0-pci-bus-count.patch
+Patch2502:  xserver-1.3.0-mmap-failure-check.patch
+Patch2503:  xserver-1.3.0-rom-search.patch
+
 %define moduledir	%{_libdir}/xorg/modules
 %define drimoduledir	%{_libdir}/dri
 %define sdkdir		%{_includedir}/xorg
@@ -253,13 +260,14 @@
 %patch12 -p1 -b .graphics-expose
 %patch15 -p1 -b .automake-1.10
 %patch18 -p1 -b .glcore-visual
-%patch19 -p1 -b .unbreak-domains
+%patch19 -p1 -b .xnest-expose
 
 %patch100 -p0 -b .no-move-damage
 %patch101 -p0 -b .dont-backfill-bg-none
 %patch105 -p1 -b .enable-composite
 %patch106 -p1 -b .no-xnest-composite
 %patch107 -p1 -b .offscreen-pixmaps
+%patch108 -p1 -b .composite-paranoia
 
 %patch1001 -p1 -b .Red-Hat-extramodes
 %patch1002 -p1 -b .xephyr
@@ -277,9 +285,13 @@
 %patch2004 -p1 -b .displaysize
 %patch2005 -p1 -b .xephyr-crash
 
+%patch2500 -p1 -b .unbreak-domains
+%patch2501 -p1 -b .pci-bus-count
+%patch2502 -p1 -b .mmap-check
+%patch2503 -p1 -b .rom-search
+
 %build
 
-# --disable-dependency-tracking ?
 # --with-rgb-path should be superfluous now ?
 # --with-pie ?
 aclocal ; automake -a ; autoconf
@@ -323,14 +335,12 @@
 
 # Install the vesamodes and extramodes files to let our install/config tools
 # be able to parse the same modelist as the X server uses (rhpxl).
-{
-    mkdir -p $RPM_BUILD_ROOT%{_datadir}/xorg
-    for each in vesamodes extramodes ; do
-        install -m 0644 %{SOURCE100} $RPM_BUILD_ROOT%{_datadir}/xorg/$each
-        cat hw/xfree86/common/$each >> $RPM_BUILD_ROOT%{_datadir}/xorg/$each
-        chmod 0444 $RPM_BUILD_ROOT%{_datadir}/xorg/$each
-    done
-}
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/xorg
+for each in vesamodes extramodes ; do
+    install -m 0644 %{SOURCE100} $RPM_BUILD_ROOT%{_datadir}/xorg/$each
+    cat hw/xfree86/common/$each >> $RPM_BUILD_ROOT%{_datadir}/xorg/$each
+    chmod 0444 $RPM_BUILD_ROOT%{_datadir}/xorg/$each
+done
 %endif
 
 # Make the source package
@@ -359,19 +369,18 @@
     rm -f $RPM_BUILD_ROOT%{_bindir}/out?
     rm -f $RPM_BUILD_ROOT%{_bindir}/pcitweak
     rm -f $RPM_BUILD_ROOT%{_mandir}/man1/pcitweak.1*
-    # Remove all libtool archives (*.la)
     find $RPM_BUILD_ROOT -type f -name '*.la' | xargs rm -f -- || :
 
 %ifarch s390 s390x
     # FIXME: The following files get installed on s390/s390x and we don't
     # want some of them on s390 at all, and others should be in a -common
     # subpackage, but it's not worth doing that for 3 files right now.
-#    error: Installed (but unpackaged) file(s) found:
-#	   /randrstr.h
-#	   /usr/lib/pkgconfig/xorg-server.pc
-#	      /usr/share/aclocal/xorg-server.m4
-#	      /usr/share/man/man1/Xserver.1x.gz
-#	      /var/lib/xkb/README.compiled
+    # error: Installed (but unpackaged) file(s) found:
+    #	   /randrstr.h
+    #	   /usr/lib/pkgconfig/xorg-server.pc
+    #	      /usr/share/aclocal/xorg-server.m4
+    #	      /usr/share/man/man1/Xserver.1x.gz
+    #	      /var/lib/xkb/README.compiled
 
     rm -f $RPM_BUILD_ROOT/randrstr.h
     rm -rf $RPM_BUILD_ROOT%{_libdir}/pkgconfig
@@ -386,15 +395,7 @@
 %if %{with_hw_servers}
 %pre Xorg
 {
-  # Install/Upgrade section
   pushd /etc/X11
-  # Migrate any pre-existing XFree86 4.x config file to xorg.conf if it
-  # doesn't already exist, and rename any remaining XFree86 4.x config files
-  # to have .obsoleted file extensions, to help avoid end user confusion for
-  # people unaware of the config file name change between server
-  # implementations, and avoid bug reports.  If this turns out to confuse
-  # users, I can modify it to add comments to the top of the obsoleted files
-  # to point users to xorg.conf   <mharris at redhat.com>
   for configfile in XF86Config XF86Config-4 ; do
     if [ -r $configfile ]; then
       if [ -r xorg.conf ]; then
@@ -404,30 +405,14 @@
       fi
     fi
   done
-  # Massage pre-existing config files to work properly with X.org X11
-  # - Remove xie and pex5 modules from the config files, as they are long
-  #   since obsolete, and not provided since XFree86 4.2.0
-  # - Remove Option "XkbRules" "xfree86" to help work around upgrade problems
-  #   such as https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=120858
-#  for configfile in xorg.conf ; do
-    configfile="xorg.conf"
-    OLD_MODULEPATH="/usr/X11R6/lib/modules"
-    if [ -r $configfile -a -w $configfile ]; then
-      # Remove module load lines from the config file for obsolete modules
-      perl -p -i -e 's/^.*Load.*"(pex5|xie|xtt).*\n$"//gi' $configfile
-      # Change the keyboard configuration from the deprecated "keyboard"
-      # driver, to the newer "kbd" driver.
-      perl -p -i -e 's/^\s*Driver(.*)"keyboard"/Driver\1"kbd"/gi' $configfile
-      # Remove any Options "XkbRules" lines that may be present
-      perl -p -i -e 's/^.*Option.*"XkbRules".*"(xfree86|xorg)".*\n$//gi' $configfile
-      # Remove RgbPath specifications from the config file as they are
-      # unnecessary, and break upgrades from monolithic to modular X.
-      # Fixes bugs (#173036, 173435, 173453, 173428)
-      perl -p -i -e 's#^\s*RgbPath.*$##gi' $configfile
-      # If ModulePath is specified in the config file, delete it.
-      perl -p -i -e 's#^\s*ModulePath.*$##gi' $configfile
-    fi
-#  done
+  configfile="xorg.conf"
+  if [ -r xorg.conf -a -w xorg.conf ]; then
+    perl -p -i -e 's/^.*Load.*"(pex5|xie|xtt).*\n$"//gi' xorg.conf
+    perl -p -i -e 's/^\s*Driver(.*)"keyboard"/Driver\1"kbd"/gi' xorg.conf
+    perl -p -i -e 's/^.*Option.*"XkbRules".*"(xfree86|xorg)".*\n$//gi' xorg.conf
+    perl -p -i -e 's#^\s*RgbPath.*$##gi' xorg.conf
+    perl -p -i -e 's#^\s*ModulePath.*$##gi' xorg.conf
+  fi
   popd
 } &> /dev/null || :
 %endif
@@ -562,6 +547,19 @@
 
 
 %changelog
+* Mon Apr 09 2007 Adam Jackson <ajax at redhat.com> 1.2.99.905-2
+- xserver-1.3.0-pci-bus-count.patch: Allocate the PCI bus array dynamically,
+  so as not to run off the end of it.
+- xserver-1.3.0-mmap-failure-check.patch: Check for failure when mmap'ing
+  bus memory. (#234073)
+- xserver-1.3.0-rom-search.patch: Look for the sysfs ROM file in the (flat)
+  /sys/bus/pci/devices tree, instead of the (bus-topological) /sys/devices,
+  so we don't fail to find ROMs merely because they're behind a bridge.
+- xserver-1.3.0-no-pseudocolor-composite.patch: Refuse to initialize
+  Composite when Render is missing or when the root window is using
+  a pseudocolor visual. (#217388)
+- xserver-1.3.0-xnest-exposures.patch: Fix Motif app redraw in Xnest. (#229350)
+
 * Fri Apr 06 2007 Adam Jackson <ajax at redhat.com> 1.2.99.905-1
 - xserver 1.3 RC5.
 




More information about the fedora-cvs-commits mailing list