diff --git a/driver-abi-rebuild.sh b/driver-abi-rebuild.sh deleted file mode 100755 index 693297b96606e88cab395a1a13c59f84653a0874..0000000000000000000000000000000000000000 --- a/driver-abi-rebuild.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/sh -# -# Trivial script to rebuild drivers for ABI changes in the server -# Run me after a new xserver has hit the buildroot - -builddir="abi-rebuild" - -if [ -e "$builddir" ]; then - echo "Path '$builddir' exists. Move out of the way first" - exit 1 -fi - -mkdir -p $builddir -pushd $builddir - -if git config --get remote.origin.url | grep -q redhat.com ; then - pkg=rhpkg -else - pkg=fedpkg -fi - -# figure out the branch we're on -branch=$(git branch | awk '/^\*/ { print $2 }' | grep -v '^master$') -if [ $branch ]; then - branch="-b $branch" -fi - -$pkg co $branch xorg-x11-drivers -pushd xorg-x11-drivers -driverlist=$(grep ^Requires *.spec | awk '{ print $2 }') -popd - -# Things not in -drivers for whatever reason... -extradrivers="xorg-x11-drv-ivtv" - -rm -rf xorg-x11-drivers -echo $driverlist $extradrivers | xargs -n1 $pkg co $branch - -for i in xorg-x11-drv-*/ ; do - [ -e $i/dead.package ] && continue - pushd $i - rpmdev-bumpspec -c "- 1.15 ABI rebuild" *.spec - $pkg commit -c -p && $pkg build --nowait - #$pkg mockbuild - #$pkg srpm - #mockchain -r fedora-20-x86_64 -l $OLDPWD - #mockchain -r rhel-7.0-candidate-x86_64 -l $OLDPWD - - popd -done - -popd - - diff --git a/gitignore b/gitignore deleted file mode 100644 index 524cfc63b0c8ff3a6b0067aed51ce27e2dbf4ebb..0000000000000000000000000000000000000000 --- a/gitignore +++ /dev/null @@ -1,306 +0,0 @@ -Makefile -Makefile.in -.deps -.libs -.msg -*.lo -*.la -*.a -*.o -*~ -.*sw? -*.pbxuser -*.mode1v3 -obj* -build* -local -aclocal.m4 -autom4te.cache -compile -config.guess -config.log -config.status -config.sub -configure -configure.lineno -depcomp -install-sh -libtool -ltmain.sh -missing -TAGS -tags -ylwrap -xorg-server.pc -stamp-h? -do-not-use-config.h -do-not-use-config.h.in -afb/afbbltC.c -afb/afbbltCI.c -afb/afbbltG.c -afb/afbbltO.c -afb/afbbltX.c -afb/afbseg.c -afb/afbtileC.c -afb/afbtileG.c -cfb/cfb8lineCO.c -cfb/cfb8lineCP.c -cfb/cfb8lineG.c -cfb/cfb8lineX.c -cfb/cfb8segC.c -cfb/cfb8segCS.c -cfb/cfb8segX.c -cfb/cfb8setG.c -cfb/cfbbltC.c -cfb/cfbbltG.c -cfb/cfbbltO.c -cfb/cfbbltX.c -cfb/cfbfillarcC.c -cfb/cfbfillarcG.c -cfb/cfbglrop8.c -cfb/cfbply1rctC.c -cfb/cfbply1rctG.c -cfb/cfbseg.c -cfb/cfbsolidC.c -cfb/cfbsolidG.c -cfb/cfbsolidX.c -cfb/cfbtile32C.c -cfb/cfbtile32G.c -cfb/cfbtileoddC.c -cfb/cfbtileoddG.c -cfb/cfbzerarcC.c -cfb/cfbzerarcG.c -cfb/cfbzerarcX.c -cfb32/cfb8lineCO.c -cfb32/cfb8lineCP.c -cfb32/cfb8lineG.c -cfb32/cfb8lineX.c -cfb32/cfb8segC.c -cfb32/cfb8segCS.c -cfb32/cfb8segX.c -cfb32/cfb8setG.c -cfb32/cfbbltC.c -cfb32/cfbbltG.c -cfb32/cfbbltO.c -cfb32/cfbbltX.c -cfb32/cfbfillarcC.c -cfb32/cfbfillarcG.c -cfb32/cfbply1rctC.c -cfb32/cfbply1rctG.c -cfb32/cfbseg.c -cfb32/cfbsolidC.c -cfb32/cfbsolidG.c -cfb32/cfbsolidX.c -cfb32/cfbtile32C.c -cfb32/cfbtile32G.c -cfb32/cfbtileoddC.c -cfb32/cfbtileoddG.c -cfb32/cfbzerarcC.c -cfb32/cfbzerarcG.c -cfb32/cfbzerarcX.c -doc/Xserver.1x -doc/Xserver.man -hw/dmx/Xdmx -hw/dmx/Xdmx.1x -hw/dmx/config/dmxtodmx -hw/dmx/config/dmxtodmx.1x -hw/dmx/config/parser.c -hw/dmx/config/parser.h -hw/dmx/config/scanner.c -hw/dmx/config/vdltodmx -hw/dmx/config/vdltodmx.1x -hw/dmx/config/xdmxconfig -hw/dmx/config/xdmxconfig.1x -hw/dmx/examples/dmxaddinput -hw/dmx/examples/dmxaddscreen -hw/dmx/examples/dmxreconfig -hw/dmx/examples/dmxresize -hw/dmx/examples/dmxrminput -hw/dmx/examples/dmxrmscreen -hw/dmx/examples/dmxwininfo -hw/dmx/examples/ev -hw/dmx/examples/evi -hw/dmx/examples/res -hw/dmx/examples/xbell -hw/dmx/examples/xdmx -hw/dmx/examples/xinput -hw/dmx/examples/xled -hw/dmx/examples/xtest -hw/kdrive/ati/Xati -hw/kdrive/chips/Xchips -hw/kdrive/ephyr/Xephyr -hw/kdrive/epson/Xepson -hw/kdrive/fake/Xfake -hw/kdrive/fbdev/Xfbdev -hw/kdrive/i810/Xi810 -hw/kdrive/mach64/Xmach64 -hw/kdrive/mga/Xmga -hw/kdrive/neomagic/Xneomagic -hw/kdrive/nvidia/Xnvidia -hw/kdrive/pm2/Xpm2 -hw/kdrive/r128/Xr128 -hw/kdrive/sdl/Xsdl -hw/kdrive/sis300/Xsis -hw/kdrive/smi/Xsmi -hw/kdrive/vesa/Xvesa -hw/kdrive/via/Xvia -hw/vfb/Xvfb -hw/vfb/Xvfb.1x -hw/vfb/Xvfb.man -hw/xfree86/Xorg -hw/xfree86/common/xf86Build.h -hw/xfree86/common/xf86DefModeSet.c -hw/xfree86/doc/man/Xorg.1x -hw/xfree86/doc/man/Xorg.man -hw/xfree86/doc/man/xorg.conf.5x -hw/xfree86/doc/man/xorg.conf.man -hw/xfree86/exa/exa.4 -hw/xfree86/exa/exa.4x -hw/xfree86/exa/exa.man -hw/xfree86/fbdevhw/fbdevhw.4x -hw/xfree86/fbdevhw/fbdevhw.man -hw/xfree86/getconfig/cfg.man -hw/xfree86/getconfig/getconfig.1x -hw/xfree86/getconfig/getconfig.5x -hw/xfree86/getconfig/getconfig.man -hw/xfree86/os-support/xorgos.c -hw/xfree86/osandcommon.c -hw/xfree86/ramdac/xf86BitOrder.c -hw/xfree86/scanpci/xf86PciData.c -hw/xfree86/scanpci/xf86PciIds.h -hw/xfree86/utils/cvt/cvt -hw/xfree86/utils/cvt/cvt.man -hw/xfree86/utils/gtf/gtf -hw/xfree86/utils/gtf/gtf.1x -hw/xfree86/utils/gtf/gtf.man -hw/xfree86/utils/ioport/inb -hw/xfree86/utils/ioport/inl -hw/xfree86/utils/ioport/inw -hw/xfree86/utils/ioport/ioport -hw/xfree86/utils/ioport/outb -hw/xfree86/utils/ioport/outl -hw/xfree86/utils/ioport/outw -hw/xfree86/utils/pcitweak/pcitweak -hw/xfree86/utils/pcitweak/pcitweak.1x -hw/xfree86/utils/pcitweak/pcitweak.man -hw/xfree86/utils/scanpci/scanpci -hw/xfree86/utils/scanpci/scanpci.1x -hw/xfree86/utils/scanpci/scanpci.man -hw/xfree86/utils/xorgcfg/XOrgCfg -hw/xfree86/utils/xorgcfg/xorgcfg -hw/xfree86/utils/xorgcfg/xorgcfg.1x -hw/xfree86/utils/xorgcfg/xorgcfg.man -hw/xfree86/utils/xorgconfig/xorgconfig -hw/xfree86/utils/xorgconfig/xorgconfig.1x -hw/xfree86/utils/xorgconfig/xorgconfig.man -hw/xfree86/xaa/l-xaaBitmap.c -hw/xfree86/xaa/l-xaaStipple.c -hw/xfree86/xaa/l-xaaTEGlyph.c -hw/xfree86/xaa/l3-xaaBitmap.c -hw/xfree86/xaa/l3-xaaStipple.c -hw/xfree86/xaa/lf-xaaBitmap.c -hw/xfree86/xaa/lf-xaaStipple.c -hw/xfree86/xaa/lf-xaaTEGlyph.c -hw/xfree86/xaa/lf3-xaaBitmap.c -hw/xfree86/xaa/lf3-xaaStipple.c -hw/xfree86/xaa/m-xaaBitmap.c -hw/xfree86/xaa/m-xaaStipple.c -hw/xfree86/xaa/m-xaaTEGlyph.c -hw/xfree86/xaa/m3-xaaBitmap.c -hw/xfree86/xaa/m3-xaaStipple.c -hw/xfree86/xaa/mf-xaaBitmap.c -hw/xfree86/xaa/mf-xaaStipple.c -hw/xfree86/xaa/mf-xaaTEGlyph.c -hw/xfree86/xaa/mf3-xaaBitmap.c -hw/xfree86/xaa/mf3-xaaStipple.c -hw/xfree86/xaa/s-xaaDashLine.c -hw/xfree86/xaa/s-xaaLine.c -hw/xfree86/xf1bpp/maskbits.c -hw/xfree86/xf1bpp/mfbbitblt.c -hw/xfree86/xf1bpp/mfbbltC.c -hw/xfree86/xf1bpp/mfbbltCI.c -hw/xfree86/xf1bpp/mfbbltG.c -hw/xfree86/xf1bpp/mfbbltO.c -hw/xfree86/xf1bpp/mfbbltX.c -hw/xfree86/xf1bpp/mfbbres.c -hw/xfree86/xf1bpp/mfbbresd.c -hw/xfree86/xf1bpp/mfbclip.c -hw/xfree86/xf1bpp/mfbcmap.c -hw/xfree86/xf1bpp/mfbfillarc.c -hw/xfree86/xf1bpp/mfbfillrct.c -hw/xfree86/xf1bpp/mfbfillsp.c -hw/xfree86/xf1bpp/mfbfont.c -hw/xfree86/xf1bpp/mfbgc.c -hw/xfree86/xf1bpp/mfbgetsp.c -hw/xfree86/xf1bpp/mfbigbblak.c -hw/xfree86/xf1bpp/mfbigbwht.c -hw/xfree86/xf1bpp/mfbhrzvert.c -hw/xfree86/xf1bpp/mfbimage.c -hw/xfree86/xf1bpp/mfbline.c -hw/xfree86/xf1bpp/mfbmisc.c -hw/xfree86/xf1bpp/mfbpablack.c -hw/xfree86/xf1bpp/mfbpainv.c -hw/xfree86/xf1bpp/mfbpawhite.c -hw/xfree86/xf1bpp/mfbpgbblak.c -hw/xfree86/xf1bpp/mfbpgbinv.c -hw/xfree86/xf1bpp/mfbpgbwht.c -hw/xfree86/xf1bpp/mfbpixmap.c -hw/xfree86/xf1bpp/mfbplyblack.c -hw/xfree86/xf1bpp/mfbplyinv.c -hw/xfree86/xf1bpp/mfbplywhite.c -hw/xfree86/xf1bpp/mfbpntwin.c -hw/xfree86/xf1bpp/mfbpolypnt.c -hw/xfree86/xf1bpp/mfbpushpxl.c -hw/xfree86/xf1bpp/mfbscrclse.c -hw/xfree86/xf1bpp/mfbscrinit.c -hw/xfree86/xf1bpp/mfbseg.c -hw/xfree86/xf1bpp/mfbsetsp.c -hw/xfree86/xf1bpp/mfbteblack.c -hw/xfree86/xf1bpp/mfbtewhite.c -hw/xfree86/xf1bpp/mfbtileC.c -hw/xfree86/xf1bpp/mfbtileG.c -hw/xfree86/xf1bpp/mfbwindow.c -hw/xfree86/xf1bpp/mfbzerarc.c -hw/xfree86/xf4bpp/mfbseg.c -hw/xfree86/xf8_32bpp/cfbgc32.c -hw/xfree86/xf8_32bpp/cfbgc8.c -hw/xfree86/xorg.c -hw/xfree86/xorg.conf.example -hw/xfree86/xorg.conf.example.pre -hw/xnest/Xnest -hw/xnest/Xnest.1x -hw/xnest/Xnest.man -hw/xprint/Xprt -hw/xprint/config/C/print/Xprinters.ghostscript -hw/xprint/doc/Xprt.1x -hw/xprint/doc/Xprt.man -hw/xprint/dpmsstubs-wrapper.c -hw/xprint/miinitext-wrapper.c -include/dix-config.h -include/kdrive-config.h -include/xgl-config.h -include/xkb-config.h -include/xorg-config.h -include/xorg-server.h -include/xwin-config.h -mfb/mfbbltC.c -mfb/mfbbltCI.c -mfb/mfbbltG.c -mfb/mfbbltO.c -mfb/mfbbltX.c -mfb/mfbigbblak.c -mfb/mfbigbwht.c -mfb/mfbpablack.c -mfb/mfbpainv.c -mfb/mfbpawhite.c -mfb/mfbpgbblak.c -mfb/mfbpgbinv.c -mfb/mfbpgbwht.c -mfb/mfbplyblack.c -mfb/mfbplyinv.c -mfb/mfbplywhite.c -mfb/mfbseg.c -mfb/mfbteblack.c -mfb/mfbtewhite.c -mfb/mfbtileC.c -mfb/mfbtileG.c diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 48287674776d1373d0d318dc7cee25df2fccea71..c6cccb79408719a98ff75271a1e8cef81336883a 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -1,9 +1,6 @@ -%define anolis_release 5 -# X.org requires lazy relocations to work. +%define anolis_release 6 %undefine _hardened_build %undefine _strict_symbol_defs_build -%global pkgname xorg-server -%global stable_abi 1 %global ansic_major 0 %global ansic_minor 4 %global videodrv_major 24 @@ -12,52 +9,29 @@ %global xinput_minor 1 %global extension_major 10 %global extension_minor 0 +%global inst_srcdir %{buildroot}/%{_datadir}/xorg-x11-server-source -%global pkgname xorg-server - -Summary: X.Org X11 X server Name: xorg-x11-server Epoch: 1 Version: 1.20.14 Release: %{anolis_release}%{?dist} +Summary: X.Org X11 X server URL: http://www.x.org License: MIT - -Source0: https://www.x.org/pub/individual/xserver/%{pkgname}-%{version}.tar.xz -Source1: gitignore -Source4: 10-quirks.conf +Source0: https://www.x.org/pub/individual/xserver/xorg-server-%{version}.tar.xz +Source1: 10-quirks.conf Source10: xserver.pamd Source20: http://svn.exactcode.de/t2/trunk/package/xorg/xorg-server/xvfb-run.sh -# for requires generation in drivers -Source30: xserver-sdk-abi-requires.release -Source31: xserver-sdk-abi-requires.git -# maintainer convenience script -Source40: driver-abi-rebuild.sh - -# From Debian use intel ddx driver only for gen4 and older chipsets -Patch1: 06_use-intel-only-on-pre-gen4.diff -# Default to xf86-video-modesetting on GeForce 8 and newer -Patch2: 0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch - -# Default to va_gl on intel i965 as we use the modesetting drv there -# va_gl should probably just be the default everywhere ? -Patch3: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch - -# Submitted upstream, but not going anywhere -Patch5: 0001-autobind-GPUs-to-the-screen.patch - -# because the display-managers are not ready yet, do not upstream -Patch6: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch - -# Not sure anyone else cares about this so let's keep this Fedora-only for now -# Upstream PR for the meson.build equivalent is here, so we can drop this patch -# when we start building with meson. -# https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1001` -Patch7: 0001-configure.ac-search-for-the-fontrootdir-ourselves.patch - -# Backports from current stable "server-1.20-branch": -# - +Source30: xserver-sdk-abi-requires.release +Source31: xserver-sdk-abi-requires.git + +Patch0: 06_use-intel-only-on-pre-gen4.diff +Patch1: 0001-xfree86-use-modesetting-driver-by-default-on-GeForce.patch +Patch2: 0001-xf86-dri2-Use-va_gl-as-vdpau_driver-for-Intel-i965-G.patch +Patch3: 0001-autobind-GPUs-to-the-screen.patch +Patch4: 0001-Fedora-hack-Make-the-suid-root-wrapper-always-start-.patch +Patch5: 0001-configure.ac-search-for-the-fontrootdir-ourselves.patch + # Backports from "master" upstream: Patch100: 0001-present-Check-for-NULL-to-prevent-crash.patch Patch101: 0001-render-Fix-build-with-gcc-12.patch @@ -65,113 +39,67 @@ Patch102: 0001-xf86-Accept-devices-with-the-simpledrm-driver.patch Patch103: 0001-Don-t-hardcode-fps-for-fake-screen.patch Patch104: 0001-hw-Rename-boolean-config-value-field-from-bool-to-bo.patch Patch105: 0001-add-a-quirk-for-apple-silicon.patch - -# CVE-2022-2319/ZDI-CAN-16062, CVE-2022-2320/ZDI-CAN-16070 + +# Fix CVEs Patch110: 0001-xkb-switch-to-array-index-loops-to-moving-pointers.patch Patch111: 0002-xkb-swap-XkbSetDeviceInfo-and-XkbSetDeviceInfoCheck.patch Patch112: 0003-xkb-add-request-length-validation-for-XkbSetGeometry.patch - -# CVE-2022-3550 Patch113: 0001-xkb-proof-GetCountedString-against-request-length-at.patch -# CVE-2022-3551 Patch114: 0001-xkb-fix-some-possible-memleaks-in-XkbGetKbdByName.patch - -# CVE-2022-46340 Patch115: 0001-Xtest-disallow-GenericEvents-in-XTestSwapFakeInput.patch -# related to CVE-2022-46344 Patch116: 0002-Xi-return-an-error-from-XI-property-changes-if-verif.patch -# CVE-2022-46344 Patch117: 0003-Xi-avoid-integer-truncation-in-length-check-of-ProcX.patch -# CVE-2022-46341 Patch118: 0004-Xi-disallow-passive-grabs-with-a-detail-255.patch -# CVE-2022-46343 Patch119: 0005-Xext-free-the-screen-saver-resource-when-replacing-i.patch -# CVE-2022-46342 Patch120: 0006-Xext-free-the-XvRTVideoNotify-when-turning-off-from-.patch -# CVE-2022-46283 Patch121: 0007-xkb-reset-the-radio_groups-pointer-to-NULL-after-fre.patch -# Fix for buggy patch to CVE-2022-46340 Patch122: 0008-Xext-fix-invalid-event-type-mask-in-XTestSwapFakeInp.patch -# CVE-2023-0494 Patch123: 0001-Xi-fix-potential-use-after-free-in-DeepCopyPointerCl.patch - -# Upstream commits 73d6e88, f69280dd and 4127776, minus the xwayland.pc.in change -Patch3801: 0001-Disallow-byte-swapped-clients-by-default.patch - -BuildRequires: make -BuildRequires: systemtap-sdt-devel -BuildRequires: automake autoconf libtool pkgconfig -BuildRequires: xorg-x11-util-macros >= 1.17 - -BuildRequires: xorg-x11-proto-devel >= 7.7-10 -BuildRequires: xorg-x11-font-utils >= 7.2-11 - -BuildRequires: dbus-devel libepoxy-devel systemd-devel -BuildRequires: xorg-x11-xtrans-devel >= 1.3.2 -BuildRequires: libXfont2-devel libXau-devel libxkbfile-devel libXres-devel -BuildRequires: libfontenc-devel libXtst-devel libXdmcp-devel -BuildRequires: libX11-devel libXext-devel -BuildRequires: libXinerama-devel libXi-devel - -# DMX config utils buildreqs. -BuildRequires: libXt-devel libdmx-devel libXmu-devel libXrender-devel -BuildRequires: libXi-devel libXpm-devel libXaw-devel libXfixes-devel - -BuildRequires: pkgconfig(epoxy) -BuildRequires: pkgconfig(xshmfence) >= 1.1 -BuildRequires: libXv-devel -BuildRequires: pixman-devel >= 0.30.0 -BuildRequires: libpciaccess-devel >= 0.13.1 openssl-devel bison flex -BuildRequires: mesa-libGL-devel >= 9.2 -BuildRequires: mesa-libEGL-devel -BuildRequires: mesa-libgbm-devel -# XXX silly... -BuildRequires: libdrm-devel >= 2.4.0 kernel-headers -BuildRequires: audit-libs-devel libselinux-devel >= 2.0.86-1 -BuildRequires: libudev-devel -BuildRequires: libunwind-devel +Patch200: 0001-Disallow-byte-swapped-clients-by-default.patch -BuildRequires: pkgconfig(xcb-aux) pkgconfig(xcb-image) pkgconfig(xcb-icccm) -BuildRequires: pkgconfig(xcb-keysyms) pkgconfig(xcb-renderutil) +BuildRequires: automake make autoconf libtool pkgconfig +BuildRequires: dbus-devel libepoxy-devel libudev-devel systemd-devel systemtap-sdt-devel +BuildRequires: libXfont2-devel libXau-devel libxkbfile-devel libXres-devel libXpm-devel +BuildRequires: libX11-devel libXi-devel libXext-devel libXinerama-devel libfontenc-devel +BuildRequires: libXt-devel libdmx-devel libXfixes-devel libXmu-devel libXrender-devel +BuildRequires: libXaw-devel libXtst-devel libXdmcp-devel libXv-devel libdrm-devel >= 2.4.0 +BuildRequires: libpciaccess-devel >= 0.13.1 openssl-devel bison flex +BuildRequires: mesa-libEGL-devel mesa-libgbm-devel mesa-libGL-devel >= 9.2 +BuildRequires: libunwind-devel kernel-headers pixman-devel >= 0.30.0 +BuildRequires: audit-libs-devel libselinux-devel >= 2.0.86-1 +BuildRequires: pkgconfig(xcb-aux) pkgconfig(epoxy) pkgconfig(xcb-image) pkgconfig(xcb-icccm) +BuildRequires: pkgconfig(xcb-keysyms) pkgconfig(xshmfence) >= 1.1 pkgconfig(xcb-renderutil) +BuildRequires: xorg-x11-util-macros >= 1.17 xorg-x11-proto-devel >= 7.7-10 +BuildRequires: xorg-x11-xtrans-devel >= 1.3.2 xorg-x11-font-utils >= 7.2-11 %description X.Org X11 X server - %package common Summary: Xorg server common files -Requires: pixman >= 0.30.0 -Requires: xkeyboard-config xkbcomp +Requires: pixman >= 0.30.0 xkeyboard-config xkbcomp %description common Common files shared among all X servers. - %package Xorg Summary: Xorg X server -Provides: Xorg = %{epoch}:%{version}-%{release} +Provides: Xorg = %{EVR} Provides: Xserver -# HdG: This should be moved to the wrapper package once the wrapper gets -# its own sub-package: -Provides: xorg-x11-server-wrapper = %{epoch}:%{version}-%{release} -%if %{stable_abi} +Provides: xorg-x11-server-wrapper = %{EVR} Provides: xserver-abi(ansic-%{ansic_major}) = %{ansic_minor} Provides: xserver-abi(videodrv-%{videodrv_major}) = %{videodrv_minor} Provides: xserver-abi(xinput-%{xinput_major}) = %{xinput_minor} Provides: xserver-abi(extension-%{extension_major}) = %{extension_minor} -%endif -Obsoletes: xorg-x11-glamor < %{epoch}:%{version}-%{release} -Provides: xorg-x11-glamor = %{epoch}:%{version}-%{release} -Obsoletes: xorg-x11-drv-modesetting < %{epoch}:%{version}-%{release} -Provides: xorg-x11-drv-modesetting = %{epoch}:%{version}-%{release} -# Dropped from F25 +Provides: xorg-x11-glamor = %{EVR} +Obsoletes: xorg-x11-glamor < %{EVR} +Obsoletes: xorg-x11-drv-modesetting < %{EVR} +Provides: xorg-x11-drv-modesetting = %{EVR} Obsoletes: xorg-x11-drv-vmmouse < 13.1.0-4 -Requires: xorg-x11-server-common == %{epoch}:%{version}-%{release} -Requires: system-setup-keyboard -Requires: xorg-x11-drv-libinput -Requires: libEGL +Requires: xorg-x11-server-common == %{EVR} +Requires: system-setup-keyboard xorg-x11-drv-libinput libEGL %description Xorg X.org X11 is an open source implementation of the X Window System. It @@ -179,99 +107,79 @@ provides the basic low level functionality which full fledged graphical user interfaces (GUIs) such as GNOME and KDE are designed upon. - %package Xnest Summary: A nested server -Requires: xorg-x11-server-common == %{epoch}:%{version}-%{release} +Requires: xorg-x11-server-common == %{EVR} Provides: Xnest %description Xnest Xnest is an X server which has been implemented as an ordinary X application. It runs in a window just like other X applications, -but it is an X server itself in which you can run other software. It -is a very useful tool for developers who wish to test their -applications without running them on their real X server. - +but it is an X server itself in which you can run other software. %package Xdmx Summary: Distributed Multihead X Server and utilities -Requires: xorg-x11-server-common == %{epoch}:%{version}-%{release} +Requires: xorg-x11-server-common == %{EVR} Provides: Xdmx %description Xdmx Xdmx is proxy X server that provides multi-head support for multiple displays attached to different machines (each of which is running a typical X server). -When Xinerama is used with Xdmx, the multiple displays on multiple machines -are presented to the user as a single unified screen. A simple application -for Xdmx would be to provide multi-head support using two desktop machines, -each of which has a single display device attached to it. A complex -application for Xdmx would be to unify a 4 by 4 grid of 1280x1024 displays -(each attached to one of 16 computers) into a unified 5120x4096 display. - %package Xvfb Summary: A X Windows System virtual framebuffer X server -# xvfb-run is GPLv2, rest is MIT License: MIT and GPLv2 -Requires: xorg-x11-server-common = %{epoch}:%{version}-%{release} -# required for xvfb-run +Requires: xorg-x11-server-common = %{EVR} Requires: xorg-x11-xauth Provides: Xvfb %description Xvfb Xvfb (X Virtual Frame Buffer) is an X server that is able to run on machines with no display hardware and no physical input devices. -Xvfb simulates a dumb framebuffer using virtual memory. Xvfb does -not open any devices, but behaves otherwise as an X display. Xvfb -is normally used for testing servers. - %package Xephyr Summary: A nested server -Requires: xorg-x11-server-common == %{epoch}:%{version}-%{release} +Requires: xorg-x11-server-common == %{EVR} Provides: Xephyr %description Xephyr -Xephyr is an X server which has been implemented as an ordinary -X application. It runs in a window just like other X applications, -but it is an X server itself in which you can run other software. It -is a very useful tool for developers who wish to test their -applications without running them on their real X server. Unlike -Xnest, Xephyr renders to an X image rather than relaying the -X protocol, and therefore supports the newer X extensions like -Render and Composite. +Xephyr is a a kdrive server that outputs to a window on a pre-existing +'host' X display. Think Xnest but with support for modern extensions +like composite, damage and randr. +Unlike Xnest which is an X proxy, i.e. limited to the +capabilities of the host X server, Xephyr is a real X server which +uses the host X server window as "framebuffer" via fast SHM XImages. + +It also has support for 'visually' debugging what the server is +painting. %package devel Summary: SDK for X server driver module development -Requires: xorg-x11-util-macros -Requires: xorg-x11-proto-devel -Requires: libXfont2-devel -Requires: pkgconfig pixman-devel libpciaccess-devel +Requires: xorg-x11-util-macros xorg-x11-proto-devel +Requires: libXfont2-devel pkgconfig pixman-devel libpciaccess-devel + Provides: xorg-x11-server-static -Obsoletes: xorg-x11-glamor-devel < %{epoch}:%{version}-%{release} -Provides: xorg-x11-glamor-devel = %{epoch}:%{version}-%{release} +Obsoletes: xorg-x11-glamor-devel < %{EVR} +Provides: xorg-x11-glamor-devel = %{EVR} %description devel -The SDK package provides the developmental files which are necessary for +The SDK package contains the developmental files which are necessary for developing X server driver modules, and for compiling driver modules -outside of the standard X11 source code tree. Developers writing video -drivers, input drivers, or other X modules should install this package. - +outside of the standard X11 source code tree. +You should install this package if you are writing video drivers, +input drivers, or other X modules. %package source Summary: Xserver source code required to build VNC server (Xvnc) BuildArch: noarch %description source -Xserver source code needed to build VNC server (Xvnc) - +Xserver source code needed to build VNC server (Xvnc). %prep -%autosetup -p1 -n %{pkgname}-%{version} +%autosetup -p1 -n xorg-server-%{version} -%if 0%{?stable_abi} -# check the ABI in the source against what we expect. getmajor() { grep -i ^#define.ABI.$1_VERSION hw/xfree86/common/xf86Module.h | tr '(),' ' ' | awk '{ print $4 }' @@ -291,124 +199,101 @@ test `getminor xinput` == %{xinput_minor} test `getmajor extension` == %{extension_major} test `getminor extension` == %{extension_minor} -%endif - %build - -%ifnarch x86_64 -%global no_int10 --disable-vbe --disable-int10-module -%endif - -%global kdrive --enable-kdrive --enable-xephyr -%global xservers --enable-xvfb --enable-xnest %{kdrive} --enable-xorg -%global default_font_path "catalogue:/etc/X11/fontpath.d,built-ins" -%global dri_flags --disable-dri --enable-dri2 --enable-dri3 --enable-suid-wrapper --enable-glamor - -autoreconf -f -v --install || exit 1 - -%configure %{xservers} \ +autoreconf -fiv + +%configure --enable-xvfb \ + --enable-xnest \ + --enable-kdrive \ + --enable-xephyr \ + --enable-xorg \ + --enable-xselinux \ + --enable-record \ + --enable-present \ + --enable-xcsecurity \ + --enable-config-udev \ + --enable-dmx \ --enable-dependency-tracking \ + --disable-xwayland \ + --disable-linux-apm \ --disable-static \ + --disable-unit-tests \ + --disable-linux-acpi \ + --disable-dri \ + --enable-dri2 \ + --enable-dri3 \ + --enable-suid-wrapper \ + --enable-glamor \ --with-pic \ - %{?no_int10} \ - --with-default-font-path=%{default_font_path} \ + --with-default-font-path="catalogue:/etc/X11/fontpath.d,built-ins" \ --with-module-dir=%{_libdir}/xorg/modules \ --with-builderstring="Build ID: %{name} %{version}-%{release}" \ --with-os-name="%{_vendor} $(uname -r)" \ --with-xkb-output=%{_localstatedir}/lib/xkb \ --without-dtrace \ - --disable-linux-acpi --disable-linux-apm \ - --enable-xselinux --enable-record --enable-present \ - --enable-xcsecurity \ - --enable-config-udev \ - --disable-unit-tests \ - --enable-dmx \ - --disable-xwayland \ - %{dri_flags} \ +%ifnarch x86_64 + --disable-vbe \ + --disable-int10-module \ +%endif ${CONFIGURE} %make_build - %install %make_install mkdir -p $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,input} mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/pam.d -install -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xserver +install -p -m 644 %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/xserver mkdir -p $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d -install -m 644 %{SOURCE4} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d +install -p -m 644 %{SOURCE1} $RPM_BUILD_ROOT%{_datadir}/X11/xorg.conf.d -# make sure the (empty) /etc/X11/xorg.conf.d is there, system-setup-keyboard -# relies on it more or less. mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/X11/xorg.conf.d - -%if %{stable_abi} -install -m 755 %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/xserver-sdk-abi-requires -%else -sed -e s/@MAJOR@/%{gitdate}/g -e s/@MINOR@/%{minor_serial}/g %{SOURCE31} > \ - $RPM_BUILD_ROOT%{_bindir}/xserver-sdk-abi-requires -chmod 755 $RPM_BUILD_ROOT%{_bindir}/xserver-sdk-abi-requires -%endif - -install -m 0755 %{SOURCE20} $RPM_BUILD_ROOT%{_bindir}/xvfb-run - -# Make the source package -%global xserver_source_dir %{_datadir}/xorg-x11-server-source -%global inst_srcdir %{buildroot}/%{xserver_source_dir} +install -p -m 755 %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/xserver-sdk-abi-requires +install -p -m 0755 %{SOURCE20} $RPM_BUILD_ROOT%{_bindir}/xvfb-run mkdir -p %{inst_srcdir}/{Xext,xkb,GL,hw/{xquartz/bundle,xfree86/common}} mkdir -p %{inst_srcdir}/{hw/dmx/doc,man,doc,hw/dmx/doxygen} -cp {,%{inst_srcdir}/}hw/xquartz/bundle/cpprules.in -cp {,%{inst_srcdir}/}man/Xserver.man -cp {,%{inst_srcdir}/}doc/smartsched -cp {,%{inst_srcdir}/}hw/dmx/doxygen/doxygen.conf.in -cp {,%{inst_srcdir}/}xserver.ent.in -cp {,%{inst_srcdir}/}hw/xfree86/Xorg.sh.in -cp xkb/README.compiled %{inst_srcdir}/xkb -cp hw/xfree86/xorgconf.cpp %{inst_srcdir}/hw/xfree86 +for f in hw/xquartz/bundle/cpprules.in man/Xserver.man doc/smartsched hw/dmx/doxygen/doxygen.conf.in xserver.ent.in hw/xfree86/Xorg.sh.in; do + cp -p $f %{inst_srcdir} +done +install -p xkb/README.compiled %{inst_srcdir}/xkb +install -p hw/xfree86/xorgconf.cpp %{inst_srcdir}/hw/xfree86 find . -type f | egrep '.*\.(c|h|am|ac|inc|m4|h.in|pc.in|man.pre|pl|txt)$' | xargs tar cf - | (cd %{inst_srcdir} && tar xf -) find %{inst_srcdir}/hw/xfree86 -name \*.c -delete -# Remove unwanted files/dirs %ifnarch x86_64 rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so %endif - %files common -%license COPYING -%{_mandir}/man1/Xserver.1* %{_libdir}/xorg/protocol.txt %dir %{_localstatedir}/lib/xkb %{_localstatedir}/lib/xkb/README.compiled - -%if 1 -%global Xorgperms %attr(4755, root, root) -%else -# disable until module loading is audited -%global Xorgperms %attr(0711,root,root) %caps(cap_sys_admin,cap_sys_rawio,cap_dac_override=pe) -%endif +%{_mandir}/man1/Xserver.1* +%license COPYING %files Xorg +%dir %{_sysconfdir}/X11/xorg.conf.d %config %attr(0644,root,root) %{_sysconfdir}/pam.d/xserver %{_bindir}/X %{_bindir}/Xorg -%{_libexecdir}/Xorg -%{Xorgperms} %{_libexecdir}/Xorg.wrap %{_bindir}/cvt %{_bindir}/gtf +%{_libexecdir}/Xorg +%attr(4755, root, root) %{_libexecdir}/Xorg.wrap + %dir %{_libdir}/xorg %dir %{_libdir}/xorg/modules %dir %{_libdir}/xorg/modules/drivers -%{_libdir}/xorg/modules/drivers/modesetting_drv.so %dir %{_libdir}/xorg/modules/extensions -%{_libdir}/xorg/modules/extensions/libglx.so %dir %{_libdir}/xorg/modules/input +%{_libdir}/xorg/modules/drivers/modesetting_drv.so +%{_libdir}/xorg/modules/extensions/libglx.so %{_libdir}/xorg/modules/libfbdevhw.so %{_libdir}/xorg/modules/libexa.so %{_libdir}/xorg/modules/libfb.so @@ -421,6 +306,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so %{_libdir}/xorg/modules/libint10.so %{_libdir}/xorg/modules/libvbe.so %endif +%dir %{_datadir}/X11/xorg.conf.d +%{_datadir}/X11/xorg.conf.d/10-quirks.conf + %{_mandir}/man1/gtf.1* %{_mandir}/man1/Xorg.1* %{_mandir}/man1/Xorg.wrap.1* @@ -431,9 +319,7 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so %{_mandir}/man5/Xwrapper.config.5* %{_mandir}/man5/xorg.conf.5* %{_mandir}/man5/xorg.conf.d.5* -%dir %{_sysconfdir}/X11/xorg.conf.d -%dir %{_datadir}/X11/xorg.conf.d -%{_datadir}/X11/xorg.conf.d/10-quirks.conf +%license COPYING %files Xnest %{_bindir}/Xnest @@ -467,19 +353,20 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/xorg/modules/lib{int10,vbe}.so %{_mandir}/man1/Xephyr.1* %files devel -%license COPYING -#{_docdir}/xorg-server %{_bindir}/xserver-sdk-abi-requires %{_libdir}/pkgconfig/xorg-server.pc %dir %{_includedir}/xorg %{_includedir}/xorg/*.h %{_datadir}/aclocal/xorg-server.m4 +%license COPYING %files source -%{xserver_source_dir} - +%{_datadir}/xorg-x11-server-source %changelog +* Fri Apr 14 2023 Yuanhong Peng - 1:1.20.14-6 +- Refactor the specfile + * Sun Feb 26 2023 Funda Wang - 1:1.20.14-5 - Sync with upstream patches