%bcond_with hal # HAL support for configuration (if no udev)
%bcond_without udev # UDEV support for configuration
%bcond_without dri2 # DRI2 extension
+%bcond_without dri3 # DRI3 extension
%bcond_without record # RECORD extension
%bcond_with xcsecurity # XC-SECURITY extension (deprecated)
%bcond_with xf86bigfont # XF86BigFont extension
%bcond_with xselinux # SELinux extension
%bcond_without dmx # DMX DDX (Xdmx server)
%bcond_without wayland # Wayland DDX (Xwayland server)
+%bcond_with eglstream # XWayland eglstream support
%bcond_without glamor # glamor dix module
%bcond_without systemtap # systemtap/dtrace probes
%bcond_without libunwind # use libunwind for backtracing
#
# ABI versions, see hw/xfree86/common/xf86Module.h
%define xorg_xserver_server_ansic_abi 0.4
-%define xorg_xserver_server_extension_abi 9.0
-%define xorg_xserver_server_font_abi 0.6
-%define xorg_xserver_server_videodrv_abi 20.0
-%define xorg_xserver_server_xinput_abi 22.1
+%define xorg_xserver_server_extension_abi 10.0
+%define xorg_xserver_server_videodrv_abi 24.1
+%define xorg_xserver_server_xinput_abi 24.1
%define pixman_ver 0.30.0
Summary: X.org server
Summary(pl.UTF-8): Serwer X.org
Name: xorg-xserver-server
-Version: 1.18.0
-Release: 1
+Version: 1.20.8
+Release: 2
License: MIT
Group: X11/Servers
-Source0: http://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
-# Source0-md5: 3c1c1057d3ad27380d8dd87ffcc182cd
+Source0: https://xorg.freedesktop.org/releases/individual/xserver/xorg-server-%{version}.tar.bz2
+# Source0-md5: a770aec600116444a953ff632f51f839
Source1: 10-quirks.conf
Source2: xserver.pamd
Source10: %{name}-Xvfb.init
Source11: %{name}-Xvfb.sysconfig
Source12: xvfb-run.sh
-
-Patch2: dtrace-link.patch
+Patch1: %{name}-xwrapper-pam.patch
Patch4: %{name}-builtin-SHA1.patch
Patch6: 110_nvidia_slowdow_fix.patch
-Patch7: %{name}-include-defs.patch
-URL: http://xorg.freedesktop.org/
+URL: https://xorg.freedesktop.org/
BuildRequires: Mesa-libGL-devel >= 7.8.1
%{?with_dri2:BuildRequires: Mesa-libGL-devel >= 9.2.0}
-%{?with_glamor:BuildRequires: Mesa-libgbm-devel >= 10.2.0}
+%{?with_glamor:BuildRequires: Mesa-libgbm-devel >= 17.1.0}
# for glx headers
BuildRequires: OpenGL-GLX-devel
%{?with_xselinux:BuildRequires: audit-libs-devel}
%if %{with hal} || %{with dbus}
BuildRequires: dbus-devel >= 1.0
%endif
+%{?with_eglstream:BuildRequires: egl-wayland-devel >= 1.0.2}
%{?with_hal:BuildRequires: hal-devel}
-BuildRequires: libdrm-devel >= 2.4.46
-%if %{with glamor} || %{with wayland}
-BuildRequires: libepoxy-devel
+BuildRequires: libdrm-devel >= 2.4.89
+%if %{with glamor}
+BuildRequires: libepoxy-devel >= 1.5.4
%endif
%{?with_xselinux:BuildRequires: libselinux-devel >= 2.0.86}
BuildRequires: libtool >= 2:2.2
%{?with_libunwind:BuildRequires: libunwind-devel}
-BuildRequires: libxcb-devel >= 1.6
+BuildRequires: libxcb-devel >= 1.9.3
BuildRequires: pam-devel
BuildRequires: perl-base
BuildRequires: pixman-devel >= %{pixman_ver}
BuildRequires: pkgconfig >= 1:0.19
%{?with_systemtap:BuildRequires: systemtap-sdt-devel}
+BuildRequires: systemd-devel >= 1:209
BuildRequires: udev-devel >= 1:143
# wayland-client
%{?with_wayland:BuildRequires: wayland-devel >= 1.3.0}
+%{?with_wayland:BuildRequires: wayland-protocols >= 1.10}
BuildRequires: xcb-util-devel
BuildRequires: xcb-util-image-devel
BuildRequires: xcb-util-keysyms-devel
+BuildRequires: xcb-util-renderutil-devel
BuildRequires: xcb-util-wm-devel
BuildRequires: xmlto >= 0.0.20
BuildRequires: xorg-app-mkfontscale
+BuildRequires: xorg-font-font-util >= 1.1
BuildRequires: xorg-lib-libX11-devel >= 1.6
BuildRequires: xorg-lib-libXau-devel
%{?with_dmx:BuildRequires: xorg-lib-libXaw-devel}
BuildRequires: xorg-lib-libXdmcp-devel
BuildRequires: xorg-lib-libXext-devel >= 1.0.99.4
BuildRequires: xorg-lib-libXfixes-devel
-BuildRequires: xorg-lib-libXfont-devel >= 1.4.2
+BuildRequires: xorg-lib-libXfont2-devel >= 2.0.0
BuildRequires: xorg-lib-libXi-devel >= 1.2.99.1
%{?with_dmx:BuildRequires: xorg-lib-libXmu-devel}
%{?with_dmx:BuildRequires: xorg-lib-libXpm-devel}
BuildRequires: xorg-proto-damageproto-devel >= 1.1
%{?with_dmx:BuildRequires: xorg-proto-dmxproto-devel >= 2.2.99.1}
%{?with_dri2:BuildRequires: xorg-proto-dri2proto-devel >= 2.8}
-BuildRequires: xorg-proto-dri3proto-devel >= 1.0
+BuildRequires: xorg-proto-dri3proto-devel >= 1.2
BuildRequires: xorg-proto-fixesproto-devel >= 5.0
BuildRequires: xorg-proto-fontcacheproto-devel
BuildRequires: xorg-proto-fontsproto-devel >= 2.1.3
BuildRequires: xorg-proto-glproto-devel >= 1.4.17
BuildRequires: xorg-proto-inputproto-devel >= 2.3
BuildRequires: xorg-proto-kbproto-devel >= 1.0.3
-BuildRequires: xorg-proto-presentproto-devel >= 1.0
+BuildRequires: xorg-proto-presentproto-devel >= 1.1
BuildRequires: xorg-proto-printproto-devel
-BuildRequires: xorg-proto-randrproto-devel >= 1.4.0
+BuildRequires: xorg-proto-randrproto-devel >= 1.6.0
%{?with_record:BuildRequires: xorg-proto-recordproto-devel >= 1.13.99.1}
BuildRequires: xorg-proto-renderproto-devel >= 0.11
BuildRequires: xorg-proto-resourceproto-devel >= 1.2.0
BuildRequires: xorg-proto-xf86miscproto-devel
BuildRequires: xorg-proto-xf86vidmodeproto-devel >= 2.2.99.1
BuildRequires: xorg-proto-xineramaproto-devel
-BuildRequires: xorg-proto-xproto-devel >= 7.0.26
+BuildRequires: xorg-proto-xproto-devel >= 7.0.31
BuildRequires: xorg-sgml-doctools >= 1.8
BuildRequires: xorg-util-util-macros >= 1.14
#BR: tslib (for KDRIVE only)
Requires(triggerpostun): sed >= 4.0
-%{?with_glamor:Requires: Mesa-libgbm >= 10.2.0}
-Requires: libdrm >= 2.4.46
+%{?with_glamor:Requires: Mesa-libgbm >= 17.1.0}
+Requires: libdrm >= 2.4.89
+%{?with_glamor:Requires: libepoxy >= 1.5.4}
Requires: pixman >= %{pixman_ver}
Requires: udev-libs >= 1:143
Requires: xkeyboard-config
# for rgb.txt
Requires: xorg-app-rgb >= 0.99.3
Requires: xorg-app-xkbcomp
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
Requires: xorg-lib-libpciaccess >= 0.12.901
Requires: xorg-lib-libxshmfence >= 1.1
Suggests: dbus-x11 >= 1.0
Suggests: udev-acl >= 1:143
%{?with_udev:Suggests: udev-core >= 1:143}
Suggests: xkeyboard-config
-Suggests: xorg-driver-input-evdev
+Suggests: xorg-driver-input-libinput
# Usual desktop setups need least one video driver to run, see xorg.log which one exactly
Suggests: xorg-driver-video
+Provides: xorg-driver-video-modesetting
Provides: xorg-xserver-libdri = %{version}-%{release}
Provides: xorg-xserver-module(dri)
Provides: xorg-xserver-server(ansic-abi) = %{xorg_xserver_server_ansic_abi}
Provides: xorg-xserver-server(extension-abi) = %{xorg_xserver_server_extension_abi}
-Provides: xorg-xserver-server(font-abi) = %{xorg_xserver_server_font_abi}
Provides: xorg-xserver-server(videodrv-abi) = %{xorg_xserver_server_videodrv_abi}
Provides: xorg-xserver-server(xinput-abi) = %{xorg_xserver_server_xinput_abi}
Obsoletes: X11-Xserver < 1:7.0.0
Obsoletes: xorg-driver-video-modesetting
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-# avoid self-dependencies on included modules
-%define _noautoreq libscanpci.so libxf1bpp.so
-
%description
Xorg server is a generally used X server which uses display hardware.
It requires proper driver for your display hardware.
Requires: pixman >= %{pixman_ver}
Requires: xorg-lib-libX11 >= 1.6
Requires: xorg-lib-libXext >= 1.0.99.4
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
Requires: xorg-lib-libXi >= 1.2.99.1
Requires: xorg-lib-libdmx >= 1.0.99.1
Group: X11/Servers
Requires: pixman >= %{pixman_ver}
Requires: xorg-lib-libXext >= 1.0.99.4
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
Obsoletes: X11-Xnest < 1:7.0.0
Obsoletes: XFree86-Xnest < 1:7.0.0
Obsoletes: Xserver-Xnest
Summary(pl.UTF-8): Xephyr - zagnieżdżony serwer X
Group: X11/Servers
Requires: Mesa-libGL >= 7.1.0
-Requires: libxcb >= 1.6
+%{?with_glamor:Requires: libepoxy >= 1.5.4}
+Requires: libxcb >= 1.9.3
Requires: pixman >= %{pixman_ver}
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
%description -n xorg-xserver-Xephyr
Xephyr is a kdrive server that outputs to a window on a pre-existing
istniejącym ekranie X. Można o nim myśleć jako o Xnest ze wsparciem do
wspólczesnych rozszerzeń jak composite, damage i randr.
-%package -n xorg-xserver-Xfbdev
-Summary: Xfbdev - Linux framebuffer device X server
-Summary(pl.UTF-8): Xfbdev - serwer X dla framebuffera
-Group: X11/Servers
-Requires: pixman >= %{pixman_ver}
-Requires: xorg-lib-libXfont >= 1.4.2
-
-%description -n xorg-xserver-Xfbdev
-Xfbdev is a Linux framebuffer device X server based on the kdrive X
-server.
-
-%description -n xorg-xserver-Xfbdev -l pl.UTF-8
-Xfbdev jest serwerem X dla framebuffera opartym na kdrive.
-
%package -n xorg-xserver-Xvfb
Summary: Xvfb - virtual framebuffer X server
Summary(pl.UTF-8): Xvfb - serwer X z wirtualnym framebufferem
Requires: xkeyboard-config
Requires: xorg-app-xauth
Requires: xorg-app-xkbcomp
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
Obsoletes: X11-Xvfb < 1:7.0.0
Obsoletes: XFree86-Xvfb < 1:7.0.0
Summary: Xwayland - X server integrated into a Wayland window system
Summary(pl.UTF-8): Xwayland - serwer X integrowalny w Wayland
Group: X11/Servers
+%{?with_eglstream:Requires: egl-wayland >= 1.0.2}
+%{?with_glamor:Requires: libepoxy >= 1.5.4}
Requires: pixman >= %{pixman_ver}
Requires: xorg-lib-libX11 >= 1.6
Requires: xorg-lib-libXext >= 1.0.99.4
-Requires: xorg-lib-libXfont >= 1.4.2
+Requires: xorg-lib-libXfont2 >= 2.0.0
Requires: xorg-lib-libXi >= 1.2.99.1
%description -n xorg-xserver-Xwayland
Summary(pl.UTF-8): Pliki nagłówkowe dla serwera X.org
Group: X11/Development/Libraries
Requires: Mesa-libGL-devel >= 7.8.0
-Requires: libdrm-devel >= 2.4.46
+Requires: libdrm-devel >= 2.4.89
Requires: pixman-devel >= %{pixman_ver}
-Requires: xorg-lib-libXfont-devel
+Requires: xorg-lib-libXfont2-devel >= 2.0.0
Requires: xorg-lib-libpciaccess-devel >= 0.12.901
Requires: xorg-lib-libxkbfile-devel
%{?with_dri2:Requires: xorg-proto-dri2proto-devel >= 2.8}
+%{?with_dri3:Requires: xorg-proto-dri3proto-devel >= 1.0}
Requires: xorg-proto-dri3proto-devel >= 1.0
Requires: xorg-proto-fontsproto-devel >= 2.1.3
Requires: xorg-proto-glproto-devel >= 1.4.17
Requires: xorg-proto-inputproto-devel >= 2.3
Requires: xorg-proto-kbproto-devel >= 1.0.3
-Requires: xorg-proto-presentproto-devel >= 1.0
-Requires: xorg-proto-randrproto-devel >= 1.4.0
+Requires: xorg-proto-presentproto-devel >= 1.1
+Requires: xorg-proto-randrproto-devel >= 1.6.0
Requires: xorg-proto-renderproto-devel >= 0.11
Requires: xorg-proto-resourceproto-devel >= 1.2.0
Requires: xorg-proto-scrnsaverproto-devel >= 1.1
Requires: xorg-proto-xextproto-devel >= 1:7.3.0
Requires: xorg-proto-xf86driproto-devel >= 2.1.0
Requires: xorg-proto-xineramaproto-devel
-Requires: xorg-proto-xproto-devel >= 7.0.26
+Requires: xorg-proto-xproto-devel >= 7.0.31
Obsoletes: X11-Xserver-devel < 1:7.0.0
Obsoletes: XFree86-Xserver-devel < 1:7.0.0
%{?with_glamor:Obsoletes: glamor-devel}
%prep
%setup -q -n xorg-server-%{version}
-
-%patch2 -p1
+%patch1 -p1
%patch4 -p1
%patch6 -p1
-%patch7 -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
# support __filemansuffix__ with "x" suffix (per FHS 2.3)
%{__sed} -i -e 's,\.so man__filemansuffix__/,.so man5/,' hw/xfree86/man/*.man
+%{__sed} -i -e '1s|#!/usr/bin/python$|#!%{__python}|' config/fdi2iclass.py
+
%build
API=$(awk '/#define ABI_ANSIC_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
-if [ $API != %{xorg_xserver_server_ansic_abi} ]; then
+if [ "$API" != "%{xorg_xserver_server_ansic_abi}" ]; then
echo "Set %%define xorg_xserver_server_ansic_abi to $API and rerun."
exit 1
fi
API=$(awk '/#define ABI_EXTENSION_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
-if [ $API != %{xorg_xserver_server_extension_abi} ]; then
+if [ "$API" != "%{xorg_xserver_server_extension_abi}" ]; then
echo "Set %%define xorg_xserver_server_extension_abi to $API and rerun."
exit 1
fi
-API=$(awk '/#define ABI_FONT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
-if [ $API != %{xorg_xserver_server_font_abi} ]; then
- echo "Set %%define xorg_xserver_server_font_abi to $API and rerun."
- exit 1
-fi
API=$(awk '/#define ABI_VIDEODRV_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
-if [ $API != %{xorg_xserver_server_videodrv_abi} ]; then
+if [ "$API" != "%{xorg_xserver_server_videodrv_abi}" ]; then
echo "Set %%define xorg_xserver_server_videodrv_abi to $API and rerun."
exit 1
fi
API=$(awk '/#define ABI_XINPUT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' hw/xfree86/common/xf86Module.h)
-if [ $API != %{xorg_xserver_server_xinput_abi} ]; then
+if [ "$API" != "%{xorg_xserver_server_xinput_abi}" ]; then
echo "Set %%define xorg_xserver_server_xinput_abi to $API and rerun."
exit 1
fi
--with-xkb-output=/var/lib/xkb \
--disable-linux-acpi \
--disable-linux-apm \
- --enable-aiglx \
%{?with_dbus:--enable-config-dbus} \
--enable-config-hal%{!?with_hal:=no} \
--enable-config-udev%{!?with_udev:=no} \
--enable-dga \
%{?with_dmx:--enable-dmx} \
--enable-dri2%{!?with_dri2:=no} \
+ --enable-dri3%{!?with_dri3:=no} \
%{?with_glamor:--enable-glamor} \
--enable-kdrive \
%{?with_libunwind:--enable-libunwind} \
%{?with_xcsecurity:--enable-xcsecurity} \
--enable-xephyr \
%{?with_xf86bigfont:--enable-xf86bigfont} \
- --disable-xfake \
- --enable-xfbdev \
%{?with_xselinux:--enable-xselinux} \
%{?with_wayland:--enable-xwayland} \
+ %{?with_eglstream:--enable-xwayland-eglstream} \
%{!?with_systemtap:--without-dtrace} \
--without-fop \
--enable-suid-wrapper \
--with-systemd-daemon
-%{__make} -j1
+%{__make}
%install
rm -rf $RPM_BUILD_ROOT
install -p %{SOURCE10} $RPM_BUILD_ROOT/etc/rc.d/init.d/Xvfb
cp -p %{SOURCE11} $RPM_BUILD_ROOT/etc/sysconfig/Xvfb
+# Xorg.wrap config
+cat >$RPM_BUILD_ROOT/etc/X11/Xwrapper.config <<EOF
+# allowed values: rootonly console anybody pam
+allowed_users = pam
+
+# set to yes if hardware or console access requires root rights (and Xwrapper fails to detect it)
+#needs_root_rights = yes
+EOF
+
# compatibility with old xwrapper
ln -s %{_libdir}/xorg/Xorg.wrap $RPM_BUILD_ROOT%{_bindir}/Xwrapper
%files
%defattr(644,root,root,755)
-%doc COPYING ChangeLog README
+%doc COPYING ChangeLog README.md
%attr(755,root,root) %{_bindir}/X
%attr(755,root,root) %{_bindir}/Xorg
%attr(4755,root,root) %{_bindir}/Xwrapper
%config(missingok) /etc/security/console.apps/xserver
%{?with_dbus:/etc/dbus-1/system.d/xorg-server.conf}
%dir /etc/X11/xorg.conf.d
+%config(noreplace) %verify(not md5 mtime size) /etc/X11/Xwrapper.config
%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/10-quirks.conf
%attr(755,root,root) %{_bindir}/Xephyr
%{_mandir}/man1/Xephyr.1*
-%files -n xorg-xserver-Xfbdev
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/Xfbdev
-
%files -n xorg-xserver-Xvfb
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/Xvfb