%global commit 280aac5a0ee09c45b17ec4be0681397f7c34c12e %global shortcommit %(c=%{commit}; echo ${c:0:7}) #global gitdate 20210201 %global pkgname %{?gitdate:xserver}%{!?gitdate:xwayland} %global default_font_path "catalogue:/etc/X11/fontpath.d,built-ins" Summary: Xwayland Name: xorg-x11-server-Xwayland Version: 22.1.9 Release: 7%{?gitdate:.%{gitdate}git%{shortcommit}}%{?dist} URL: http://www.x.org %if 0%{?gitdate} Source0: https://gitlab.freedesktop.org/xorg/%{pkgname}/-/archive/%{commit}/%{pkgname}-%{shortcommit}.tar.gz %else Source0: https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.xz %endif # Backports from upstream # https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1119 Patch1: 0001-xwayland-Refactor-xwl_present_for_each_frame_callbac.patch Patch2: 0002-xwayland-Prevent-nested-xwl_present_for_each_frame_c.patch Patch3: 0003-xwayland-Make-Wayland-logs-non-fatal.patch Patch4: 0004-glamor-Fix-build-without-GBM.patch Patch5: 0005-xwayland-Fix-build-without-GBM.patch Patch6: 0006-build-set-_GNU_SOURCE-when-checking-for-SO_PEERCRED.patch Patch7: 0007-xwayland-window-Move-set-allow-functions-lower-down.patch Patch8: 0008-xwayland-window-Queue-damage-after-commits-are-allow.patch # Fix for CVE-2023-5367 Patch101: 0001-Xi-randr-fix-handling-of-PropModeAppend-Prepend.patch # Fix for CVE-2023-6377 Patch102: 0001-Xi-allocate-enough-XkbActions-for-our-buttons.patch # Fix for CVE-2023-6478 Patch103: 0001-randr-avoid-integer-truncation-in-length-check-of-Pr.patch # Fix for CVE-2023-6816, ZDI-CAN-22664, ZDI-CAN-22665 Patch104: 0001-dix-allocate-enough-space-for-logical-button-maps.patch # Fix for CVE-2024-0229, ZDI-CAN-22678 Patch105: 0002-dix-Allocate-sufficient-xEvents-for-our-DeviceStateN.patch Patch106: 0003-dix-fix-DeviceStateNotify-event-calculation.patch Patch107: 0004-Xi-when-creating-a-new-ButtonClass-set-the-number-of.patch # Fix for CVE-2024-21885, ZDI-CAN-22744 Patch108: 0005-Xi-flush-hierarchy-events-after-adding-removing-mast.patch # Fix for CVE-2024-21886, ZDI-CAN-22840 Patch109: 0006-Xi-do-not-keep-linked-list-pointer-during-recursion.patch Patch110: 0007-dix-when-disabling-a-master-float-disabled-slaved-de.patch # Fix for CVE-2024-0408 Patch111: 0008-glx-Call-XACE-hooks-on-the-GLX-buffer.patch # Fix for CVE-2024-0409 Patch112: 0009-ephyr-xwayland-Use-the-proper-private-key-for-cursor.patch # Fix for https://gitlab.gnome.org/GNOME/mutter/-/issues/2353 Patch113: 0001-xwayland-Ensure-pointer-for-gestures-has-buttons.patch # Fix for copy/paste error in previous CVE fix Patch114: 0002-dix-fix-valuator-copy-paste-error-in-the-DeviceState.patch # Fix for CVE-2024-31080 Patch115: 0003-Xi-ProcXIGetSelectedEvents-needs-to-use-unswapped-le.patch # Fix for CVE-2024-31081 Patch116: 0004-Xi-ProcXIPassiveGrabDevice-needs-to-use-unswapped-le.patch # Fix for CVE-2024-31083, ZDI-CAN-22880 Patch117: 0005-render-fix-refcounting-of-glyphs-during-ProcRenderAd.patch # Fix for the fix for CVE-2024-31083 # https://gitlab.freedesktop.org/xorg/xserver/-/issues/1659 Patch118: 0001-render-Avoid-possible-double-free-in-ProcRenderAddGl.patch # Only on F38 and later (patch number starts at 3801, see autopatch below) # Disallow byte-swapped clients by default # https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1029 Patch3801: 0001-Fix-some-indentation-issues.patch Patch3802: 0002-dix-localize-two-variables.patch Patch3803: 0003-Disallow-byte-swapped-clients-by-default.patch License: MIT Requires: xorg-x11-server-common Requires: libEGL Requires: libepoxy >= 1.5.5 BuildRequires: gcc BuildRequires: git-core BuildRequires: meson BuildRequires: wayland-devel BuildRequires: pkgconfig(wayland-client) >= 1.18.0 BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-eglstream-protocols) BuildRequires: pkgconfig(epoxy) >= 1.5.5 BuildRequires: pkgconfig(fontenc) BuildRequires: pkgconfig(libdrm) >= 2.4.0 BuildRequires: pkgconfig(libssl) BuildRequires: pkgconfig(libtirpc) BuildRequires: pkgconfig(pixman-1) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xau) BuildRequires: pkgconfig(xdmcp) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xfont2) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xinerama) BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(xmu) BuildRequires: pkgconfig(xorg-macros) >= 1.17 BuildRequires: pkgconfig(xpm) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xres) BuildRequires: pkgconfig(xshmfence) >= 1.1 BuildRequires: pkgconfig(xtrans) >= 1.3.2 BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(xv) BuildRequires: pkgconfig(libxcvt) BuildRequires: xorg-x11-proto-devel >= 7.7-10 BuildRequires: mesa-libGL-devel >= 9.2 BuildRequires: mesa-libEGL-devel BuildRequires: mesa-libgbm-devel BuildRequires: audit-libs-devel BuildRequires: libselinux-devel >= 2.0.86-1 # libunwind is Exclusive for the following arches %ifarch aarch64 %{arm} hppa ia64 mips ppc ppc64 %{ix86} x86_64 %if !0%{?rhel} BuildRequires: libunwind-devel %endif %endif BuildRequires: pkgconfig(xcb-aux) BuildRequires: pkgconfig(xcb-image) BuildRequires: pkgconfig(xcb-icccm) BuildRequires: pkgconfig(xcb-keysyms) BuildRequires: pkgconfig(xcb-renderutil) %description Xwayland is an X server for running X clients under Wayland. %package devel Summary: Development package Requires: pkgconfig %description devel The development package provides the developmental files which are necessary for developing Wayland compositors using Xwayland. %prep %autosetup -N -S git_am -n %{pkgname}-%{?gitdate:%{commit}}%{!?gitdate:%{version}} %if 0%{?fedora} >= 38 %autopatch %else %autopatch -M 3800 %endif %build %meson \ -Dxwayland_eglstream=true \ -Ddefault_font_path=%{default_font_path} \ -Dbuilder_string="Build ID: %{name} %{version}-%{release}" \ -Dxkb_output_dir=%{_localstatedir}/lib/xkb \ -Dxcsecurity=true \ -Dglamor=true \ -Ddri3=true %meson_build %install %meson_install # Remove unwanted files/dirs rm $RPM_BUILD_ROOT%{_mandir}/man1/Xserver.1* rm -Rf $RPM_BUILD_ROOT%{_libdir}/xorg rm -Rf $RPM_BUILD_ROOT%{_includedir}/xorg rm -Rf $RPM_BUILD_ROOT%{_datadir}/aclocal rm -Rf $RPM_BUILD_ROOT%{_localstatedir}/lib/xkb %files %{_bindir}/Xwayland %{_mandir}/man1/Xwayland.1* %files devel %{_libdir}/pkgconfig/xwayland.pc %changelog * Tue Apr 9 2024 Olivier Fourdan - 22.1.9-7 Fix for a regression introduced with the fix for CVE-2024-31083 https://gitlab.freedesktop.org/xorg/xserver/-/issues/1659 * Thu Apr 4 2024 Olivier Fourdan - 22.1.9-6 CVE fix for: CVE-2024-31080, CVE-2024-31081, CVE-2024-31083 Fix for copy/paste error in previous CVE fix Fix to enable buttons with pointer gestures for backward compatibility with legacy X11 clients. * Tue Jan 16 2024 Olivier Fourdan - 22.1.9-5 CVE fix for: CVE-2023-6816, CVE-2024-0229, CVE-2024-21885, CVE-2024-21886, CVE-2024-0408, CVE-2024-0409 * Wed Dec 13 2023 Peter Hutterer - 22.1.9-4 - Fix for CVE-2023-6377, CVE-2023-6478 * Wed Oct 25 2023 Peter Hutterer - 22.1.9-3 - Fix for CVE-2023-5367 * Thu Apr 27 2023 Olivier Fourdan - 22.1.9-2 - Backport various fixes from upstream (#2190130) * Wed Mar 29 2023 Olivier Fourdan - 22.1.9-1 - xwayland 22.1.9 Fixes CVE-2023-1393 * Tue Feb 7 2023 Olivier Fourdan - 22.1.8-1 - xwayland 22.1.8 Fixes CVE-2023-0494 (#2165995, #2167566, #2167734) * Sun Jan 29 2023 Stefan Bluhm - 22.1.7-4 - Updated conditional Fedora statement. * Thu Jan 19 2023 Olivier Fourdan - 22.1.7-3 - Use the recommended way to apply conditional patches without conditionalizing the sources (for byte-swapped clients). * Tue Jan 17 2023 Olivier Fourdan - 22.1.7-2 - Disallow byte-swapped clients on Fedora 38 and above (#2159489) * Mon Dec 19 2022 Olivier Fourdan - 22.1.7-1 - xwayland 22.1.7 * Wed Dec 14 2022 Peter Hutterer - 22.1.6-1 - xwayland 22.1.6 Fixes CVE-2022-46340, CVE-2022-46341, CVE-2022-46342, CVE-2022-46343, CVE-2022-46344, CVE-2022-4283 * Wed Nov 2 2022 Olivier Fourdan - 22.1.5-1 - xwayland 22.1.5 (#2139387) * Thu Oct 20 2022 Olivier Fourdan - 22.1.4-1 - xwayland 22.1.4 (#2136518) * Sat Jul 23 2022 Fedora Release Engineering - 22.1.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild * Tue Jul 12 2022 Olivier Fourdan - 22.1.3-1 - xwayland 22.1.3 - (#2106387) Fix CVE-2022-2319/ZDI-CAN-16062, CVE-2022-2320/ZDI-CAN-16070 * Wed May 25 2022 Olivier Fourdan - 22.1.2-1 - xwayland 22.1.2 - (#2090172) * Thu Mar 31 2022 Olivier Fourdan - 22.1.1-1 - xwayland 22.1.1 - (#2070435) * Wed Feb 16 2022 Olivier Fourdan - 22.1.0 - xwayland 22.1.0 - (#2055270) * Wed Feb 2 2022 Olivier Fourdan - 22.0.99.902 - xwayland 22.0.99.902 (xwayland 22.1.0 rc2) - (#2042521) * Tue Jan 25 2022 Olivier Fourdan - 22.0.99.901 - xwayland 22.0.99.901 (xwayland 22.1.0 rc1) - (#2042521) * Sat Jan 22 2022 Fedora Release Engineering - 21.1.4-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild * Tue Dec 14 2021 Olivier Fourdan - 21.1.4 - xwayland 21.1.4 * Mon Nov 8 2021 Olivier Fourdan - 21.1.3 - xwayland 21.1.3 - (#2016468) * Thu Oct 21 2021 Olivier Fourdan - 21.1.2.901-1 - xwayland 21.1.2.901 (aka 21.1.3 RC1) - (#2015413) * Tue Sep 14 2021 Sahana Prasad - 21.1.2-3 - Rebuilt with OpenSSL 3.0.0 * Fri Jul 23 2021 Fedora Release Engineering - 21.1.2-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild * Fri Jul 9 2021 Olivier Fourdan - 21.1.2-1 - xwayland 21.1.2 * Thu Jul 1 2021 Olivier Fourdan - 21.1.1.901-1 - xwayland 21.1.1.901 * Mon Jun 21 2021 Olivier Fourdan - 21.1.1-3 - Fix a use-after-free in the previous changes for GLX * Thu Jun 10 2021 Olivier Fourdan - 21.1.1-2 - Backport fixes for GLX and EGLstream (#1948003) * Wed Apr 14 2021 Olivier Fourdan - 21.1.1-1 - xwayland 21.1.1 (CVE-2021-3472 / ZDI-CAN-1259) * Thu Mar 18 2021 Olivier Fourdan - 21.1.0-1 - xwayland 21.1.0 * Thu Mar 4 2021 Olivier Fourdan - 21.0.99.902-1 - xwayland 21.0.99.902 - Remove xdmcp, udev, udev_kms build options - Stop overriding the vendor name, same as xorg-x11-server * Thu Feb 18 2021 Olivier Fourdan - 21.0.99.901-1 - xwayland 21.0.99.901 * Mon Feb 1 2021 Olivier Fourdan - 1.20.99.1-0.1.20210201git5429791 - Initial import (#1912335).