xorg-x11-server/xorg-x11-server.spec
Egbert Eich a2b50f1252 - 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.

- Fix SIG11 on VT switch when using SW cursor with RandR (bnc #592614).

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=247
2010-04-08 12:28:17 +00:00

596 lines
17 KiB
RPMSpec

#
# spec file for package xorg-x11-server (Version 7.5_1.8.0)
#
# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
%define moblin 0
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)
%if %suse_version > 1120
BuildRequires: libudev-devel
%endif
%if %vnc
BuildRequires: libjpeg-devel
%endif
Url: http://xorg.freedesktop.org/
%define EXPERIMENTAL 0
Version: 7.5_%{dirsuffix}
Release: 3
License: GPLv2+ ; MIT License (or similar)
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Group: System/X11/Servers/XF86_4
%ifnarch s390 s390x
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
Patch8: p_bug96328.diff
Patch13: p_xorg_acpi.diff
Patch14: p_xkills_wrong_client.diff
Patch16: p_xnest-ignore-getimage-errors.diff
Patch23: disable-fbblt-opt.diff
Patch27: mouse.diff
Patch29: xephyr.diff
Patch36: libdrm.diff
%if %vnc
### Dan Nicholson <dbn.lists@gmail.com>
#http://people.freedesktop.org/~dbn/xorg-server-xf4vnc.patch
Patch39: xorg-server-xf4vnc.patch
Patch40: xorg-server-xf4vnc-disable-dmxvnc.diff
Patch42: xorg-server-xf4vnc-TranslateNone.diff
Patch43: xorg-server-xf4vnc-abi-version.diff
Patch44: xorg-server-xf4vnc-cutpaste.diff
Patch46: xorg-server-xf4vnc-busyloop.diff
Patch47: xorg-server-xf4vnc-clientTimeout.diff
Patch48: xorg-server-xf4vnc-fix.diff
Patch49: xorg-server-xf4vnc-fixes_1_8.diff
%endif
Patch45: bug-197858_dpms.diff
Patch67: xorg-docs.diff
Patch77: fbdevhw.diff
Patch79: edit_data_sanity_check.diff
Patch93: pixman.diff
Patch101: zap_warning_xserver.diff
Patch103: confine_to_shape.diff
Patch104: bitmap_always_unscaled.diff
Patch106: randr1_1-sig11.diff
Patch112: fix-dpi-values.diff
Patch123: vidmode-sig11.diff
Patch125: 0001-Xinput-Catch-missing-configlayout-when-deleting-dev.patch
Patch127: dpms_screensaver.diff
Patch128: pci-legacy-mem-fallback.diff
Patch129: bug474071-fix1.diff
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
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
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
Patch204: missing_font_paths.diff
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
%description
This package contains the X.Org Server.
%package extra
License: GPLv2+ ; MIT License (or similar)
Summary: Additional Xservers (Xdmx, Xephyr, Xnest, Xvfb)
Group: System/X11/Servers/XF86_4
Provides: xorg-x11-Xnest xorg-x11-Xvfb xorg-x11-server:/usr/bin/Xvfb
Obsoletes: xorg-x11-Xnest xorg-x11-Xvfb
Requires: xorg-x11-fonts-core xorg-x11 Mesa
AutoReqProv: on
%description extra
This package contains additional Xservers (Xdmx, Xephyr, Xnest, Xvfb).
%package sdk
License: GPLv2+ ; MIT License (or similar)
Summary: X.Org Server SDK
Group: System/Libraries
Provides: xorg-x11-sdk
Obsoletes: xorg-x11-sdk
Requires: xorg-x11-proto-devel xorg-x11-xtrans-devel xorg-x11-libXau-devel xorg-x11-libXdmcp-devel xorg-x11-libX11-devel xorg-x11-libXext-devel xorg-x11-libXp-devel xorg-x11-libXpm-devel xorg-x11-libXrender-devel xorg-x11-libICE-devel xorg-x11-libSM-devel xorg-x11-libXt-devel xorg-x11-libXmu-devel xorg-x11-libXfixes-devel xorg-x11-libxkbfile-devel xorg-x11-libfontenc-devel xorg-x11-libXv-devel xorg-x11-libXprintUtil-devel xorg-x11-devel freetype2-devel fontconfig-devel libdrm-devel xorg-x11-server
AutoReqProv: on
%description sdk
This package contains the X.Org Server SDK.
%if %vnc
%package -n xorg-x11-Xvnc
License: GPLv2+ ; MIT License (or similar)
Summary: VNC Server for the X Window System
Group: System/X11/Servers/XF86_4
Requires: xorg-x11-fonts-core xorg-x11
Provides: vnc:/usr/X11R6/bin/Xvnc XFree86-Xvnc
Obsoletes: XFree86-Xvnc
%ifarch ia64
Provides: vnc-x86
Obsoletes: vnc-x86
%endif
AutoReqProv: on
%description -n xorg-x11-Xvnc
An X Window System server for Virtual Network Computing (VNC).
%endif
%prep
%setup -q -n xorg-server-%{dirsuffix} -a4 -a7
%patch1
%patch2
%patch6
%patch8 -p0
%patch13
%patch14
%patch16 -p2
%patch23
%patch27
%patch29
%patch36 -p0
%if %vnc
%patch39 -p1
%patch40 -p0
%patch42 -p1
%patch43 -p0
%patch44
%patch46 -p1
%patch47 -p1
%patch48 -p1
%patch49 -p0
chmod 755 hw/vnc/symlink-vnc.sh
%endif
%patch45 -p0
pushd xorg-docs-*
%patch67
popd
%patch77
%patch79 -p1
%patch93
%patch101 -p1
%patch103
%patch104 -p1
%patch106 -p1
%patch112 -p0
%patch123 -p0
%patch125 -p1
%patch127 -p1
%patch128
pushd hw/xfree86/os-support/bus
%patch129 -p0
popd
%patch132 -p1
%patch143 -p0
%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
%patch204 -p0
%patch205 -p0
%patch206 -p0
%patch207 -p0
%patch208 -p0
%patch209 -p1
%patch210 -p1
%build
pushd xorg-docs-*
autoreconf -fi
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure
make
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 \
--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 \
%if %suse_version > 1120
--enable-config-udev \
%endif
--with-log-dir="/var/log" \
--with-os-name="openSUSE" \
--with-os-vendor="SUSE LINUX" \
--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 -C hw/kdrive %{?jobs:-j %jobs}
%install
make -C xorg-docs-* install DESTDIR=$RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
make -C hw/kdrive install DESTDIR=$RPM_BUILD_ROOT
%ifnarch s390 s390x
# remove .la files
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
%endif
%if %vnc
mkdir -p $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services
cat > $RPM_BUILD_ROOT/etc/sysconfig/SuSEfirewall2.d/services/%{name} << EOF
## Name: VNC Server
## Description: Opens ports for VNC Server
TCP="5801 5901"
EOF
%endif
%ifarch s390 s390x
rm $RPM_BUILD_ROOT/usr/%{_lib}/pkgconfig/*.pc
make -C hw/xfree86/parser
mkdir -p $RPM_BUILD_ROOT/usr/include/xorg \
$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 \
$RPM_BUILD_ROOT//usr/%{_lib}
%endif
%ifnarch s390 s390x
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"
%ifnarch s390 s390x
%verifyscript
%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
if ! grep -q "\"AutoAddDevices\" \"off\"" etc/X11/xorg.conf; then
sed -i '
/Section "ServerFlags"/{
h
g
a\
# Uncomment the following option to reenable kbd/mouse driver input sections. \
# Otherwise evdev driver is used. \
#Option "AutoAddDevices" "off"
}
' etc/X11/xorg.conf
fi
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
%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
/usr/%{_lib}/xorg/protocol.txt
%{_mandir}/man1/*
%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
%files extra
%defattr(-,root,root)
/usr/bin/Xephyr
/usr/bin/Xnest
/usr/bin/Xvfb
%{_mandir}/man1/Xnest.1*
%{_mandir}/man1/Xvfb.1*
%files sdk
%defattr(-,root,root)
/usr/include/xorg/
/usr/%{_lib}/*.a
%ifnarch s390 s390x
/usr/%{_lib}/pkgconfig/*.pc
/usr/share/aclocal/*.m4
%endif
%if %vnc
%files -n xorg-x11-Xvnc
%defattr(-, root, root)
/etc/sysconfig/SuSEfirewall2.d/services/%{name}
/usr/bin/Xvnc
%endif
%changelog