rpms/xorg-x11-server/devel xorg-x11-server-0.99.3-init-origins-fix.patch, NONE, 1.1 xorg-x11-server.spec, 1.21, 1.22
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Nov 17 15:51:08 UTC 2005
Author: mharris
Update of /cvs/dist/rpms/xorg-x11-server/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv8917
Modified Files:
xorg-x11-server.spec
Added Files:
xorg-x11-server-0.99.3-init-origins-fix.patch
Log Message:
* Thu Nov 17 2005 Mike A. Harris <mharris at redhat.com> 0.99.2-6
- Add the missing rpm pre script from monolithic xorg-x11 packaging,
clean it up a bit, reorder it for slight performance gain.
- Add some perl magic to pre script to remove RgbPath from xorg.conf,
in order to fix bug (#173036, 173435, 173453, 173428)
- Add more perl magic to pre script to update ModulePath to the new
location if it is specified in xorg.conf.
- Added xorg-x11-server-0.99.3-init-origins-fix.patch ported from monolithic
xorg-x11 package to fix Xinerama bug.
xorg-x11-server-0.99.3-init-origins-fix.patch:
xf86Cursor.c | 8 ++++++++
1 files changed, 8 insertions(+)
--- NEW FILE xorg-x11-server-0.99.3-init-origins-fix.patch ---
Patch by krh at redhat.com:
In a multihead setup, if only the first screen can be
initialized, but the second screen is mentioned first in the
ServerLayout section, the xf86InitOrigins() function will crash
because the screen referred to in the e.g. "RightOf" part is
non-existent.
--- hw/xfree86/common/xf86Cursor.c.init-origins-fix 2004-10-18 22:22:42.675899006 -0400
+++ hw/xfree86/common/xf86Cursor.c 2004-10-18 22:21:42.540867549 -0400
@@ -566,6 +566,14 @@
screen = &xf86ConfigLayout.screens[i];
+ if (screen->refscreen != NULL &&
+ screen->refscreen->screennum >= xf86NumScreens) {
+ screensLeft &= ~(1 << i);
+ xf86Msg(X_WARNING, "Not including screen \"%s\" in origins calculation.\n",
+ screen->screen->id);
+ continue;
+ }
+
switch(screen->where) {
case PosObsolete:
OldStyleConfig = TRUE;
Index: xorg-x11-server.spec
===================================================================
RCS file: /cvs/dist/rpms/xorg-x11-server/devel/xorg-x11-server.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- xorg-x11-server.spec 15 Nov 2005 08:49:01 -0000 1.21
+++ xorg-x11-server.spec 17 Nov 2005 15:51:06 -0000 1.22
@@ -1,15 +1,17 @@
+#!/bin/bash
%define pkgname xorg-server
%define cvsdate xxxxxxxxxxx
Summary: X.Org X11 X server
Name: xorg-x11-server
Version: 0.99.3
-Release: 5
+Release: 6
URL: http://www.x.org
-Source0: http://xorg.freedesktop.org/releases/X11R7.0-RC2/everything/%{pkgname}-%{version}.tar.bz2
License: MIT/X11
Group: User Interface/X
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Source0: http://xorg.freedesktop.org/releases/X11R7.0-RC2/everything/%{pkgname}-%{version}.tar.bz2
+Patch0: xorg-x11-server-0.99.3-init-origins-fix.patch
# INFO: We don't ship the X server on s390/s390x/ppc64
ExcludeArch: s390 s390x ppc64
@@ -28,6 +30,8 @@
# NOTE: The developer utils are intended for low level video driver hackers,
# doing low level bit twiddling, who really know what they are doing, and are
# disabled by default, as they are not generally useful to end users.
+# FIXME: Reconfigure the spec file to put them in a separate subpackage, so
+# I can build one build with them enabled, install them, then disable it again.
%define with_developer_utils 0
%ifarch %{ix86} x86_64 ppc ia64
@@ -188,6 +192,7 @@
%prep
%setup -q -n %{pkgname}-%{version}
+%patch0 -p0 -b .init-origins-fix
%build
%configure %{xservers} \
@@ -262,6 +267,65 @@
rm -rf $RPM_BUILD_ROOT
+
+%pre Xorg
+{
+ 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 congig 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
+ mv -f $configfile $configfile.obsoleted
+ else
+ mv -f $configfile xorg.conf
+ 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"
+ 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, check for the old
+ # monolithic module path, and replace it with the new one.
+ perl -p -i -e 'm#^\s*ModulePath.*"/usr/X11R6/lib/modules".*$#; s#/usr/X11R6/lib/modules#%{moduledir}#' $configfile
+ fi
+# done
+ popd
+
+# FIXME: I don't think this is needed anymore. We'll block it for now and see what breaks.
+%if 0
+ # Do this for upgrades or installs
+ XKB_DIR=%{_x11datadir}/X11/xkb/compiled
+ if [ ! -L $XKB_DIR -a -d $XKB_DIR ]; then
+ mkdir -p /var/lib/xkb
+ mv -f $XKB_DIR /var/lib/xkb/
+ ln -sf ../../../../../var/lib/xkb $XKB_DIR
+ fi
+%endif
+} &> /dev/null || :
+
+
# ----- Xorg --------------------------------------------------------
%files Xorg
@@ -412,8 +476,18 @@
# -------------------------------------------------------------------
%changelog
+* Thu Nov 17 2005 Mike A. Harris <mharris at redhat.com> 0.99.2-6
+- Add the missing rpm pre script from monolithic xorg-x11 packaging,
+ clean it up a bit, reorder it for slight performance gain.
+- Add some perl magic to pre script to remove RgbPath from xorg.conf,
+ in order to fix bug (#173036, 173435, 173453, 173428)
+- Add more perl magic to pre script to update ModulePath to the new
+ location if it is specified in xorg.conf.
+- Added xorg-x11-server-0.99.3-init-origins-fix.patch ported from monolithic
+ xorg-x11 package to fix Xinerama bug.
+
* Mon Nov 14 2005 Jeremy Katz <katzj at redhat.com> - 0.99.3-5
-- xserver should be suid for users to be able to run startx (#173064)
+- Xorg server should be suid for users to be able to run startx (#173064)
* Mon Nov 14 2005 Mike A. Harris <mharris at redhat.com> 0.99.2-4
- Added temporary "BuildRequires: libXfont-devel >= 0.99.2-3" and
More information about the fedora-cvs-commits
mailing list