1
0
OBS User unknown 2007-10-03 15:06:04 +00:00 committed by Git OBS Bridge
parent 008c66fbe7
commit 1edb41d659
5 changed files with 127 additions and 11 deletions

46
ia64Pci.h Normal file
View File

@ -0,0 +1,46 @@
/*
* Copyright 2004, Egbert Eich
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to
* deal in the Software without restriction, including without limitation the
* rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
* sell copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
* EGBERT EICH BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CON-
* NECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* Except as contained in this notice, the name of Egbert Eich shall not
* be used in advertising or otherwise to promote the sale, use or other deal-
*ings in this Software without prior written authorization from Egbert Eich.
*
*/
#ifdef HAVE_XORG_CONFIG_H
#include <xorg-config.h>
#endif
#ifndef _IA64_PCI_H
# define _IA64_PCI_H
#include "Pci.h"
typedef enum {
NONE_CHIPSET,
I460GX_CHIPSET,
E8870_CHIPSET,
ZX1_CHIPSET,
ALTIX_CHIPSET
} IA64Chipset;
# ifdef OS_PROBE_PCI_CHIPSET
extern IA64Chipset OS_PROBE_PCI_CHIPSET(scanpciWrapperOpt flags);
# endif
#endif

View File

@ -1,7 +1,7 @@
--- hw/xfree86/os-support/bus/linuxPci.c
+++ hw/xfree86/os-support/bus/linuxPci.c
@@ -550,7 +550,7 @@ xf86GetPciDomain(PCITAG Tag)
return result;
--- hw/xfree86/os-support/bus/linuxPci.c.orig 2007-08-23 21:04:53.000000000 +0200
+++ hw/xfree86/os-support/bus/linuxPci.c 2007-10-03 13:31:32.647167750 +0200
@@ -547,7 +547,7 @@ xf86GetPciDomain(PCITAG Tag)
return result + 1;
if (!pPCI || pPCI->fakeDevice)
- return 1; /* Domain 0 is reserved */
@ -9,7 +9,7 @@
if ((fd = linuxPciOpenFile(pPCI ? pPCI->tag : 0,FALSE)) < 0)
return 0;
@@ -558,7 +558,7 @@ xf86GetPciDomain(PCITAG Tag)
@@ -555,7 +555,7 @@ xf86GetPciDomain(PCITAG Tag)
if ((result = ioctl(fd, PCIIOC_CONTROLLER, 0)) < 0)
return 0;
@ -18,7 +18,7 @@
}
static pointer
@@ -628,7 +628,7 @@ linuxMapPci(int ScreenNum, int Flags, PC
@@ -626,7 +626,7 @@ linuxMapPci(int ScreenNum, int Flags, PC
return NULL;
}
@ -27,7 +27,7 @@
static pointer DomainMmappedIO[MAX_DOMAINS];
static int
@@ -649,11 +649,10 @@ linuxOpenLegacy(PCITAG Tag, char *name)
@@ -647,11 +647,10 @@ linuxOpenLegacy(PCITAG Tag, char *name)
domain = xf86GetPciDomain(Tag);
bus = PCI_BUS_NO_DOMAIN(PCI_BUS_FROM_TAG(Tag));
@ -41,15 +41,15 @@
fd = open(path, O_RDWR);
if (fd >= 0) {
xfree(path);
@@ -685,7 +684,6 @@ _X_EXPORT pointer
@@ -683,7 +682,6 @@ _X_EXPORT pointer
xf86MapDomainMemory(int ScreenNum, int Flags, PCITAG Tag,
ADDRESS Base, unsigned long Size)
{
- int domain = xf86GetPciDomain(Tag);
int fd;
int fd = -1;
pointer addr;
@@ -733,7 +731,7 @@ xf86MapDomainIO(int ScreenNum, int Flags
@@ -731,7 +729,7 @@ xf86MapDomainIO(int ScreenNum, int Flags
int domain = xf86GetPciDomain(Tag);
int fd;

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Wed Oct 3 14:55:42 CEST 2007 - sndirsch@suse.de
- xserver-1.3.0-xkb-and-loathing.patch
* Ignore (not just block) SIGALRM around calls to Popen()/Pclose().
Fixes a hang in openoffice when opening menus. (Bug #245711)
-------------------------------------------------------------------
Wed Oct 3 14:12:03 CEST 2007 - sndirsch@suse.de
- added missing ia64Pci.h; required for IA64
-------------------------------------------------------------------
Wed Oct 3 13:41:42 CEST 2007 - sndirsch@suse.de
- recreated p_pci-off-by-one.diff.ia64; the default fuzz factor of
patch (2) resulted in a hunk applied to the wrong function and
therefore broke the build :-(
-------------------------------------------------------------------
Sat Sep 29 00:51:38 CEST 2007 - sndirsch@suse.de

View File

@ -21,7 +21,7 @@ BuildRequires: libjpeg-devel
Url: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0
Version: 7.3
Release: 1
Release: 2
License: X11/MIT
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
@ -46,6 +46,7 @@ Source6: 0018-vnc-support.txt.mbox
%endif
Source7: xorg-docs-1.4.tar.bz2
Source8: xorg.conf.man-070818.tar
Source9: ia64Pci.h
Patch: 64bit.diff
Patch1: fpic.diff
Patch2: p_default-module-path.diff
@ -86,6 +87,7 @@ Patch72: randr12-8d230319040f0a7f72231da2bf5ec97dc3612e21.diff
Patch77: fbdevhw.diff
Patch79: edit_data_sanity_check.diff
Patch80: pixman.diff
Patch81: xserver-1.3.0-xkb-and-loathing.patch
Patch334: p_pci-domain.diff
%description
@ -141,6 +143,8 @@ An X Window System server for Virtual Network Computing (VNC).
%endif
%prep
%setup -q -n xorg-server-%{dirsuffix} -b1 -a4 -a7 -a8
test -s hw/xfree86/os-support/shared/ia64Pci.h || \
cp $RPM_SOURCE_DIR/ia64Pci.h hw/xfree86/os-support/shared/ia64Pci.h
# make legal department happy (Bug #204110)
test -f ../Mesa-7.0.1/src/mesa/drivers/directfb/idirectfbgl_mesa.c && exit 1
test -f ../Mesa-7.0.1/progs/ggi/asc-view.c && exit 1
@ -199,6 +203,7 @@ popd
%patch77
%patch79 -p1
%patch80
%patch81 -p1
%build
pushd xorg-docs-*
@ -529,6 +534,16 @@ exit 0
/usr/bin/Xvnc
%endif
%changelog
* Wed Oct 03 2007 - sndirsch@suse.de
- xserver-1.3.0-xkb-and-loathing.patch
* Ignore (not just block) SIGALRM around calls to Popen()/Pclose().
Fixes a hang in openoffice when opening menus. (Bug #245711)
* Wed Oct 03 2007 - sndirsch@suse.de
- added missing ia64Pci.h; required for IA64
* Wed Oct 03 2007 - sndirsch@suse.de
- recreated p_pci-off-by-one.diff.ia64; the default fuzz factor of
patch (2) resulted in a hunk applied to the wrong function and
therefore broke the build :-(
* Sat Sep 29 2007 - sndirsch@suse.de
- xorg-server 1.4
* Welcome to X.Org X Server 1.4, now with hotplugging input to go

View File

@ -0,0 +1,36 @@
--- xorg-server-1.3.0.0/os/utils.c.jx 2007-04-25 13:28:05.000000000 -0400
+++ xorg-server-1.3.0.0/os/utils.c 2007-04-30 14:33:04.000000000 -0400
@@ -1725,6 +1725,8 @@
int pid;
} *pidlist;
+static sighandler_t old_alarm = NULL; /* XXX horrible awful hack */
+
pointer
Popen(char *command, char *type)
{
@@ -1746,11 +1748,15 @@
return NULL;
}
+ /* Ignore the smart scheduler while this is going on */
+ old_alarm = signal(SIGALRM, SIG_IGN);
+
switch (pid = fork()) {
case -1: /* error */
close(pdes[0]);
close(pdes[1]);
xfree(cur);
+ signal(SIGALRM, old_alarm);
return NULL;
case 0: /* child */
if (setgid(getgid()) == -1)
@@ -1926,6 +1932,8 @@
/* allow EINTR again */
OsReleaseSignals ();
+ signal(SIGALRM, old_alarm);
+
return pid == -1 ? -1 : pstat;
}