
Hello community, here is the log from the commit of package xorg-x11 checked in at Fri May 26 15:33:42 CEST 2006. -------- --- xorg-x11/xorg-x11.changes 2006-05-19 12:48:31.000000000 +0200 +++ xorg-x11/xorg-x11.changes 2006-05-25 20:56:49.000000000 +0200 @@ -1,0 +2,12 @@ +Mon May 22 23:15:23 CEST 2006 - sndirsch@suse.de + +- p_xlib_skip_ext_env.diff: + * added support for disabling extensions through environment + variables (Bug #167317) +- no longer remove NVIDIA installer in %pre of xorg-x11-server-glx, + since it's no longer conflicting with the NVIDIA driver package + (Bug #175683) +- make sure that /usr/X11R6/lib/X11/fonts/misc/fonts.dir is not + empty (Bug #178315) + +------------------------------------------------------------------- New: ---- p_xlib_skip_ext_env.diff pc_xf86-pci.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11.spec ++++++ --- /var/tmp/diff_new_pack.aqnlNN/_old 2006-05-26 15:30:54.000000000 +0200 +++ /var/tmp/diff_new_pack.aqnlNN/_new 2006-05-26 15:30:54.000000000 +0200 @@ -40,7 +40,7 @@ %endif Autoreqprov: on Version: 6.9.0 -Release: 52 +Release: 53 Summary: The basic X Window System package Source: xorg-6.9.0.tar.bz2 Source1: xdm.tar.gz @@ -122,6 +122,8 @@ Patch363: p_xrender-mitri.diff Patch364: p_pci-legacy-mmap.diff Patch365: p_xorg-fbcompose-radek2.diff +Patch366: pc_xf86-pci.diff +Patch367: p_xlib_skip_ext_env.diff Patch400: p_bug96328.diff BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -1556,6 +1558,11 @@ %endif pushd programs/Xserver/ %patch365 -p0 +# needs to be rewritten first +#%patch366 -p0 +popd +pushd lib/X11 +%patch367 -p0 popd # UTS_RELEASE=`uname -r` @@ -1716,6 +1723,8 @@ make install DESTDIR=$RPM_BUILD_ROOT make install.man DESTDIR=$RPM_BUILD_ROOT make install.sdk DESTDIR=$RPM_BUILD_ROOT +# make sure that fonts.dir is not empty (Bug #178315) +test -s $RPM_BUILD_ROOT/usr/X11R6/lib/X11/fonts/misc/fonts.dir # build libxf86config also for s390/s390x (Bug #145823) %ifarch s390 s390x make -C programs/Xserver/hw/xfree86/parser install DESTDIR=$RPM_BUILD_ROOT @@ -2147,12 +2156,6 @@ fi exit 0 %ifarch %ix86 x86_64 - -%pre server-glx -# nvidia driver might be installed; uninstall it cleanly -test -x usr/bin/nvidia-installer && \ - usr/bin/nvidia-installer -s --uninstall &> /dev/null -exit 0 %if !%{USE_EXTERNAL_MESA} %pre Mesa @@ -2713,6 +2716,15 @@ %clean %changelog -n xorg-x11 +* Mon May 22 2006 - sndirsch@suse.de +- p_xlib_skip_ext_env.diff: + * added support for disabling extensions through environment + variables (Bug #167317) +- no longer remove NVIDIA installer in %%pre of xorg-x11-server-glx, + since it's no longer conflicting with the NVIDIA driver package + (Bug #175683) +- make sure that /usr/X11R6/lib/X11/fonts/misc/fonts.dir is not + empty (Bug #178315) * Fri May 19 2006 - sndirsch@suse.de - /etc/X11/xdm/Xsetup: * start compiz on gdm when GLX_EXT_texture_from_pixmap is ++++++ FILES ++++++ --- xorg-x11/FILES 2006-05-11 14:47:26.000000000 +0200 +++ xorg-x11/FILES 2006-05-22 23:24:27.000000000 +0200 @@ -171,3 +171,9 @@ - fixes massive Xrender corruption (Bug #152730, X.Org Bug #6827) p_xrender-mitri.diff [KEEP?] - fixed buffer overflow in Xrender (CVE-2006-1526, Bug #168712) +pc_xf86-pci.diff [KEEP?] +- fixes crashes and hangs on dual-card systems (Bug #171453, + X.Org Bug #6751) +p_xlib_skip_ext_env.diff [KEEP?] +- added support for disabling extensions through environment + variables (Bug #167317) ++++++ p_xlib_skip_ext_env.diff ++++++ --- QuExt.c 2006-05-12 20:46:51.000000000 +0200 +++ QuExt.c 2006-05-20 21:07:13.000000000 +0200 @@ -43,6 +43,20 @@ xQueryExtensionReply rep; register xQueryExtensionReq *req; + if (name && strlen (name) < 256) + { + char var[256 + 15]; + int i; + + strcpy (var, "XLIB_SKIP_EXT_"); + for (i = 0; name[i]; i++) + var[i + 14] = name[i] == '-' ? '_' : name[i]; + + var[i + 14] = 0; + if (getenv (var)) + return False; + } + LockDisplay(dpy); GetReq(QueryExtension, req); req->nbytes = name ? strlen(name) : 0; ++++++ pc_xf86-pci.diff ++++++ --- hw/xfree86/os-support/bus/Pci.c.orig 2006-05-23 11:26:01.000000000 +0200 +++ hw/xfree86/os-support/bus/Pci.c 2006-05-23 11:37:57.000000000 +0200 @@ -233,6 +233,8 @@ static pciConfigPtr pci_devp[MAX_PCI_DEVICES + 1] = {NULL, }; +static int (*pciOSHandleBIOS)(PCITAG Tag, int basereg, unsigned char *buf, int len); + /* * Platform specific PCI function pointers. * @@ -266,6 +268,11 @@ #endif } +void pciSetOSBIOSPtr(int (*bios_fn)(PCITAG Tag, int basereg, unsigned char * buf, int len)) +{ + pciOSHandleBIOS = bios_fn; +} + PCITAG pciFindFirst(CARD32 id, CARD32 mask) { @@ -1376,6 +1383,13 @@ PCITAG *pTag; int i; + /* fall back to the old code if the OS code fails */ + if (pciOSHandleBIOS) { + n = pciOSHandleBIOS(Tag, basereg, func, ptr); + if (n) + return n; + } + n = handlePciBIOS(Tag,basereg,func,ptr); if (n) return n; --- hw/xfree86/os-support/bus/Pci.h.orig 2006-05-23 11:26:01.000000000 +0200 +++ hw/xfree86/os-support/bus/Pci.h 2006-05-23 11:26:01.000000000 +0200 @@ -431,6 +431,7 @@ Bool pciMfDev(int, int); ADDRESS pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS); +extern void pciSetOSBIOSPtr(int (*bios_fn)(PCITAG Tag, int basereg, unsigned char * buf, int len)); extern PCITAG (*pciFindFirstFP)(void); extern PCITAG (*pciFindNextFP)(void); --- hw/xfree86/os-support/bus/linuxPci.c.orig 2006-05-23 11:26:01.000000000 +0200 +++ hw/xfree86/os-support/bus/linuxPci.c 2006-05-23 12:01:26.000000000 +0200 @@ -74,6 +74,7 @@ static void linuxPciCfgWriteByte(PCITAG tag, int off, CARD8 val); static CARD16 linuxPciCfgReadWord(PCITAG tag, int off); static void linuxPciCfgWriteWord(PCITAG tag, int off, CARD16 val); +static int linuxPciHandleBIOS(PCITAG Tag, int basereg, unsigned char *buf, int len); static Bool linuxDomainSupport(void); static pciBusFuncs_t linuxFuncs0 = { @@ -133,6 +134,7 @@ pciBusInfo[0] = &linuxPci0; pciFindFirstFP = pciGenFindFirst; pciFindNextFP = pciGenFindNext; + pciSetOSBIOSPtr(linuxPciHandleBIOS); return; } @@ -943,6 +945,47 @@ #endif /* !INCLUDE_XF86_NO_DOMAIN */ +int linuxPciHandleBIOS(PCITAG Tag, int basereg, unsigned char *buf, int len) +{ + unsigned int dom, bus, dev, func; + unsigned int fd; + char file[256]; + struct stat st; + int ret; + int sofar = 0; + + dom = PCI_DOM_FROM_TAG(Tag); + bus = PCI_BUS_FROM_TAG(Tag); + dev = PCI_DEV_FROM_TAG(Tag); + func = PCI_FUNC_FROM_TAG(Tag); + sprintf(file, "/sys/bus/pci/devices/%04x:%02x:%02x.%1x/rom", + dom, bus, dev, func); + + if (stat(file, &st) == 0) + { + if ((fd = open(file, O_RDWR))) + basereg = 0x0; + + /* enable the ROM first */ + write(fd, "1", 2); + lseek(fd, 0, SEEK_SET); + do { + /* copy the ROM until we hit Len, EOF or read error */ + ret = read(fd, buf+sofar, len-sofar); + if (ret <= 0) + break; + sofar += ret; + } while (sofar < len); + + write(fd, "0", 2); + close(fd); + if (sofar < len) + xf86MsgVerb(X_INFO, 3, "Attempted to read BIOS %dKB from %s: got %dKB\n", len/1024, file, sofar/1024); + return sofar; + } + return 0; +} + #ifdef __ia64__ static PCITAG ia64linuxPciFindFirst(void); static PCITAG ia64linuxPciFindNext(void); ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun...
participants (1)
-
root@suse.de