diff --git a/moblin-xserver-no-root-2.patch b/moblin-xserver-no-root-2.patch deleted file mode 100644 index 73091aa..0000000 --- a/moblin-xserver-no-root-2.patch +++ /dev/null @@ -1,105 +0,0 @@ -Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c -=================================================================== ---- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_init.c -+++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c -@@ -49,6 +49,7 @@ static Bool KeepTty = FALSE; - static int VTnum = -1; - static Bool VTSwitch = TRUE; - static Bool ShareVTs = FALSE; -+Bool NoHwAccess = FALSE; - static int activeVT = -1; - - static int vtPermSave[4]; -@@ -80,9 +81,11 @@ saveVtPerms(void) - static void - restoreVtPerms(void) - { -- /* Set the terminal permissions back to before we started. */ -- chown("/dev/tty0", vtPermSave[0], vtPermSave[1]); -- chown(vtname, vtPermSave[2], vtPermSave[3]); -+ if (geteuid() == 0) { -+ /* Set the terminal permissions back to before we started. */ -+ (void)chown("/dev/tty0", vtPermSave[0], vtPermSave[1]); -+ (void)chown(vtname, vtPermSave[2], vtPermSave[3]); -+ } - } - - static void *console_handler; -@@ -210,20 +213,22 @@ xf86OpenConsole(void) - xf86Msg(X_WARNING, - "xf86OpenConsole: Could not save ownership of VT\n"); - -- /* change ownership of the vt */ -- if (chown(vtname, getuid(), getgid()) < 0) -- xf86Msg(X_WARNING,"xf86OpenConsole: chown %s failed: %s\n", -- vtname, strerror(errno)); -- -- /* -- * the current VT device we're running on is not "console", we want -- * to grab all consoles too -- * -- * Why is this needed?? -- */ -- if (chown("/dev/tty0", getuid(), getgid()) < 0) -- xf86Msg(X_WARNING,"xf86OpenConsole: chown /dev/tty0 failed: %s\n", -- strerror(errno)); -+ if (geteuid() == 0) { -+ /* change ownership of the vt */ -+ if (chown(vtname, getuid(), getgid()) < 0) -+ xf86Msg(X_WARNING,"xf86OpenConsole: chown %s failed: %s\n", -+ vtname, strerror(errno)); -+ -+ /* -+ * the current VT device we're running on is not -+ * "console", we want to grab all consoles too -+ * -+ * Why is this needed?? -+ */ -+ if (chown("/dev/tty0", getuid(), getgid()) < 0) -+ xf86Msg(X_WARNING,"xf86OpenConsole: chown /dev/tty0 failed: %s\n", -+ strerror(errno)); -+ } - } - - /* -@@ -434,6 +439,11 @@ xf86ProcessArgument(int argc, char *argv - ShareVTs = TRUE; - return(1); - } -+ if (!strcmp(argv[i], "-nohwaccess")) -+ { -+ NoHwAccess = TRUE; -+ return(1); -+ } - if ((argv[i][0] == 'v') && (argv[i][1] == 't')) - { - if (sscanf(argv[i], "vt%2d", &VTnum) == 0) -@@ -455,5 +465,6 @@ xf86UseMsg() - ErrorF("don't detach controlling tty (for debugging only)\n"); - ErrorF("-novtswitch don't immediately switch to new VT\n"); - ErrorF("-sharevts share VTs with another X server\n"); -+ ErrorF("-nohwaccess don't access hardware ports directly\n"); - return; - } -Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c -=================================================================== ---- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_video.c -+++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c -@@ -51,6 +51,7 @@ - #define MAP_FAILED ((void *)-1) - #endif - -+extern Bool NoHwAccess; - static Bool ExtendedEnabled = FALSE; - - #ifdef __ia64__ -@@ -509,6 +510,9 @@ xf86EnableIO(void) - int fd; - unsigned int ioBase_phys; - #endif -+ /* Fake it... */ -+ if (NoHwAccess) -+ return TRUE; - - if (ExtendedEnabled) - return TRUE; diff --git a/pio_ia64.diff b/pio_ia64.diff new file mode 100644 index 0000000..8601143 --- /dev/null +++ b/pio_ia64.diff @@ -0,0 +1,87 @@ +Index: xorg-server-1.8.0/hw/xfree86/common/compiler.h +=================================================================== +--- xorg-server-1.8.0.orig/hw/xfree86/common/compiler.h ++++ xorg-server-1.8.0/hw/xfree86/common/compiler.h +@@ -409,12 +409,18 @@ extern _X_EXPORT unsigned int inl(unsign + # undef inb + # undef inw + # undef inl +-extern _X_EXPORT void outb(unsigned long port, unsigned char val); +-extern _X_EXPORT void outw(unsigned long port, unsigned short val); +-extern _X_EXPORT void outl(unsigned long port, unsigned int val); +-extern _X_EXPORT unsigned int inb(unsigned long port); +-extern _X_EXPORT unsigned int inw(unsigned long port); +-extern _X_EXPORT unsigned int inl(unsigned long port); ++#define outb(p,v) outb_ia64(p,v) ++#define outw(p,v) outw_ia64(p,v) ++#define outl(p,v) outl_ia64(p,v) ++#define inb(p) inb_ia64(p) ++#define inw(p) inw_ia64(p) ++#define inl(p) inl_ia64(p) ++extern _X_EXPORT void outb_ia64(unsigned long port, unsigned char val); ++extern _X_EXPORT void outw_ia64(unsigned long port, unsigned short val); ++extern _X_EXPORT void outl_ia64(unsigned long port, unsigned int val); ++extern _X_EXPORT unsigned int inb_ia64(unsigned long port); ++extern _X_EXPORT unsigned int inw_ia64(unsigned long port); ++extern _X_EXPORT unsigned int inl_ia64(unsigned long port); + + # elif (defined(linux) || defined(__FreeBSD__)) && defined(__amd64__) + +Index: xorg-server-1.8.0/hw/xfree86/os-support/shared/ia64Pci.c +=================================================================== +--- xorg-server-1.8.0.orig/hw/xfree86/os-support/shared/ia64Pci.c ++++ xorg-server-1.8.0/hw/xfree86/os-support/shared/ia64Pci.c +@@ -60,7 +60,7 @@ static int ia64_port_to_fd(unsigned long + return (port >> 24) & 0xffffffff; + } + +-void outb(unsigned long port, unsigned char val) ++void outb_ia64(unsigned long port, unsigned char val) + { + int fd = ia64_port_to_fd(port); + +@@ -80,7 +80,7 @@ void outb(unsigned long port, unsigned c + return; + } + +-void outw(unsigned long port, unsigned short val) ++void outw_ia64(unsigned long port, unsigned short val) + { + int fd = ia64_port_to_fd(port); + +@@ -100,7 +100,7 @@ void outw(unsigned long port, unsigned s + return; + } + +-void outl(unsigned long port, unsigned int val) ++void outl_ia64(unsigned long port, unsigned int val) + { + int fd = ia64_port_to_fd(port); + +@@ -120,7 +120,7 @@ void outl(unsigned long port, unsigned i + return; + } + +-unsigned int inb(unsigned long port) ++unsigned int inb_ia64(unsigned long port) + { + int fd = ia64_port_to_fd(port); + unsigned char val; +@@ -142,7 +142,7 @@ unsigned int inb(unsigned long port) + return val; + } + +-unsigned int inw(unsigned long port) ++unsigned int inw_ia64(unsigned long port) + { + int fd = ia64_port_to_fd(port); + unsigned short val; +@@ -164,7 +164,7 @@ unsigned int inw(unsigned long port) + return val; + } + +-unsigned int inl(unsigned long port) ++unsigned int inl_ia64(unsigned long port) + { + int fd = ia64_port_to_fd(port); + unsigned int val; diff --git a/sw_cursor_on_randr.patch b/sw_cursor_on_randr.patch new file mode 100644 index 0000000..1a102da --- /dev/null +++ b/sw_cursor_on_randr.patch @@ -0,0 +1,13 @@ +Index: xorg-server-1.8.0/hw/xfree86/modes/xf86Cursors.c +=================================================================== +--- xorg-server-1.8.0.orig/hw/xfree86/modes/xf86Cursors.c ++++ xorg-server-1.8.0/hw/xfree86/modes/xf86Cursors.c +@@ -611,7 +611,7 @@ xf86_reload_cursors (ScreenPtr screen) + cursor_screen_priv = dixLookupPrivate(&screen->devPrivates, + xf86CursorScreenKey); + /* return if HW cursor is inactive, to avoid displaying two cursors */ +- if (!cursor_screen_priv->isUp) ++ if (!cursor_screen_priv || !cursor_screen_priv->isUp) + return; + + scrn = xf86Screens[screen->myNum]; diff --git a/xlog2xconf.sh b/xlog2xconf.sh deleted file mode 100644 index 89a6507..0000000 --- a/xlog2xconf.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/bin/sh -# -# Create minimal xorg.conf extracted from Xorg..log -# -# -c (use to specify configfile to create) -# -e (edit file with $EDITOR after creation) -# -f (overwrite existing ) -# -l (use to specify X logfile to read) -# - -if [ $UID -ne 0 ]; then - echo "You must be root" - exit 1 -fi - -configfile=/etc/X11/xorg.conf -editor=false -overwrite=false -logfile=/var/log/Xorg.0.log - -while getopts ":c:efl:" opt; do - case $opt in - c ) configfile=${OPTARG} - ;; - e ) editor=true - ;; - f ) overwrite=true - ;; - l ) logfile=${OPTARG} - ;; - * ) echo 'usage: minimal-xconfig [-c ] [-e] [-f] [-l ]' - exit 1 - ;; - esac -done - -if [ ! -f $logfile ]; then - echo "$logfile does not exist." - echo "Use \"-l \" to specify a different logfile." - exit 1 -fi - -if ! grep -q -- "(==) --- Start of built-in configuration ---" $logfile; then - echo "$logfile does not contain the required xorg.conf section." - echo "Probably it uses a regular xorg.conf." - echo "Use \"-l \" to specify a different logfile." - exit 1 -fi - -if [ -f $configfile -a "$overwrite" == "false" ]; then - echo "$configfile already exists." - echo "Use \"-f\" to overwrite or \"-c \" to specify a different configfile." - exit 1 -fi - -begin=false - -cat $logfile | \ -while read line; do - if [ "$begin" == "true" ]; then - if echo $line | grep -q -- "(==) --- End of built-in configuration ---"; then - break - else - if ! echo $line | grep -q ^Section; then - if ! echo $line | grep -q ^EndSection; then - echo -n " " - fi - fi - echo $line - test "$line" == "EndSection" && echo - fi - elif echo $line | grep -q -- "(==) --- Start of built-in configuration ---"; then - begin=true - fi -done > $configfile - -if [ "$editor" == "true" ]; then - $EDITOR $configfile -else - echo "created $configfile" -fi - -exit 0 diff --git a/xorg-server-nohwaccess.diff b/xorg-server-nohwaccess.diff new file mode 100644 index 0000000..b630f8f --- /dev/null +++ b/xorg-server-nohwaccess.diff @@ -0,0 +1,52 @@ +Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c +=================================================================== +--- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_init.c ++++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_init.c +@@ -49,6 +49,7 @@ static Bool KeepTty = FALSE; + static int VTnum = -1; + static Bool VTSwitch = TRUE; + static Bool ShareVTs = FALSE; ++Bool NoHwAccess = FALSE; + static int activeVT = -1; + + static int vtPermSave[4]; +@@ -434,6 +439,11 @@ xf86ProcessArgument(int argc, char *argv + ShareVTs = TRUE; + return(1); + } ++ if (!strcmp(argv[i], "-nohwaccess")) ++ { ++ NoHwAccess = TRUE; ++ return(1); ++ } + if ((argv[i][0] == 'v') && (argv[i][1] == 't')) + { + if (sscanf(argv[i], "vt%2d", &VTnum) == 0) +@@ -455,4 +465,5 @@ xf86UseMsg() + ErrorF("don't detach controlling tty (for debugging only)\n"); + ErrorF("-novtswitch don't immediately switch to new VT\n"); + ErrorF("-sharevts share VTs with another X server\n"); ++ ErrorF("-nohwaccess don't access hardware ports directly\n"); + } +Index: xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c +=================================================================== +--- xorg-server-1.6.3.orig/hw/xfree86/os-support/linux/lnx_video.c ++++ xorg-server-1.6.3/hw/xfree86/os-support/linux/lnx_video.c +@@ -51,6 +51,7 @@ + #define MAP_FAILED ((void *)-1) + #endif + ++extern Bool NoHwAccess; + static Bool ExtendedEnabled = FALSE; + + #ifdef __ia64__ +@@ -509,6 +510,9 @@ xf86EnableIO(void) + int fd; + unsigned int ioBase_phys; + #endif ++ /* Fake it... */ ++ if (NoHwAccess) ++ return TRUE; + + if (ExtendedEnabled) + return TRUE; diff --git a/moblin-xorg-x11-nonroot-vesa.patch b/xorg-x11-nonroot-vesa.patch similarity index 100% rename from moblin-xorg-x11-nonroot-vesa.patch rename to xorg-x11-nonroot-vesa.patch diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 7e4f36a..2554e54 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,37 @@ +------------------------------------------------------------------- +Sat Apr 10 20:54:18 CEST 2010 - sndirsch@suse.de + +- specfile cleanup +- removed no longer useful xlog2xconf.sh + +------------------------------------------------------------------- +Sat Apr 10 12:26:46 CEST 2010 - sndirsch@suse.de + +- adjusted moblin-xserver-no-root-2.patch, renamed it to + xorg-server-nohwaccess.diff and enable it by default +- rename moblin-xorg-x11-nonroot-vesa.patch to + xorg-x11-nonroot-vesa.patch +- removed obsolete patch 'xserver-boottime.patch' + +------------------------------------------------------------------- +Thu Apr 8 13:42:43 UTC 2010 - eich@novell.com + +- Adapted and fixed 'noroot-background' patch originally coming from + the Moblin project and enable by default. + +------------------------------------------------------------------- +Thu Apr 8 12:20:38 UTC 2010 - eich@suse.de + +- On ia64 the Xserver brings its own PIO functions (inb, outb, ...). + These are supposed to overrule the ones provided by glibc. + Unfortunately this doesn't seem to work under all circumstances. + Therefore use inX/outX_ia64 and set appropriate defines. + +------------------------------------------------------------------- +Thu Apr 8 11:50:30 UTC 2010 - eich@suse.de + +- Fix SIG11 on VT switch when using SW cursor with RandR (bnc #592614). + ------------------------------------------------------------------- Thu Apr 8 11:49:46 CEST 2010 - ro@suse.de diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index b811398..8d1af25 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -21,8 +21,6 @@ Name: xorg-x11-server %define dirsuffix 1.8.0 -%define fglrx_driver_hack 0 -### FIXME %define vnc 1 BuildRequires: Mesa-devel bison flex fontconfig-devel freetype2-devel ghostscript-library libdrm-devel libopenssl-devel pkgconfig xorg-x11 xorg-x11-devel xorg-x11-fonts-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libX11-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libXext-devel xorg-x11-libXfixes-devel xorg-x11-libXmu-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXprintUtil-devel xorg-x11-libXrender-devel xorg-x11-libXt-devel xorg-x11-libXv-devel xorg-x11-libfontenc-devel xorg-x11-libxkbfile-devel xorg-x11-proto-devel xorg-x11-xtrans-devel ### udev support (broken on openSUSE 11.2, see also bnc #589997) @@ -33,9 +31,8 @@ BuildRequires: libudev-devel BuildRequires: libjpeg-devel %endif Url: http://xorg.freedesktop.org/ -%define EXPERIMENTAL 0 Version: 7.5_%{dirsuffix} -Release: 3 +Release: 4 License: GPLv2+ ; MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -43,27 +40,20 @@ Group: System/X11/Servers/XF86_4 PreReq: %fillup_prereq %endif Requires: pkgconfig xorg-x11-fonts-core xorg-x11 -%if %suse_version > 1010 %ifnarch s390 s390x Provides: VIDEO_ABI_VERSION = 7 Provides: INPUT_ABI_VERSION = 9 Requires: libpixman-1-0 >= 0.15.2 %endif -%endif Provides: xorg-x11-server-glx Obsoletes: xorg-x11-server-glx Summary: X.Org Server Source: xorg-server-%{dirsuffix}.tar.bz2 -%ifnarch s390 s390x Source1: sysconfig.displaymanager.template -%endif Source3: README.updates Source4: xorgcfg.tar.bz2 -%if %suse_version > 1010 Source5: modprobe.nvidia -%endif Source7: xorg-docs-1.4.tar.bz2 -Source8: xlog2xconf.sh Patch1: fpic.diff Patch2: p_default-module-path.diff Patch6: pu_fixes.diff @@ -107,20 +97,11 @@ Patch132: fixed-SYNC-extension-trigger-BlockHandler-test.diff Patch143: autoconfig_fallback_fbdev_first.diff Patch145: driver-autoconfig.diff Patch147: xserver-1.6.1-nouveau.patch -# Moblin Patch162: cache-xkbcomp-output-for-fast-start-up.patch -%if %moblin -Patch163: xserver-1.5.0-bg-none-root.patch -%endif +Patch163: xserver-bg-none-root.patch Patch164: xorg-detect-psb.patch -%if %moblin -Patch168: moblin-xserver-no-root-2.patch -%endif -Patch169: moblin-xorg-x11-nonroot-vesa.patch -%if %moblin -Patch170: xserver-boottime.patch -Patch171: moblin-use_preferred_mode_for_all_outputs.diff -%endif +Patch168: xorg-server-nohwaccess.diff +Patch169: xorg-x11-nonroot-vesa.patch Patch200: bug534768-prefer_local_symbols.patch Patch202: 0001-Check-harder-for-primary-PCI-device.patch Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch @@ -129,6 +110,11 @@ Patch205: xorg-server-1.8.0.diff Patch206: fix_fglrx_screendepth_issue.patch Patch207: xorg-server-option_libxf86config.diff Patch208: xorg-evdev-conf.diff +Patch209: sw_cursor_on_randr.patch +Patch210: pio_ia64.diff +%if %moblin +Patch300: moblin-use_preferred_mode_for_all_outputs.diff +%endif %description This package contains the X.Org Server. @@ -234,19 +220,10 @@ popd %patch145 -p0 %patch147 -p1 %patch162 -p1 -%if %moblin %patch163 -p1 -%endif %patch164 -p1 -%if %moblin %patch168 -p1 -%endif %patch169 -p1 -%if %moblin -%patch170 -p1 -%patch171 -p1 -%endif -# %patch200 -p1 %patch202 -p1 %patch203 -p1 @@ -255,67 +232,44 @@ popd %patch206 -p0 %patch207 -p0 %patch208 -p0 +%patch209 -p1 +%patch210 -p1 +%if %moblin +%patch300 -p1 +%endif %build pushd xorg-docs-* autoreconf -fi -export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" -%configure -make +%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" +%{__make} %{?jobs:-j%jobs} popd autoreconf -fi -# DRI2 disabled for Xserver 1.5 as libdrm 2.3.1 doesn't have the -# drmBO functionality. -./configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \ -%if %fglrx_driver_hack - --with-release-major=7 \ - --with-release-minor=2 \ - --with-release-patch=0 \ - --with-release-snap=0 \ - --with-release-date="%(date)" \ - --with-release-version=7.2.0.0 \ -%endif -%if %vnc - --enable-vnc \ - --disable-xcliplist \ -%endif - --prefix=/usr \ +%configure CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" \ --sysconfdir=/etc \ - --libdir=%{_libdir} \ - --mandir=%{_mandir} \ --enable-builddocs \ --enable-install-libxf86config \ -%ifarch %EXPERIMENTAL - --enable-glx-tls \ - --enable-multibuffer \ -%endif -%ifarch s390 s390x - --disable-aiglx \ -%else - --enable-aiglx \ -%endif - --enable-lbx \ --enable-xdmcp \ --enable-xdm-auth-1 \ --enable-dri \ --enable-dri2 \ -%ifarch s390 s390x - --disable-xorg \ -%else - --enable-xorg \ -%endif --disable-dmx \ --enable-xnest \ --enable-kdrive \ --enable-xephyr \ - --disable-xsdl \ - --enable-xprint \ - --disable-kbd_mode \ - --disable-xprint \ --enable-record \ --enable-xcsecurity \ +%ifarch s390 s390x + --disable-xorg \ + --disable-aiglx \ +%else + --enable-xorg \ %if %suse_version > 1120 --enable-config-udev \ +%endif +%endif +%if %vnc + --disable-xcliplist \ %endif --with-log-dir="/var/log" \ --with-os-name="openSUSE" \ @@ -323,8 +277,7 @@ autoreconf -fi --with-fontrootdir="/usr/share/fonts" \ --with-xkb-path="/usr/share/X11/xkb" \ --with-xkb-output="/var/lib/xkb/compiled" -#make %{?jobs:-j %jobs} -make V=1 +make %{?jobs:-j %jobs} make -C hw/kdrive %{?jobs:-j %jobs} %install @@ -337,36 +290,16 @@ find $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/ -name "*.la" | \ xargs rm install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \ $RPM_BUILD_ROOT/usr/include/xorg -# add compatibility symlinks for SUSE <= 10.1 -%if %suse_version <= 1010 -mkdir -p $RPM_BUILD_ROOT/usr/X11R6/bin -ln -snf ../../bin/X $RPM_BUILD_ROOT/usr/X11R6/bin/X -ln -snf ../../bin/Xorg $RPM_BUILD_ROOT/usr/X11R6/bin/Xorg -%endif chmod u+s $RPM_BUILD_ROOT/usr/bin/Xorg mkdir -p $RPM_BUILD_ROOT/var/lib/X11 ln -snf ../../../usr/bin/Xorg $RPM_BUILD_ROOT/var/lib/X11/X ln -snf ../../var/lib/X11/X $RPM_BUILD_ROOT/usr/bin/X mkdir -p $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates/{fonts,input,linux,drivers,multimedia,extensions} install -m 644 $RPM_SOURCE_DIR/README.updates $RPM_BUILD_ROOT/usr/%{_lib}/xorg/modules/updates -%if %suse_version <= 1010 -mkdir -p $RPM_BUILD_ROOT/etc/permissions.d -cat > $RPM_BUILD_ROOT/etc/permissions.d/xorg-x11-server.easy << EOF -/usr/bin/Xorg root:root 4711 -EOF -cat > $RPM_BUILD_ROOT/etc/permissions.d/xorg-x11-server.paranoid << EOF -/usr/bin/Xorg root:root 0711 -EOF -cat > $RPM_BUILD_ROOT/etc/permissions.d/xorg-x11-server.secure << EOF -/usr/bin/Xorg root:root 0711 -EOF -%endif -%else -rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4 -%endif -%if %suse_version > 1010 mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d install -m 644 $RPM_SOURCE_DIR/modprobe.nvidia $RPM_BUILD_ROOT/etc/modprobe.d/50-nvidia.conf +%else +rm -f $RPM_BUILD_ROOT/usr/share/aclocal/*.m4 %endif %if %vnc mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services @@ -377,10 +310,10 @@ TCP="5801 5901" EOF %endif %ifarch s390 s390x -rm $RPM_BUILD_ROOT/usr/%{_lib}/pkgconfig/*.pc +rm $RPM_BUILD_ROOT/etc/X11/10-evdev.conf make -C hw/xfree86/parser mkdir -p $RPM_BUILD_ROOT/usr/include/xorg \ - $RPM_BUILD_ROOT//usr/%{_lib} + $RPM_BUILD_ROOT/usr/%{_lib} install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \ $RPM_BUILD_ROOT/usr/include/xorg install -m 644 hw/xfree86/parser/libxf86config.a \ @@ -391,7 +324,6 @@ mkdir -p %buildroot/var/adm/fillup-templates install -m 644 %_sourcedir/sysconfig.displaymanager.template \ %buildroot/var/adm/fillup-templates/sysconfig.displaymanager-%name %endif -install -m 755 %_sourcedir/xlog2xconf.sh %buildroot/usr/bin/xlog2xconf %clean rm -rf "$RPM_BUILD_ROOT" @@ -400,66 +332,11 @@ rm -rf "$RPM_BUILD_ROOT" %verify_permissions -e /usr/bin/Xorg %endif -%pre -test -L usr/lib/X11 && rm usr/lib/X11 -rm -rf etc/X11/xserver/ -exit 0 - %post %ifnarch s390 s390x %{fillup_only -an displaymanager} %run_permissions -rm -f var/log/XFree86.*.log* -# SaX2 writes xorg.conf since SuSE 9.3 -# - create backup of XF86Config -# - copy XF86Config to xorg.conf -# - set XF86Config symlink to xorg.conf -pushd etc/X11 &> /dev/null - # get rid of symlinks - for file in xorg.conf XF86Config; do - if [ -L $file ]; then - symlink=$file - while test -L $symlink; do - tmp=$(readlink $symlink) - rm -f $symlink - symlink=$tmp - done - mv $symlink $file - fi - done - if [ ! -f xorg.conf -a -f XF86Config ]; then - cp XF86Config xorg.conf - fi - if [ -f xorg.conf ]; then - #test -f XF86Config && old XF86Config - ln -snf xorg.conf XF86Config - fi -popd &> /dev/null if [ -f etc/X11/xorg.conf ]; then - # SuSE 10.1 --> SuSE 10.2: X11 fonts have moved to /usr/share/fonts - # SuSE 10.1 --> SuSE 10.2: radeonold --> radeon - # openSUSE 11.0 --> openSUSE 11.1: i810 --> intel (Bug #448458) - if grep -q -e /usr/X11R6/lib/X11/fonts/ \ - -e /usr/X11/lib/X11/fonts/ \ - -e /usr/lib/X11/fonts/ \ - etc/X11/xorg.conf; then - sed -i.post_xorg-x11-server \ - -e 's+/usr/X11R6/lib/X11/fonts/+/usr/share/fonts/+g' \ - -e 's+/usr/X11/lib/X11/fonts/+/usr/share/fonts/+g' \ - -e 's+/usr/lib/X11/fonts/+/usr/share/fonts/+g' \ - etc/X11/xorg.conf - fi - if grep -q \"radeonold\" etc/X11/xorg.conf; then - # only switch to radeon if radeonold is no longer available (Bug #355009) - if test ! -f /usr/%{_lib}/xorg/modules/drivers/radeonold_drv.so; then - sed -i.post_xorg-x11-server -e 's/\"radeonold\"/\"radeon\"/g' \ - etc/X11/xorg.conf - fi - fi - if grep -q \"i810\" etc/X11/xorg.conf; then - sed -i.post_xorg-x11-server -e 's/\"i810\"/\"intel\"/g' \ - etc/X11/xorg.conf - fi # Document how to restore previous input driver behaviour in xorg.conf files created # on openSUSE <= 11.1 if ! grep -q "will be disabled unless 'Option \"AutoAddDevices\" \"off\"'" etc/X11/xorg.conf; then @@ -478,97 +355,49 @@ a\ fi fi %endif -# Installation of init script seems to be disabled by default -# Create symbolic run level links for xprint start script -if false; then - %{fillup_and_insserv -p xprint} -fi -exit 0 - -%preun -# Installation of init script seems to be disabled by default -if false; then - %stop_on_removal xprint -fi -exit 0 - -%postun -# installation of init script seems to be disabled by default -# Rearrange run level symlinks after removing the xprint init script -if false; then - %{insserv_cleanup} -fi -exit 0 - -%pre sdk -test -L usr/include/X11 && rm usr/include/X11 exit 0 %files %defattr(-,root,root) -%if %suse_version > 1010 -%dir /etc/modprobe.d -/etc/modprobe.d/50-nvidia.conf -%endif -#%ifarch ppc64 x86_64 -#%dir /usr/%{_lib}/X11 -#%endif -%dir /usr/%{_lib}/xorg %ifnarch s390 s390x +%if %suse_version > 1120 +%dir /etc/X11/xorg.conf.d +%endif +%dir /etc/modprobe.d %dir /var/lib/X11 %endif %dir /var/lib/xkb %dir /var/lib/xkb/compiled -%ifnarch s390 s390x -%if %suse_version <= 1010 -/etc/permissions.d/%name.* -%endif -%if %suse_version <= 1010 -/usr/X11R6/bin/X -/usr/X11R6/bin/Xorg -%endif -/usr/bin/X -%endif -%ifnarch s390 s390x -%verify(not mode) /usr/bin/Xorg -/usr/bin/xlog2xconf -%endif -%ifnarch s390 s390x -/usr/bin/cvt -%endif -%ifnarch s390 s390x -/usr/bin/gtf -%endif -%ifnarch s390 s390x -#/usr/%{_lib}/X11/* -/usr/%{_lib}/xorg/modules/ -%{_mandir}/man4/* -%endif +%dir /usr/%{_lib}/xorg /usr/%{_lib}/xorg/protocol.txt %{_mandir}/man1/* +%exclude %{_mandir}/man1/Xephyr.1* %exclude %{_mandir}/man1/Xnest.1* %exclude %{_mandir}/man1/Xvfb.1* -%ifnarch s390 s390x -%{_mandir}/man5/* -%endif %{_mandir}/man7/* -%ifnarch s390 s390x -/var/lib/X11/X -%endif /var/lib/xkb/compiled/README.compiled %ifnarch s390 s390x -/var/adm/fillup-templates/sysconfig.displaymanager-%name -%endif %if %suse_version > 1120 -%dir /etc/X11/xorg.conf.d /etc/X11/xorg.conf.d/10-evdev.conf %endif +/etc/modprobe.d/50-nvidia.conf +%verify(not mode) /usr/bin/Xorg +/usr/bin/X +/usr/bin/cvt +/usr/bin/gtf +/usr/%{_lib}/xorg/modules/ +%{_mandir}/man4/* +%{_mandir}/man5/* +/var/adm/fillup-templates/sysconfig.displaymanager-%name +/var/lib/X11/X +%endif %files extra %defattr(-,root,root) /usr/bin/Xephyr /usr/bin/Xnest /usr/bin/Xvfb +%{_mandir}/man1/Xephyr.1* %{_mandir}/man1/Xnest.1* %{_mandir}/man1/Xvfb.1* diff --git a/xserver-1.5.0-bg-none-root.patch b/xserver-bg-none-root.patch similarity index 63% rename from xserver-1.5.0-bg-none-root.patch rename to xserver-bg-none-root.patch index a085fbe..8be3b21 100644 --- a/xserver-1.5.0-bg-none-root.patch +++ b/xserver-bg-none-root.patch @@ -12,11 +12,11 @@ Subject: [PATCH] Add nr for background=none root os/utils.c | 3 +++ 6 files changed, 32 insertions(+), 11 deletions(-) -Index: xorg-server-1.6.3/dix/globals.c +Index: xorg-server-1.8.0/dix/globals.c =================================================================== ---- xorg-server-1.6.3.orig/dix/globals.c -+++ xorg-server-1.6.3/dix/globals.c -@@ -141,6 +141,7 @@ FontPtr defaultFont; /* not declared i +--- xorg-server-1.8.0.orig/dix/globals.c ++++ xorg-server-1.8.0/dix/globals.c +@@ -124,6 +124,7 @@ FontPtr defaultFont; /* not declared i CursorPtr rootCursor; Bool party_like_its_1989 = FALSE; Bool whiteRoot = FALSE; @@ -24,11 +24,11 @@ Index: xorg-server-1.6.3/dix/globals.c int cursorScreenDevPriv[MAXSCREENS]; -Index: xorg-server-1.6.3/dix/window.c +Index: xorg-server-1.8.0/dix/window.c =================================================================== ---- xorg-server-1.6.3.orig/dix/window.c -+++ xorg-server-1.6.3/dix/window.c -@@ -479,23 +479,24 @@ InitRootWindow(WindowPtr pWin) +--- xorg-server-1.8.0.orig/dix/window.c ++++ xorg-server-1.8.0/dix/window.c +@@ -465,23 +465,24 @@ InitRootWindow(WindowPtr pWin) pWin->cursorIsNone = FALSE; pWin->optional->cursor = rootCursor; rootCursor->refcnt++; @@ -59,19 +59,19 @@ Index: xorg-server-1.6.3/dix/window.c MapWindow(pWin, serverClient); } -Index: xorg-server-1.6.3/hw/xfree86/common/xf86Init.c +Index: xorg-server-1.8.0/hw/xfree86/common/xf86Init.c =================================================================== ---- xorg-server-1.6.3.orig/hw/xfree86/common/xf86Init.c -+++ xorg-server-1.6.3/hw/xfree86/common/xf86Init.c -@@ -79,6 +79,7 @@ +--- xorg-server-1.8.0.orig/hw/xfree86/common/xf86Init.c ++++ xorg-server-1.8.0/hw/xfree86/common/xf86Init.c +@@ -77,6 +77,7 @@ #ifdef RENDER #include "picturestr.h" #endif +#include "xace.h" + #include "xf86VGAarbiter.h" #include "globals.h" - -@@ -328,6 +329,7 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -256,6 +257,7 @@ xf86CreateRootWindow(WindowPtr pWin) int ret = TRUE; int err = Success; ScreenPtr pScreen = pWin->drawable.pScreen; @@ -79,37 +79,38 @@ Index: xorg-server-1.6.3/hw/xfree86/common/xf86Init.c RootWinPropPtr pProp; CreateWindowProcPtr CreateWindow = (CreateWindowProcPtr) dixLookupPrivate(&pScreen->devPrivates, xf86CreateRootWindowKey); -@@ -381,6 +383,15 @@ xf86CreateRootWindow(WindowPtr pWin) +@@ -306,6 +308,16 @@ xf86CreateRootWindow(WindowPtr pWin) + ret = FALSE; } } - -+ if (bgNoneRoot && pScrn->canDoBGNoneRoot || 1) { -+ pWin->backgroundState = XaceBackgroundNoneState(pWin); -+ pWin->background.pixel = pScreen->whitePixel; -+ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore); -+ } else { -+ pWin->background.pixel = pScreen->blackPixel; -+ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore); ++ if (bgNoneRoot) { ++ if (pScrn->canDoBGNoneRoot) { ++ pWin->backgroundState = XaceBackgroundNoneState(pWin); ++ pWin->background.pixel = pScreen->whitePixel; ++ pScreen->ChangeWindowAttributes(pWin, CWBackPixmap | CWBorderPixel | CWCursor | CWBackingStore); ++ } else { ++ pWin->background.pixel = pScreen->blackPixel; ++ pScreen->ChangeWindowAttributes(pWin, CWBackPixel | CWBorderPixel | CWCursor | CWBackingStore); ++ } + } -+ - #ifdef DEBUG - ErrorF("xf86CreateRootWindow() returns %d\n", ret); - #endif -Index: xorg-server-1.6.3/hw/xfree86/common/xf86str.h + + DebugF("xf86CreateRootWindow() returns %d\n", ret); + return (ret); +Index: xorg-server-1.8.0/hw/xfree86/common/xf86str.h =================================================================== ---- xorg-server-1.6.3.orig/hw/xfree86/common/xf86str.h -+++ xorg-server-1.6.3/hw/xfree86/common/xf86str.h -@@ -531,7 +531,7 @@ typedef struct _confdrirec { +--- xorg-server-1.8.0.orig/hw/xfree86/common/xf86str.h ++++ xorg-server-1.8.0/hw/xfree86/common/xf86str.h +@@ -503,7 +503,7 @@ typedef struct _confdrirec { } confDRIRec, *confDRIPtr; /* These values should be adjusted when new fields are added to ScrnInfoRec */ -#define NUM_RESERVED_INTS 16 +#define NUM_RESERVED_INTS 15 - #define NUM_RESERVED_POINTERS 15 + #define NUM_RESERVED_POINTERS 14 #define NUM_RESERVED_FUNCS 11 -@@ -959,6 +959,9 @@ typedef struct _ScrnInfoRec { - ClockRangesPtr clockRanges; +@@ -775,6 +775,9 @@ typedef struct _ScrnInfoRec { + ClockRangePtr clockRanges; int adjustFlags; + /* -nr support */ @@ -118,23 +119,23 @@ Index: xorg-server-1.6.3/hw/xfree86/common/xf86str.h /* * These can be used when the minor ABI version is incremented. * The NUM_* parameters must be reduced appropriately to keep the -Index: xorg-server-1.6.3/include/opaque.h +Index: xorg-server-1.8.0/include/opaque.h =================================================================== ---- xorg-server-1.6.3.orig/include/opaque.h -+++ xorg-server-1.6.3/include/opaque.h -@@ -71,6 +71,7 @@ extern Bool defeatAccessControl; - extern long maxBigRequestSize; - extern Bool party_like_its_1989; - extern Bool whiteRoot; -+extern Bool bgNoneRoot; +--- xorg-server-1.8.0.orig/include/opaque.h ++++ xorg-server-1.8.0/include/opaque.h +@@ -71,6 +71,7 @@ extern _X_EXPORT Bool defeatAccessContro + extern _X_EXPORT long maxBigRequestSize; + extern _X_EXPORT Bool party_like_its_1989; + extern _X_EXPORT Bool whiteRoot; ++extern _X_EXPORT Bool bgNoneRoot; - extern Bool CoreDump; + extern _X_EXPORT Bool CoreDump; -Index: xorg-server-1.6.3/os/utils.c +Index: xorg-server-1.8.0/os/utils.c =================================================================== ---- xorg-server-1.6.3.orig/os/utils.c -+++ xorg-server-1.6.3/os/utils.c -@@ -515,6 +515,7 @@ void UseMsg(void) +--- xorg-server-1.8.0.orig/os/utils.c ++++ xorg-server-1.8.0/os/utils.c +@@ -511,6 +511,7 @@ void UseMsg(void) #endif ErrorF("-nolisten string don't listen on protocol\n"); ErrorF("-noreset don't reset after last client exists\n"); @@ -142,7 +143,7 @@ Index: xorg-server-1.6.3/os/utils.c ErrorF("-reset reset after last client exists\n"); ErrorF("-p # screen-saver pattern duration (minutes)\n"); ErrorF("-pn accept failure to listen on all ports\n"); -@@ -859,6 +860,8 @@ ProcessCommandLine(int argc, char *argv[ +@@ -852,6 +853,8 @@ ProcessCommandLine(int argc, char *argv[ defaultBackingStore = WhenMapped; else if ( strcmp( argv[i], "-wr") == 0) whiteRoot = TRUE; diff --git a/xserver-boottime.patch b/xserver-boottime.patch deleted file mode 100644 index 34011e2..0000000 --- a/xserver-boottime.patch +++ /dev/null @@ -1,38 +0,0 @@ -Index: xorg-server-1.6.3/os/log.c -=================================================================== ---- xorg-server-1.6.3.orig/os/log.c -+++ xorg-server-1.6.3/os/log.c -@@ -255,6 +255,33 @@ LogVWrite(int verb, const char *f, va_li - static char tmpBuffer[1024]; - int len = 0; - -+ struct timeval time; -+ time_t tv_sec; -+ suseconds_t tv_usec; -+ static Bool first = TRUE; -+ static time_t start_tv_sec; -+ static suseconds_t start_usec; -+ int diff_sec, diff_usec; -+ -+ gettimeofday(&time, NULL); -+ tv_sec = time.tv_sec; -+ tv_usec = time.tv_usec; -+ if (first == TRUE) { -+ start_tv_sec = tv_sec; -+ start_usec = tv_usec; -+ first = FALSE; -+ } -+ diff_sec = (int)difftime(tv_sec, start_tv_sec); -+ diff_usec = (tv_usec - start_usec); -+ if (diff_usec < 0) { -+ diff_sec--; -+ diff_usec += 1000000; -+ } -+ sprintf(tmpBuffer, "[%d sec: %06d usec]", diff_sec , diff_usec); -+ len = strlen(tmpBuffer); -+ if (logFile) -+ fwrite(tmpBuffer, len, 1, logFile); -+ - /* - * Since a va_list can only be processed once, write the string to a - * buffer, and then write the buffer out to the appropriate output