# Conditional build:
%bcond_with multigl # package libglx.so in a way allowing concurrent install with nvidia/fglrx drivers
%bcond_without dri2 # DRI2 support
-%bcond_without dbus # D-BUS support
-%bcond_without hal # HAL support
+%bcond_with dbus # D-BUS support
+%bcond_with hal # HAL support
+%bcond_without udev # UDEV support
%bcond_without dmx # DMX support
-%bcond_with record # RECORD extension
+%bcond_without record # RECORD extension
#
# ABI versions, see hw/xfree86/common/xf86Module.h
%define xorg_xserver_server_ansic_abi 0.4
-%define xorg_xserver_server_extension_abi 2.0
+%define xorg_xserver_server_extension_abi 5.0
%define xorg_xserver_server_font_abi 0.6
-%define xorg_xserver_server_videodrv_abi 6.0
-%define xorg_xserver_server_xinput_abi 7.0
+%define xorg_xserver_server_videodrv_abi 10.0
+%define xorg_xserver_server_xinput_abi 12.2
-%define rel 1
+%define rel 1
Summary: X.org server
Summary(pl.UTF-8): Serwer X.org
Name: xorg-xserver-server
-Version: 1.7.4
+Version: 1.10.0.902
Release: %{rel}%{?with_multigl:.mgl}
License: MIT
Group: X11/Servers
Source0: http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
-# Source0-md5: 75d27c3a1c12293f620a2d6518fcbdfa
+# Source0-md5: 65e5db9e614cd75e97840247c3754521
+Source1: 10-quirks.conf
Source2: xserver.pamd
+Source10: %{name}-Xvfb.init
+Source11: %{name}-Xvfb.sysconfig
Patch0: %{name}-xwrapper.patch
Patch1: %{name}-pic-libxf86config.patch
Patch2: %{name}-fb-size.patch
-Patch6: %{name}-less-acpi-brokenness.patch
-Patch7: %{name}-ac.patch
+Patch3: %{name}-less-acpi-brokenness.patch
+Patch4: %{name}-builtin-SHA1.patch
+Patch5: %{name}-nvidia-randr.patch
URL: http://xorg.freedesktop.org/
-BuildRequires: Mesa-libGL-devel >= 7.3
+BuildRequires: Mesa-libGL-devel >= 7.8.1
# for glx headers
BuildRequires: OpenGL-GLX-devel
BuildRequires: autoconf >= 2.57
BuildRequires: automake
BuildRequires: cpp
+#BuildRequires: doxygen >= 1.6.1
+BuildRequires: docbook-dtd43-xml
%if %{with hal} || %{with dbus}
-BuildRequires: dbus-devel
+BuildRequires: dbus-devel >= 1.0
%endif
%{?with_hal:BuildRequires: hal-devel}
BuildRequires: libdrm-devel >= 2.4.5
BuildRequires: libtool
BuildRequires: ncurses-devel
-BuildRequires: openssl-devel
BuildRequires: pam-devel
BuildRequires: perl-base
BuildRequires: pixman-devel >= 0.16.0
BuildRequires: pkgconfig >= 1:0.19
+BuildRequires: udev-devel >= 1:143
+BuildRequires: xmlto >= 0.0.20
BuildRequires: xorg-app-mkfontscale
+BuildRequires: xorg-font-font-util >= 1.1
BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXau-devel
BuildRequires: xorg-lib-libXaw-devel
BuildRequires: xorg-lib-libXdamage-devel
BuildRequires: xorg-lib-libXdmcp-devel
-BuildRequires: xorg-lib-libXext-devel
-BuildRequires: xorg-lib-libXfont-devel
-BuildRequires: xorg-lib-libXi-devel >= 1.2
+BuildRequires: xorg-lib-libXext-devel >= 1.0.99.4
+BuildRequires: xorg-lib-libXfont-devel >= 1.4.2
+BuildRequires: xorg-lib-libXi-devel >= 1.2.99.1
BuildRequires: xorg-lib-libXmu-devel
BuildRequires: xorg-lib-libXpm-devel
BuildRequires: xorg-lib-libXrender-devel
BuildRequires: xorg-lib-libXxf86vm-devel
%{?with_dmx:BuildRequires: xorg-lib-libdmx-devel >= 1.0.99.1}
BuildRequires: xorg-lib-libfontenc-devel
-BuildRequires: xorg-lib-libpciaccess-devel
+BuildRequires: xorg-lib-libpciaccess-devel >= 0.8.0
BuildRequires: xorg-lib-libxkbfile-devel
BuildRequires: xorg-lib-libxkbui-devel >= 1.0.2
BuildRequires: xorg-lib-xtrans-devel >= 1.2.2
BuildRequires: xorg-proto-bigreqsproto-devel >= 1.1.0
BuildRequires: xorg-proto-compositeproto-devel >= 0.4
BuildRequires: xorg-proto-damageproto-devel >= 1.1
-%{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel}
-%{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 2.1}
+%{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel >= 2.2.99.1}
+%{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 2.3}
BuildRequires: xorg-proto-fixesproto-devel >= 4.1
BuildRequires: xorg-proto-fontcacheproto-devel
BuildRequires: xorg-proto-fontsproto-devel
-BuildRequires: xorg-proto-glproto-devel >= 1.4.8
+BuildRequires: xorg-proto-glproto-devel >= 1.4.10
BuildRequires: xorg-proto-inputproto-devel >= 1.9.99.902
BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
BuildRequires: xorg-proto-printproto-devel
-BuildRequires: xorg-proto-randrproto-devel >= 1.2.99.3
-%{?with_record:BuildRequires: xorg-proto-recordproto-devel}
+BuildRequires: xorg-proto-randrproto-devel >= 1.3
+%{?with_record:BuildRequires: xorg-proto-recordproto-devel >= 1.13.99.1}
BuildRequires: xorg-proto-renderproto-devel >= 0.11
BuildRequires: xorg-proto-resourceproto-devel
-BuildRequires: xorg-proto-scrnsaverproto-devel >= 1.1.0
+BuildRequires: xorg-proto-scrnsaverproto-devel >= 1.1
BuildRequires: xorg-proto-videoproto-devel
BuildRequires: xorg-proto-xcmiscproto-devel >= 1.2.0
-BuildRequires: xorg-proto-xextproto-devel >= 1:7.0.99.3
-BuildRequires: xorg-proto-xf86bigfontproto-devel
-BuildRequires: xorg-proto-xf86dgaproto-devel
-BuildRequires: xorg-proto-xf86driproto-devel >= 2.0.4
+BuildRequires: xorg-proto-xextproto-devel >= 1:7.2.0
+BuildRequires: xorg-proto-xf86bigfontproto-devel >= 1.2.0
+BuildRequires: xorg-proto-xf86dgaproto-devel >= 2.0.99.1
+BuildRequires: xorg-proto-xf86driproto-devel >= 2.1.0
BuildRequires: xorg-proto-xf86miscproto-devel
-BuildRequires: xorg-proto-xf86vidmodeproto-devel
+BuildRequires: xorg-proto-xf86vidmodeproto-devel >= 2.2.99.1
BuildRequires: xorg-proto-xineramaproto-devel
-BuildRequires: xorg-proto-xproto-devel >= 7.0.13
-BuildRequires: xorg-util-util-macros >= 0.99.2
-#BR: xcalibrateproto, tslib (for KDRIVE only)
+BuildRequires: xorg-proto-xproto-devel >= 7.0.17
+BuildRequires: xorg-sgml-doctools >= 1.5
+BuildRequires: xorg-util-util-macros >= 1.10
#BR: glitz-devel >= 0.4.3 (for XGL and EGL only)
+#BR: xcalibrateproto, tslib (for KDRIVE only)
Requires(triggerpostun): sed >= 4.0
Requires: pixman >= 0.16.0
Requires: xkeyboard-config
# for rgb.txt
Requires: xorg-app-rgb >= 0.99.3
Requires: xorg-app-xkbcomp
-# xserver default config expects evdev+dbus+hald
-Suggests: dbus
-Suggests: hal
+%{?with_hal:Suggests: dbus >= 1.0}
+%{?with_hal:Suggests: hal}
Suggests: udev-acl
+%{?with_udev:Suggests: udev-core >= 1:143}
Suggests: xorg-driver-input-evdev
# xserver requires fixed and cursor fonts
Requires: xorg-font-font-alias
Summary: Xephyr - nested X server
Summary(pl.UTF-8): Xephyr - zagnieżdżony serwer X
Group: X11/Servers
+Requires: pixman >= 0.16.0
%description -n xorg-xserver-Xephyr
Xephyr is a a kdrive server that outputs to a window on a pre-existing
Xvfb do uruchomienia aplikacji, które w rzeczywistości nie wymagają
serwera X, ale odmawiają uruchomienia bez niego.
+%package -n xorg-xserver-Xvfb-init
+Summary: Init scripts for Xvfb
+Summary(pl.UTF-8): Skrypty startowe dla Xvfb
+Group: X11/Servers
+Requires: xorg-xserver-Xvfb
+
+%description -n xorg-xserver-Xvfb-init
+This package contains init scripts for Xvfb and registers Xvfb as
+system service.
+
+%description -n xorg-xserver-Xvfb-init -l pl.UTF-8
+Ten pakiet zawiera skrypty startowe dla Xvfb oraz rejestruje Xvfb jako
+usługę systemową.
+
%package devel
Summary: Header files for X.org server
Summary(pl.UTF-8): Pliki nagłówkowe dla serwera X.org
Group: X11/Development/Libraries
Requires: libdrm-devel >= 2.4.5
Requires: pixman-devel >= 0.16.0
-Requires: xorg-lib-libpciaccess-devel
+Requires: xorg-lib-libpciaccess-devel >= 0.8.0
Requires: xorg-lib-libxkbfile-devel
-Requires: xorg-proto-dri2proto-devel >= 2.1
+Requires: xorg-proto-dri2proto-devel >= 2.3
Requires: xorg-proto-fontsproto-devel
Requires: xorg-proto-inputproto-devel >= 1.9.99.902
-Requires: xorg-proto-randrproto-devel >= 1.2.99.3
-Requires: xorg-proto-renderproto-devel >= 0.9.3
+Requires: xorg-proto-kbproto-devel >= 1.0.3
+Requires: xorg-proto-randrproto-devel >= 1.3
+Requires: xorg-proto-renderproto-devel >= 0.11
Requires: xorg-proto-videoproto-devel
-Requires: xorg-proto-xextproto-devel >= 1:7.0.99.3
-Requires: xorg-proto-xproto-devel >= 7.0.13
+Requires: xorg-proto-xextproto-devel >= 1:7.2.0
+Requires: xorg-proto-xf86driproto-devel
+Requires: xorg-proto-xineramaproto-devel
+Requires: xorg-proto-xproto-devel >= 7.0.17
Obsoletes: X11-Xserver-devel < 1:7.0.0
Obsoletes: XFree86-Xserver-devel < 1:7.0.0
%description devel -l pl.UTF-8
Pliki nagłówkowe dla serwera X.org.
+%package source
+Summary: X.org server source code
+Summary(pl.UTF-8): Pliki źródłowe dla serwera X.org
+Group: X11/Development/Libraries
+
+%description source
+X.org server source code.
+
+%description source -l pl.UTF-8
+Pliki źródłowe dla serwera X.org.
+
%package -n xorg-xserver-libdri
Summary: DRI extension library for X.org server
Summary(pl.UTF-8): Biblioteka rozszerzenia DRI dla serwera X.org
Requires: %{name} = %{version}-%{release}
Provides: xorg-xserver-module(dri)
%if %{without multigl}
-Conflicts: xorg-driver-video-fglrx-libdri
+Conflicts: xorg-driver-video-fglrx
Conflicts: xorg-driver-video-nvidia
%endif
Obsoletes: X11-OpenGL-core < 1:7.0.0
Obsoletes: XFree86-OpenGL-core < 1:7.0.0
%if %{without multigl}
-Conflicts: xorg-driver-video-fglrx-libglx
+Conflicts: xorg-driver-video-fglrx
Conflicts: xorg-driver-video-nvidia
%endif
%patch0 -p0
%patch1 -p1
%patch2 -p1
-%patch6 -p1
-%patch7 -p0
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
# xserver uses pixman-1 API/ABI so put that explictly here
sed -i -e 's#<pixman\.h#<pixman-1/pixman.h#g' ./fb/fb.h ./include/miscstruct.h ./render/picture.h
%configure \
--with-os-name="PLD/Linux" \
--with-os-vendor="PLD/Team" \
+ --without-fop \
--%{?with_dbus:en}%{!?with_dbus:dis}able-config-dbus \
%{!?with_hal:--disable-config-hal} \
+ --%{?with_udev:en}%{!?with_udev:dis}able-config-udev \
--enable-aiglx \
--enable-builddocs \
--enable-dga \
--enable-xephyr \
--enable-xfbdev \
--enable-glx-tls \
- --disable-xsdl \
--disable-xfake \
--enable-secure-rpc \
--%{?with_dri2:en}%{!?with_dri2:dis}able-dri2 \
- --with-dri-driver-path=%{_libdir}/xorg/modules/dri \
--with-default-font-path="%{_fontsdir}/misc,%{_fontsdir}/TTF,%{_fontsdir}/OTF,%{_fontsdir}/Type1,%{_fontsdir}/100dpi,%{_fontsdir}/75dpi" \
--with-xkb-output=/var/lib/xkb
DESTDIR=$RPM_BUILD_ROOT
install -D %{SOURCE2} $RPM_BUILD_ROOT/etc/pam.d/xserver
-install -d $RPM_BUILD_ROOT/etc/security/console.apps
+install -d $RPM_BUILD_ROOT/etc/{security/console.apps,X11/xorg.conf.d}
install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{dri,drivers,input}
+install -d $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d
+
:> $RPM_BUILD_ROOT/etc/security/console.apps/xserver
:> $RPM_BUILD_ROOT/etc/security/blacklist.xserver
rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{*,*/*}.{la,a}
+install %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d/10-quirks.conf
+
+install -d $RPM_BUILD_ROOT/etc/rc.d/init.d
+install -d $RPM_BUILD_ROOT/etc/sysconfig
+install %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/Xvfb
+install %{SOURCE11} $RPM_BUILD_ROOT/etc/sysconfig/Xvfb
+
%if %{with multigl}
cd $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions
mv -f libglx.so libglx.so.%{version}
ln -sf libglx.so.%{version} libglx.so
+cd -
%endif
+install -d $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
+cp -a * $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
+cd $RPM_BUILD_ROOT%{_usrsrc}/%{name}-%{version}
+%{__make} distclean
+find '(' -name '*~' -o -name '*.orig' ')' -print0 | xargs -0 -r -l512 rm -f
+find -name '*.h' | xargs chmod a-x
+
%clean
rm -rf $RPM_BUILD_ROOT
sed -i -e 's/^\s*Load\s*"xtrap".*$/#& # obsolete module/' /etc/X11/xorg.conf
fi
+%post -n xorg-xserver-Xvfb-init
+/sbin/chkconfig --add Xvfb
+%service Xvfb restart
+
+%preun -n xorg-xserver-Xvfb-init
+if [ "$1" = "0" ]; then
+ %service -q Xvfb stop
+ /sbin/chkconfig --del Xvfb
+fi
+
%files
%defattr(644,root,root,755)
-%doc COPYING ChangeLog
+%doc COPYING ChangeLog README
%attr(755,root,root) %{_bindir}/X
%attr(755,root,root) %{_bindir}/Xorg
%attr(4755,root,root) %{_bindir}/Xwrapper
%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libextmod.so
%{?with_record:%attr(755,root,root) %{_libdir}/xorg/modules/extensions/librecord.so}
%dir %{_libdir}/xorg/modules/input
-%dir %{_libdir}/xorg/modules/linux
-%attr(755,root,root) %{_libdir}/xorg/modules/linux/libfbdevhw.so
%dir %{_libdir}/xorg/modules/multimedia
%attr(755,root,root) %{_libdir}/xorg/modules/multimedia/*.so
%attr(755,root,root) %{_libdir}/xorg/modules/lib*.so
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/security/blacklist.xserver
%config(missingok) /etc/security/console.apps/xserver
%{?with_dbus:/etc/dbus-1/system.d/xorg-server.conf}
+%dir /etc/X11/xorg.conf.d
+%dir %{_datadir}/X11/xorg.conf.d
+# overwrite these settings with local configs in /etc/X11/xorg.conf.d
+%verify(not md5 mtime size) %{_datadir}/X11/xorg.conf.d/*.conf
%{_mandir}/man1/Xorg.1x*
%{_mandir}/man1/Xserver.1x*
%{_mandir}/man1/cvt.1*
%{_mandir}/man4/exa.4*
%{_mandir}/man4/fbdevhw.4*
%{_mandir}/man5/xorg.conf.5x*
+%{_mandir}/man5/xorg.conf.d.5x
%if %{with dmx}
%files -n xorg-xserver-Xdmx
%attr(755,root,root) %{_bindir}/Xdmx
%attr(755,root,root) %{_bindir}/dmxaddinput
%attr(755,root,root) %{_bindir}/dmxaddscreen
+%attr(755,root,root) %{_bindir}/dmxinfo
%attr(755,root,root) %{_bindir}/dmxreconfig
%attr(755,root,root) %{_bindir}/dmxresize
%attr(755,root,root) %{_bindir}/dmxrminput
%attr(755,root,root) %{_bindir}/dmxtodmx
%attr(755,root,root) %{_bindir}/dmxwininfo
%attr(755,root,root) %{_bindir}/vdltodmx
-%attr(755,root,root) %{_bindir}/xdmx
%attr(755,root,root) %{_bindir}/xdmxconfig
%{_mandir}/man1/Xdmx.1x*
%{_mandir}/man1/dmxtodmx.1x*
%attr(755,root,root) %{_bindir}/Xvfb
%{_mandir}/man1/Xvfb.1x*
+%files -n xorg-xserver-Xvfb-init
+%defattr(644,root,root,755)
+%attr(754,root,root) /etc/rc.d/init.d/Xvfb
+%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/Xvfb
+
%files devel
%defattr(644,root,root,755)
+%doc doc/xml/Xserver-spec.html
%{_includedir}/xorg
%{_libdir}/libxf86config.a
+%{_libdir}/libxf86config.la
%{_aclocaldir}/xorg-server.m4
%{_pkgconfigdir}/xorg-server.pc
+%files source
+%defattr(-,root,root,755)
+%{_usrsrc}/%{name}-%{version}
+
%files -n xorg-xserver-libdri
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libdri.so