File xorg-x11-server.spec of Package xorg-x11-server.31902
#
# spec file for package xorg-x11-server
#
# Copyright (c) 2019 SUSE LINUX 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/
#
#Compat macro for new _fillupdir macro introduced in Nov 2017
%if ! %{defined _fillupdir}
%define _fillupdir /var/adm/fillup-templates
%endif
%define pci_ids_dir %{_sysconfdir}/X11/xorg_pci_ids
# now built separately in xwayland pkg with more recent sources (boo#1182677)
%define have_wayland 0
%define build_suid_wrapper 0
%if 0%{!?build_suid_wrapper:1}
%if 0%{?suse_version} >= 1330
%define build_suid_wrapper 1
%define suid_wrapper_dir %{_libexecdir}
%else
%define build_suid_wrapper 0
%endif
%endif
Name: xorg-x11-server
Version: 1.20.3
Release: 0
Url: http://xorg.freedesktop.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: X
# Source URL: http://xorg.freedesktop.org/archive/individual/xserver/
License: MIT
Group: System/X11/Servers/XF86_4
Source0: xorg-server-%{version}.tar.bz2
Source1: sysconfig.displaymanager.template
Source2: README.updates
Source3: xorgcfg.tar.bz2
Source4: xorg-backtrace
Source5: 50-extensions.conf
Source6: modesetting.ids
Source7: xkb-tmpfiles.conf
# RPM Macros to be installed. The ABI Versions will be injected by configure.
Source90: xorg-x11-server.macros.in
# Source91 and Source99 are used to ensure proper ABI provides.
Source91: xorg-server-provides
Source92: pre_checkin.sh
BuildRequires: bison
BuildRequires: flex
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(bigreqsproto) >= 1.1.0
BuildRequires: pkgconfig(compositeproto)
BuildRequires: pkgconfig(damageproto) >= 1.1
BuildRequires: pkgconfig(dbus-1) >= 1.0
BuildRequires: pkgconfig(dmx) >= 1.0.99.1
BuildRequires: pkgconfig(dri) >= 7.8.0
BuildRequires: pkgconfig(dri2proto)
BuildRequires: pkgconfig(dri3proto)
BuildRequires: pkgconfig(egl)
BuildRequires: pkgconfig(epoxy) >= 1.1
%if 0%{?have_wayland} == 1
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
%endif
BuildRequires: pkgconfig(fixesproto) >= 4.1
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(fontenc)
BuildRequires: pkgconfig(fontsproto)
BuildRequires: pkgconfig(fontutil)
BuildRequires: pkgconfig(freetype2)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(glproto)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(inputproto) >= 1.9.99.902
BuildRequires: pkgconfig(kbproto) >= 1.0.3
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(openssl)
BuildRequires: pkgconfig(pciaccess) >= 0.8.0
BuildRequires: pkgconfig(pixman-1) >= 0.24
BuildRequires: pkgconfig(presentproto)
BuildRequires: pkgconfig(randrproto) >= 1.5.0
BuildRequires: pkgconfig(renderproto) >= 0.11
BuildRequires: pkgconfig(resourceproto)
BuildRequires: pkgconfig(scrnsaverproto)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xaw7)
BuildRequires: pkgconfig(xcb-aux)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-image)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-renderutil)
BuildRequires: pkgconfig(xcmiscproto) >= 1.2.0
BuildRequires: pkgconfig(xdmcp)
BuildRequires: pkgconfig(xext) >= 1.0.99.4
BuildRequires: pkgconfig(xextproto) >= 7.1.99
BuildRequires: pkgconfig(xf86dgaproto)
BuildRequires: pkgconfig(xf86driproto)
BuildRequires: pkgconfig(xf86vidmodeproto)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xfont2)
BuildRequires: pkgconfig(xi) >= 1.2.99.1
BuildRequires: pkgconfig(xineramaproto)
BuildRequires: pkgconfig(xkbcomp)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xmu)
BuildRequires: pkgconfig(xorg-macros)
BuildRequires: pkgconfig(xp)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xprintutil)
BuildRequires: pkgconfig(xproto) >= 7.0.31
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(xshmfence)
BuildRequires: pkgconfig(xt)
BuildRequires: pkgconfig(xtrans) >= 1.3.1
BuildRequires: pkgconfig(xtst) >= 1.0.99.2
BuildRequires: pkgconfig(xv)
### udev support (broken on openSUSE 11.2, see also bnc #589997)
%if 0%{?suse_version} >= 1130
BuildRequires: pkgconfig(libudev) >= 143
%endif
Requires(pre): %fillup_prereq
Requires: pkgconfig
Requires: xkbcomp
Recommends: xorg-x11-fonts-core
Requires: libpixman-1-0 >= 0.24
%(cat %{SOURCE91})
Requires: Mesa
%if 0%{?suse_version} >= 1315
Requires(post): update-alternatives
Requires(postun): update-alternatives
%endif
Provides: xorg-x11-Xvfb
Provides: xorg-x11-server-glx
Obsoletes: xorg-x11-Xvfb
Obsoletes: xorg-x11-server-glx
Provides: glamor = %{version}
Provides: glamor-egl = %{version}
Obsoletes: glamor < %{version}
Obsoletes: glamor < 7.6_%{version}
Obsoletes: glamor-egl < %{version}
Obsoletes: glamor-egl < 7.6_%{version}
Provides: xf86-video-modesetting = %{version}
Obsoletes: xf86-video-modesetting < %{version}
Obsoletes: xf86-video-modesetting < 7.6_%{version}
%if 0%{?suse_version} >= 1500
Provides: xf86-video-ast
Obsoletes: xf86-video-ast
Provides: xf86-video-cirrus
Obsoletes: xf86-video-cirrus
%endif
Provides: xorg-x11-server = 7.6_%{version}
Obsoletes: xorg-x11-server < 7.6_%{version}
# Remove (also from depending driver(s)) when updating X11_ABI_VIDEODRV by updating the server package - NOTE: also remove from xorg-x11-server.macros.in !
Provides: X11_ABI_HAS_DPMS_GET_CAPABILITIES
# Xvfb requires keyboard files as well (bnc#797124)
Requires: xkeyboard-config
# PATCH-FEATURE-OPENSUSE n_xorg-x11-server-rpmmacros.patch dimstar@opensuse.org -- Provide RPM macros to require correct ABI Versions.
Patch1: N_default-module-path.diff
Patch2: N_zap_warning_xserver.diff
Patch3: N_driver-autoconfig.diff
Patch4: N_fix_fglrx_screendepth_issue.patch
Patch6: N_fix-dpi-values.diff
Patch7: N_Install-Avoid-failure-on-wrapper-installation.patch
Patch8: u_xorg-wrapper-Drop-supplemental-group-IDs.patch
Patch9: u_xorg-wrapper-build-Build-position-independent-code.patch
Patch100: u_01-Improved-ConfineToShape.patch
Patch101: u_02-DIX-ConfineTo-Don-t-bother-about-the-bounding-box-when-grabbing-a-shaped-window.patch
Patch102: U_hw_do-not-include-sys-io-with-glibc.patch
Patch104: u_xorg-server-xdmcp.patch
Patch112: u_render-Cast-color-masks-to-unsigned-long-before-shifting-them.patch
Patch115: N_Disable-HW-Cursor-for-cirrus-and-mgag200-kernel-modules.patch
Patch117: xorg-x11-server-byte-order.patch
Patch160: u_vesa-Add-VBEDPMSGetCapabilities-VBEDPMSGet.patch
Patch208: u_Panning-Set-panning-state-in-xf86RandR12ScreenSetSize.patch
Patch209: u_pci-primary-Fix-up-primary-PCI-device-detection-for-the-platfrom-bus.patch
Patch210: u_os-connections-Check-for-stale-FDs.patch
Patch215: u_Use-better-fallbacks-to-generate-cookies-if-arc4rand.patch
Patch1000: n_xserver-optimus-autoconfig-hack.patch
Patch1162: b_cache-xkbcomp-output-for-fast-start-up.patch
Patch1211: b_0001-Prevent-XSync-Alarms-from-senslessly-calling-CheckTr.patch
Patch1222: b_sync-fix.patch
Patch1401: u_randr-Do-not-crash-if-slave-screen-does-not-have-pro.patch
Patch1501: U_xkb-Fix-heap-overflow-caused-by-optimized-away-min.patch
Patch1502: U_dix-window-Use-ConfigureWindow-instead-of-MoveWindow.patch
Patch1503: u_xfree86-Do-not-claim-pci-slots-if-fb-slot-is-already.patch
# required for NVIDIA's PRIME render offload support
Patch1601: 0001-xsync-Add-resource-inside-of-SyncCreate-export-SyncC.patch
Patch1602: 0002-GLX-Add-a-per-client-vendor-mapping.patch
Patch1603: 0003-GLX-Use-the-sending-client-for-looking-up-XID-s.patch
Patch1604: 0004-GLX-Add-a-function-to-change-a-clients-vendor-list.patch
Patch1605: 0005-GLX-Set-GlxServerExports-major-minor-Version.patch
Patch1174633: U_FixForZDI-11426.patch
Patch1174635: u_xkb-CVE-2020-14345.patch
Patch1174638: u_xichangehierarchy-CVE-2020-14346.patch
Patch1174908: u_xkb-CVE-2020-14360.patch
Patch1703: U_0003-Fix-XkbSelectEvents-integer-underflow.patch
Patch1704: U_0004-Fix-XRecordRegisterClients-Integer-underflow.patch
Patch1801: U_present-wnmd-Fix-use-after-free-on-CRTC-removal.patch
Patch1802: U_present-wnmd-Relax-assertion-on-CRTC-on-abort_vblank.patch
Patch1900: U_xkbsetdeviceinfo.patch
Patch2000: U_modesetting-Fix-broken-manpage-in-autoconf-build.patch
Patch1180128: U_Fix-XChangeFeedbackControl-request-underflow.patch
Patch2001: U_build-glx-Lower-gl-version-to-work-with-libglvnd.patch
Patch2002: U_meson-Fix-another-reference-to-gl-9.2.0.patch
Patch2005: U_xfree86-Change-displays-array-to-pointers-array-to-f.patch
Patch2006: U_xfree86-Fix-NULL-pointer-dereference-crash.patch
Patch2010: u_modesetting-Fix-dirty-updates-for-sw-rotation.patch
Patch2020: u_xf86-Accept-devices-with-the-simpledrm-driver.patch
Patch2021: u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch
Patch2022: U_0002-DRI2-Add-another-Coffeelake-PCI-ID.patch
Patch2023: U_0003-dri2-Sync-i965_pci_ids.h-from-mesa.patch
Patch2024: U_0004-dri2-Set-fallback-driver-names-for-Intel-and-AMD-chi.patch
Patch2025: U_0005-dri2-Sync-i965_pci_ids.h-from-mesa-iris_pci_ids.h.patch
Patch2026: u_sync-pci-ids-with-Mesa-21.2.4.patch
Patch2030: U_glamor-Make-pixmap-exportable-from-gbm_bo_from_pixma.patch
Patch2042: U_0002-Fix-crash-on-XkbSetMap.patch
Patch2043: U_0003-Fix-crash-on-XkbSetMap.patch
Patch1193030: U_rendercompositeglyphs.patch
Patch1190487: U_xfixes-Fix-out-of-bounds-access-in-ProcXFixesCreateP.patch
Patch1190488: U_Xext-Fix-out-of-bounds-access-in-SProcScreenSaverSus.patch
Patch1190489: U_record-Fix-out-of-bounds-access-in-SwapCreateRegiste.patch
#CVE-2022-2320, ZDI-CAN-16070, bsc#1194181
Patch3001: U_boo1194181-001-xkb-swap-XkbSetDeviceInfo-and-XkbSetDeviceInfoCheck.patch
#CVE-2022-2319, ZDI-CAN-16062, bsc#1194179
Patch3101: U_boo1194179-001-xkb-rename-xkb_h-to-xkb-procs_h.patch
Patch3102: U_boo1194179-002-xkb-add-request-length-validation-for-XkbSetGeometry.patch
Patch1204412: U_xkb-proof-GetCountedString-against-request-length-at.patch
Patch1204416: U_xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch
Patch1205874: U_0001-Xtest-disallow-GenericEvents-in-XTestSwapFakeInput.patch
Patch1205875: U_0002-Xi-return-an-error-from-XI-property-changes-if-verif.patch
Patch1205876: U_0003-Xi-avoid-integer-truncation-in-length-check-of-ProcX.patch
Patch1205877: U_0004-Xi-disallow-passive-grabs-with-a-detail-255.patch
Patch1205878: U_0005-Xext-free-the-screen-saver-resource-when-replacing-i.patch
Patch1205879: U_0006-Xext-free-the-XvRTVideoNotify-when-turning-off-from-.patch
Patch1206017: U_0007-xkb-reset-the-radio_groups-pointer-to-NULL-after-fre.patch
Patch1207783: U_Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch
Patch1207800: U_Xext-fix-invalid-event-type-mask-in-XTestSwapFakeInp.patch
Patch1209543: U_xserver-composite-Fix-use-after-free-of-the-COW.patch
Patch1216133: U_bsc1216133-mi-reset-the-PointerWindows-reference-on-screen-swit.patch
Patch1216135: U_bsc1216135-Xi-randr-fix-handling-of-PropModeAppend-Prepend.patch
Patch1216261: U_bsc1216261-0001-mi-fix-CloseScreen-initialization-order.patch
Patch1216262: U_bsc1216261-0002-fb-properly-wrap-unwrap-CloseScreen.patch
Patch1216263: U_bsc1216261-0003-dix-always-initialize-pScreen-CloseScreen.patch
Patch1217765: U_bsc1217765-Xi-allocate-enough-XkbActions-for-our-buttons.patch
Patch1217766: U_bsc1217766-randr-avoid-integer-truncation-in-length-check-of-Pr.patch
%description
This package contains the X.Org Server.
%package extra
Summary: Additional Xservers (Xdmx, Xephyr, Xnest)
Group: System/X11/Servers/XF86_4
Requires: Mesa
Requires: xkbcomp
Requires: xkeyboard-config
Recommends: xorg-x11-fonts-core
Provides: xorg-x11-Xnest
Obsoletes: xorg-x11-Xnest
%description extra
This package contains additional Xservers (Xdmx, Xephyr, Xnest).
%if 0%{?have_wayland} == 1
%package wayland
Summary: Xwayland Xserver
Group: System/X11/Servers/XF86_4
Requires: xkbcomp
Requires: xkeyboard-config
Recommends: xorg-x11-fonts-core
%description wayland
This package contains the Xserver running on the Wayland Display Server.
%endif
%if 0%{?build_suid_wrapper} == 1
%package wrapper
Summary: Xserver SUID Wrapper
Group: System/X11/Servers/XF86_4
PreReq: permissions
Requires: xorg-x11-server == %{version}
Provides: xorg-x11-server-wayland = 7.6_%{version}
Obsoletes: xorg-x11-server-wayland < 7.6_%{version}
%description wrapper
This package contains an SUID wrapper for the Xserver.
%endif
%package sdk
Summary: X
Group: System/Libraries
Requires: autoconf
Requires: automake
Requires: c_compiler
Requires: libtool
Requires: xorg-x11-server
Requires: pkgconfig(fontconfig)
Requires: pkgconfig(fontenc)
Requires: pkgconfig(freetype2)
Requires: pkgconfig(ice)
Requires: pkgconfig(libdrm)
Requires: pkgconfig(libevdev)
Requires: pkgconfig(libudev)
Requires: pkgconfig(mtdev)
Requires: pkgconfig(sm)
Requires: pkgconfig(x11)
Requires: pkgconfig(xau)
Requires: pkgconfig(xdmcp)
Requires: pkgconfig(xext)
Requires: pkgconfig(xfixes)
Requires: pkgconfig(xkbfile)
Requires: pkgconfig(xmu)
Requires: pkgconfig(xorg-macros)
Requires: pkgconfig(xp)
Requires: pkgconfig(xpm)
Requires: pkgconfig(xprintutil)
Requires: pkgconfig(xrender)
Requires: pkgconfig(xt)
Requires: pkgconfig(xtrans)
Requires: pkgconfig(xv)
Provides: xorg-x11-sdk
Obsoletes: xorg-x11-sdk
Provides: glamor-devel = %{version}
Obsoletes: glamor-devel < %{version}
Obsoletes: glamor-devel < 7.6_%{version}
Provides: xorg-x11-server-sdk = 7.6_%{version}
Obsoletes: xorg-x11-server-sdk < 7.6_%{version}
%description sdk
This package contains the X.Org Server SDK.
%package source
Summary: Source code of X.Org server
Group: Development/Sources
%description source
This package contains patched sources of X.Org Server.
%prep
%setup -q -n xorg-server-%{version} -a3
# Early verification if the ABI Defines are correct. Let's not waste build cycles if the Provides are wrong at the end.
sh %{SOURCE92} --verify . %{SOURCE91}
%if 0%{?suse_version} < 1315
%patch1
%endif
%patch2 -p1
%patch3 -p0
%patch4 -p0
%patch6 -p0
%patch7 -p1
%patch8 -p1
%patch9 -p1
#
%patch100 -p1
#%patch101 -p1
%patch102 -p1
%patch104 -p1
%patch112 -p1
%patch115 -p1
%patch117 -p1
%patch160 -p1
%patch208 -p1
%patch209 -p1
### not applicable anymore
#%patch210 -p1
%patch215 -p1
%patch1000 -p1
### disabled for now
#%patch1162 -p1
### disabled for now
#%patch1211 -p1
### patch222 might not be applicable anymore
#%patch1222 -p1
%patch1401 -p1
%patch1501 -p1
%patch1502 -p1
%patch1503 -p1
# required for NVIDIA's PRIME render offload support
%patch1601 -p1
%patch1602 -p1
%patch1603 -p1
%patch1604 -p1
%patch1605 -p1
%patch1174633 -p1
%patch1174635 -p1
%patch1174638 -p1
%patch1703 -p1
%patch1704 -p1
%patch1801 -p1
%patch1802 -p1
%patch1900 -p1
%patch1174908 -p1
%patch2000 -p1
%patch1180128 -p0
%patch2001 -p1
%patch2002 -p1
%patch2005 -p1
%patch2006 -p1
%patch2010 -p1
%patch2020 -p1
%patch2021 -p1
%patch2022 -p1
%patch2023 -p1
%patch2024 -p1
%patch2025 -p1
%patch2026 -p1
%patch2030 -p1
%patch2042 -p1
%patch2043 -p1
%patch1193030 -p1
%patch1190487 -p1
%patch1190488 -p1
%patch1190489 -p1
%patch3001 -p1
%patch3101 -p1
%patch3102 -p1
%patch1204412 -p1
%patch1204416 -p1
%patch1205874 -p1
%patch1205875 -p1
%patch1205876 -p1
%patch1205877 -p1
%patch1205878 -p1
%patch1205879 -p1
%patch1206017 -p1
%patch1207783 -p1
%patch1207800 -p1
%patch1209543 -p1
%patch1216133 -p0
%patch1216135 -p0
%patch1216261 -p0
%patch1216262 -p0
%patch1216263 -p1
%patch1217765 -p1
%patch1217766 -p1
%build
test -e source-file-list || \
find -L . -type f \! -name '*.orig' \! -path ./source-file-list > \
source-file-list
autoreconf -fi
%if 0%{?pci_ids_dir:1}
export PCI_TXT_IDS_DIR=%{pci_ids_dir}
%endif
%configure CFLAGS="%{optflags} -fno-strict-aliasing" \
--enable-xf86vidmode \
--sysconfdir=/etc \
--enable-xdmcp \
--enable-xdm-auth-1 \
--enable-dri \
--enable-dri2 \
--enable-dri3 \
--enable-glamor \
--enable-dmx \
--enable-xnest \
--enable-kdrive \
--enable-kdrive-evdev \
--enable-xephyr \
--disable-xfake \
--disable-xfbdev \
--enable-record \
--enable-xcsecurity \
--enable-systemd-logind \
--with-sha1=libcrypto \
--disable-linux-acpi \
--disable-linux-apm \
--enable-xorg \
%if 0%{?suse_version} > 1120
--enable-config-udev \
%endif
%if 0%{?have_wayland} == 1
--enable-xwayland \
%else
--disable-xwayland \
%endif
%if 0%{?build_suid_wrapper} == 1
--enable-suid-wrapper \
--libexecdir=%{suid_wrapper_dir} \
%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" \
--with-default-font-path="/usr/share/fonts/misc:unscaled,\
/usr/share/fonts/Type1/,/usr/share/fonts/100dpi:unscaled,\
%if 0%{?suse_version} > 1210
/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/ghostscript/,\
%else
/usr/share/fonts/75dpi:unscaled,/usr/share/fonts/URW/,\
%endif
/usr/share/fonts/cyrillic:unscaled,\
/usr/share/fonts/misc/sgi:unscaled,\
/usr/share/fonts/truetype/,built-ins"
make %{?_smp_mflags}
make -C hw/kdrive %{?_smp_mflags}
%install
%make_install
make -C hw/kdrive install DESTDIR=%{buildroot}
# remove .la files
find %{buildroot}%{_libdir}/xorg/modules/ -name "*.la" | \
xargs rm
install -m 644 hw/xfree86/parser/{xf86Parser.h,xf86Optrec.h} \
%{buildroot}%{_includedir}/xorg
# bnc #632737
chmod u-s %{buildroot}%{_bindir}/Xorg
%if 0%{?pci_ids_dir:1}
%__mkdir_p %{buildroot}%{pci_ids_dir}
install -m 644 %{S:6} %{buildroot}%{pci_ids_dir}
%endif
ln -snf Xorg %{buildroot}%{_bindir}/X
%if 0%{?suse_version} > 1120
# get rid of evdev config file, since it's meanwhile shipped with
# evdev driver itself (since 2.10.0)
rm -f %{buildroot}/%{_datadir}/X11/xorg.conf.d/10-evdev.conf
mkdir -p %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
cp %{buildroot}/%{_datadir}/X11/xorg.conf.d/10-quirks.conf %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/
%{__install} -m 644 %{S:5} %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/
%endif
%if 0%{?suse_version} < 1315
mkdir -p %{buildroot}%{_libdir}/xorg/modules/updates/{fonts,input,linux,drivers,multimedia,extensions}
install -m 644 $RPM_SOURCE_DIR/README.updates %{buildroot}%{_libdir}/xorg/modules/updates
%endif
# FATE#325524
mkdir -p %{buildroot}%{_datadir}/factory/%{_localstatedir}/lib/xkb/compiled
mv %{buildroot}%{_localstatedir}/lib/xkb/compiled/README.compiled %{buildroot}%{_datadir}/factory/%{_localstatedir}/lib/xkb/compiled/
mkdir -p %{buildroot}%{_tmpfilesdir}
install -m 644 %{S:7} %{buildroot}%{_tmpfilesdir}/xkb.conf
mkdir -p %{buildroot}%{_fillupdir}
install -m 644 %_sourcedir/sysconfig.displaymanager.template \
%{buildroot}%{_fillupdir}/sysconfig.displaymanager-%{name}
install -m 755 $RPM_SOURCE_DIR/xorg-backtrace %{buildroot}%{_bindir}/xorg-backtrace
cp %{S:90} .
./config.status --file xorg-x11-server.macros
install -D xorg-x11-server.macros %{buildroot}%{_sysconfdir}/rpm/macros.xorg-server
%if 0%{?suse_version} >= 1315
mkdir -p %{buildroot}%{_libdir}/xorg/modules/extensions/xorg
mv %{buildroot}%{_libdir}/xorg/modules/extensions/libglx.so \
%{buildroot}%{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so
ln -snf %{_sysconfdir}/alternatives/libglx.so %{buildroot}%{_libdir}/xorg/modules/extensions/libglx.so
%endif
mkdir -p %{buildroot}/usr/src/xserver
xargs cp --parents --target-directory=%{buildroot}/usr/src/xserver < source-file-list
%post
%tmpfiles_create xkb.conf
%{fillup_only -an displaymanager}
# Move SaX2 generated xorg.conf file to xorg.conf.sle11
#
# Only in very rare cases a static X configuration is still
# required on sle12. And, in some cases the migration from a
# static sle11 X configuration to a static sle12 X configuration
# is not possible at all, e.g. some video and input drivers
# are no longer available on sle12. In short, trying to migrate
# will result in more harm than benefit.
if [ -f etc/X11/xorg.conf -a ! -f etc/X11/xorg.conf.sle11 ]; then
echo "xorg.conf exists and xorg.conf.sle11 does not"
if grep -q "SaX generated X11 config file" etc/X11/xorg.conf; then
echo "move SaX generated xorg.conf to xorg.conf.sle11"
mv etc/X11/xorg.conf etc/X11/xorg.conf.sle11
# remove dangling link (bnc#879360, comment#15)
rm -f etc/X11/XF86Config
# prevent %postun of NVIDIA/fglrx driver packages from restoring xorg.conf
# backup or running sax2 as fallback to create a new xorg.conf (bcn#877315)
rm -f etc/X11/xorg.conf.nvidia-post \
etc/X11/xorg.conf.fglrx-post
chmod -x usr/sbin/sax2
fi
fi
%if 0%{?suse_version} >= 1315
%_sbindir/update-alternatives \
--force --install %{_libdir}/xorg/modules/extensions/libglx.so libglx.so %{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so 50
%endif
exit 0
%if 0%{?suse_version} >= 1315
%postun
if [ "$1" = 0 ] ; then
"%_sbindir/update-alternatives" --remove libglx.so %{_libdir}/xorg/modules/extensions/xorg/xorg-libglx.so
fi
%endif
%if 0%{?build_suid_wrapper} == 1
%post wrapper
%set_permissions %{suid_wrapper_dir}/Xorg.wrap
%verifyscript wrapper
%verify_permissions -e %{suid_wrapper_dir}/Xorg.wrap
%endif
%files
%defattr(-,root,root)
%if 0%{?suse_version} > 1120
%dir %{_sysconfdir}/X11/xorg.conf.d
%if 0%{?pci_ids_dir:1}
%dir %{pci_ids_dir}
%{pci_ids_dir}/modesetting.ids
%endif
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/10-quirks.conf
%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/50-extensions.conf
%dir %{_datadir}/X11/xorg.conf.d
%{_datadir}/X11/xorg.conf.d/10-*.conf
%endif
%{_tmpfilesdir}/xkb.conf
%dir %{_localstatedir}/lib/xkb
%dir %{_localstatedir}/lib/xkb/compiled
%dir %{_libdir}/xorg
%{_libdir}/xorg/protocol.txt
%{_mandir}/man1/*
%exclude %{_mandir}/man1/Xdmx.1*
%exclude %{_mandir}/man1/Xephyr.1*
%exclude %{_mandir}/man1/Xnest.1*
%dir %{_datadir}/factory
%dir %{_datadir}/factory/var
%dir %{_datadir}/factory/var/lib
%dir %{_datadir}/factory/var/lib/xkb
%dir %{_datadir}/factory/var/lib/xkb/compiled
%{_datadir}/factory/%{_localstatedir}/lib/xkb/compiled/README.compiled
%{_bindir}/Xorg
%if 0%{?build_suid_wrapper} == 1
%{suid_wrapper_dir}/Xorg
%endif
%{_bindir}/X
%{_bindir}/cvt
%{_bindir}/gtf
%{_libdir}/xorg/modules/
%{_mandir}/man4/*
%{_mandir}/man5/*
%{_fillupdir}/sysconfig.displaymanager-%{name}
%if 0%{?suse_version} >= 1315
%ghost %{_sysconfdir}/alternatives/libglx.so
%endif
%{_bindir}/Xvfb
%{_bindir}/xorg-backtrace
%if 0%{?have_wayland} == 1
%files wayland
%{_bindir}/Xwayland
%endif
%if 0%{?build_suid_wrapper} == 1
%files wrapper
%defattr(-,root,root)
%attr(4755,root,root) %{suid_wrapper_dir}/Xorg.wrap
%endif
%files extra
%defattr(-,root,root)
%{_bindir}/Xephyr
%{_bindir}/Xnest
%{_bindir}/Xdmx
%{_bindir}/dmxaddinput
%{_bindir}/dmxaddscreen
%{_bindir}/dmxinfo
%{_bindir}/dmxreconfig
%{_bindir}/dmxresize
%{_bindir}/dmxrminput
%{_bindir}/dmxrmscreen
%{_bindir}/dmxtodmx
%{_bindir}/dmxwininfo
%{_bindir}/vdltodmx
%{_bindir}/xdmxconfig
%{_mandir}/man1/Xdmx.1*
%{_mandir}/man1/Xephyr.1*
%{_mandir}/man1/Xnest.1*
%files sdk
%defattr(-,root,root)
%{_includedir}/xorg/
%{_libdir}/pkgconfig/*.pc
%{_datadir}/aclocal/*.m4
%{_sysconfdir}/rpm/macros.xorg-server
%files source
%defattr(-,root,root)
/usr/src/xserver
%changelog