Removed obsolete packages.

This commit is contained in:
László Valkó 2021-05-01 20:01:08 +02:00
parent d385b18d78
commit aadb7beb6b
36 changed files with 0 additions and 3467 deletions

View file

@ -1,6 +0,0 @@
AUX igt-gpu-tools-1.22-KBL-ICL-PCI-IDs.patch 1823 BLAKE2B df389f5b08771c22fd49b82c425d53560f9ae5fd4176f06ddba4582c4a22d42f67377b2bd99fff6f1d4bd3b7a7c9276149272c1548c0ce166c42063640a48888 SHA512 1e9afea48f3ecc000ca3994e5f9c899bb163a3295dd81012e8bdccf7db90ab4c9fd3ac5a68d3b44879fa93b89ae05a3c6b918055558e66516a0cc5bfda0d26bc
DIST igt-gpu-tools-1.23.tar.xz 1045716 BLAKE2B f5e55ce9b682f2a9f2c6ab73c1e8e933ebea09b343f3af02df50b5bdce3e2ac313b1f92709c6de0d9fc7ffe2e2c9dfa95d2918ae9bd561cc285cff30fe59c6fd SHA512 8697265a978359e28983f483bf95819844597fc2080923d15d0587f6d648081af27e8ea318873e20103bbf8446b9f1005c6bc90a6276d3169837abd181f96839
DIST intel-gpu-tools-1.22.tar.xz 1022396 BLAKE2B c84338f3f84fcbe21a5b918b1afcc47d5419bd37828054fc3fa128d346b0f1b633d42f842464d96b28d4430788bfa9945a7596c14e6a79f8183440d3b9329c92 SHA512 af7964a3782bbc335c50c1c9c42f090306932423e76b9968d6919a2b633f3c11837e7ba572d352632c2b4db79bc98218d9d425c3b62e69abad5aa83d733dea8a
EBUILD igt-gpu-tools-1.22.ebuild 2357 BLAKE2B d849a086c8b77e9d5726e524e9d9e701260234b82c5a88544a1366d2de0a9547fc8919403ecf681945a31f5de0d1d2f190c28e0922879ce69cc7e18d69e87c18 SHA512 a672dc44fb1a3ef5277ee09d660b2342aeeb7eb07f9fb5d5db7d0c96673c5c715403d08e8c61a302bef52925d3b1a105f0c4733ed8f3e0976ed871541ac53b8c
EBUILD igt-gpu-tools-1.23.ebuild 1480 BLAKE2B 96daf039d3e8d00c898c34fccfbf55254b954273dded0106b4585510d9a0f724553b40d4c3f6649cb008b80bcaad1975af6121e2198742e7c0cca0ead61a4e80 SHA512 b636e28baa9ae33bc971273c3cb165da041f36aff7eb2cd329d6e62d8b24938d749282674e072fb7a32e2220db068dea89258ae9b2554669bfd02968b79a8b87
MISC metadata.xml 519 BLAKE2B 6763311f36b9997f2599a385dc7d0978874bab850ca0d06a3620c4767c31e0b35b9173e37ef606559919b2ebda095ac48b846107a8c9b18e87f942b465be91a6 SHA512 77a0a295e8c82570da621c4631d171dbf6564c00a6aee0e9e0261f5217317d19f5cdac134320f486c89e26c84a2f0c1a21d3b1d42b32676a0fe1d48fbc752569

View file

@ -1,53 +0,0 @@
From 0896b88d1b80244832f9eacbca993c5121315d05 Mon Sep 17 00:00:00 2001
From: Paulo Zanoni <paulo.r.zanoni@intel.com>
Date: Thu, 26 Apr 2018 17:49:41 -0700
Subject: lib: sync with the newer i915_pciids.h from the Kernel (KBL + ICL)
I just copied the Kernel file into the IGT repository.
New IDs:
- KBL GT2 sku from 672e314b21dc ("drm/i915/kbl: Add KBL GT2 sku")
- ICL IDs from d55cb4fa2cf0 ("drm/i915/icl: Add the ICL PCI IDs")
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Acked-by: Antonio Argenziano <antonio.argenziano@intel.com>
Reviewed-by: Jose Roberto de Souza <jose.souza@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
---
lib/i915_pciids.h | 13 +++++++++++++
1 file changed, 13 insertions(+)
https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/patch/?id=0896b88d1b80244832f9eacbca993c5121315d05
diff --git a/lib/i915_pciids.h b/lib/i915_pciids.h
index 0b2ba46..bab70ff 100644
--- a/lib/i915_pciids.h
+++ b/lib/i915_pciids.h
@@ -349,6 +349,7 @@
#define INTEL_KBL_GT2_IDS(info) \
INTEL_VGA_DEVICE(0x5916, info), /* ULT GT2 */ \
INTEL_VGA_DEVICE(0x5917, info), /* Mobile GT2 */ \
+ INTEL_VGA_DEVICE(0x591C, info), /* ULX GT2 */ \
INTEL_VGA_DEVICE(0x5921, info), /* ULT GT2F */ \
INTEL_VGA_DEVICE(0x591E, info), /* ULX GT2 */ \
INTEL_VGA_DEVICE(0x5912, info), /* DT GT2 */ \
@@ -431,4 +432,16 @@
INTEL_VGA_DEVICE(0x5A44, info), \
INTEL_VGA_DEVICE(0x5A4C, info)
+/* ICL */
+#define INTEL_ICL_11_IDS(info) \
+ INTEL_VGA_DEVICE(0x8A50, info), \
+ INTEL_VGA_DEVICE(0x8A51, info), \
+ INTEL_VGA_DEVICE(0x8A5C, info), \
+ INTEL_VGA_DEVICE(0x8A5D, info), \
+ INTEL_VGA_DEVICE(0x8A52, info), \
+ INTEL_VGA_DEVICE(0x8A5A, info), \
+ INTEL_VGA_DEVICE(0x8A5B, info), \
+ INTEL_VGA_DEVICE(0x8A71, info), \
+ INTEL_VGA_DEVICE(0x8A70, info)
+
#endif /* _I915_PCIIDS_H */
--
cgit v1.1

View file

@ -1,90 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="5"
XORG_EAUTORECONF="yes"
inherit xorg-2
DESCRIPTION="Intel GPU userland tools"
HOMEPAGE="https://01.org/linuxgraphics https://cgit.freedesktop.org/xorg/app/intel-gpu-tools/"
SRC_URI="https://www.x.org/releases/individual/app/intel-gpu-tools-${PV}.tar.xz"
KEYWORDS="amd64 x86"
LICENSE="MIT"
SLOT="0"
IUSE="alsa chamelium doc glib gsl sound test-programs valgrind video_cards_amdgpu video_cards_intel video_cards_nouveau X xrandr xv"
REQUIRED_USE="
test-programs? ( sound? ( alsa gsl ) )
chamelium? ( glib gsl )"
RESTRICT="test"
X86_RDEPEND="
xv? (
x11-libs/libX11
x11-libs/libXext
x11-libs/libXv
)"
X86_DEPEND="x11-base/xorg-proto
>=dev-util/peg-0.1.18"
RDEPEND="sys-apps/kmod:=
sys-libs/libunwind:=
sys-process/procps:=
virtual/libudev:=
>=x11-libs/cairo-1.12.0[X?]
>=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?]
>=x11-libs/libpciaccess-0.10
alsa? ( media-libs/alsa-lib:= )
chamelium? ( dev-libs/xmlrpc-c )
glib? ( dev-libs/glib:2 )
gsl? ( sci-libs/gsl )
valgrind? ( dev-util/valgrind )
video_cards_intel? ( sys-libs/zlib:= )
xrandr? ( >=x11-libs/libXrandr-1.3 )
amd64? ( ${X86_RDEPEND} )
x86? ( ${X86_RDEPEND} )"
DEPEND="${RDEPEND}
amd64? ( ${X86_DEPEND} )
x86? ( ${X86_DEPEND} )
>=dev-util/gtk-doc-1.25-r1"
PATCHES=(
"${FILESDIR}"/${P}-KBL-ICL-PCI-IDs.patch
)
src_configure() {
XORG_CONFIGURE_OPTIONS=(
$(usex test-programs $(use_enable sound audio) --disable-audio)
$(use_enable chamelium)
$(use_enable doc gtk-doc)
$(use_enable test-programs tests)
$(use_enable video_cards_amdgpu amdgpu)
$(use_enable video_cards_intel intel)
$(use_enable video_cards_nouveau nouveau)
)
xorg-2_src_configure
}
src_install() {
xorg-2_src_install
if use test-programs; then
local testprogram
pushd "${AUTOTOOLS_BUILD_DIR}"/tests >/dev/null || die
for testprogram in $(<multi-tests.txt) $(<single-tests.txt); do
if [[ -f ${testprogram} ]]; then
dobin "${testprogram}"
fi
done
popd >/dev/null
fi
}
pkg_postinst() {
xorg-2_pkg_postinst
if use test-programs; then
elog "Test programs for DRM driver development were installed. These are not"
elog "designed to run outside their source tree, so may or may not work as"
elog "intended."
fi
}

View file

@ -1,54 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=6
EGIT_REPO_URI="https://gitlab.freedesktop.org/drm/${PN}.git"
if [[ ${PV} = *9999* ]]; then
GIT_ECLASS="git-r3"
fi
inherit ${GIT_ECLASS} meson
DESCRIPTION="Intel GPU userland tools"
HOMEPAGE="https://01.org/linuxgraphics https://gitlab.freedesktop.org/drm/igt-gpu-tools"
if [[ ${PV} = *9999* ]]; then
SRC_URI=""
else
KEYWORDS="~amd64 ~x86"
SRC_URI="https://www.x.org/releases/individual/app/${P}.tar.xz"
fi
LICENSE="MIT"
SLOT="0"
IUSE="alsa chamelium doc glib gsl sound valgrind video_cards_amdgpu video_cards_intel video_cards_nouveau X xrandr xv"
REQUIRED_USE="chamelium? ( glib gsl )"
RESTRICT="test"
X86_RDEPEND="
xv? (
x11-libs/libX11
x11-libs/libXext
x11-libs/libXv
)"
X86_DEPEND="x11-base/xorg-proto
>=dev-util/peg-0.1.18"
RDEPEND="sys-apps/kmod:=
sys-libs/libunwind:=
sys-process/procps:=
virtual/libudev:=
>=x11-libs/cairo-1.12.0[X?]
>=x11-libs/libdrm-2.4.82[video_cards_amdgpu?,video_cards_intel?,video_cards_nouveau?]
>=x11-libs/libpciaccess-0.10
alsa? ( media-libs/alsa-lib:= )
chamelium? ( dev-libs/xmlrpc-c )
glib? ( dev-libs/glib:2 )
gsl? ( sci-libs/gsl )
valgrind? ( dev-util/valgrind )
video_cards_intel? ( sys-libs/zlib:= )
xrandr? ( >=x11-libs/libXrandr-1.3 )
amd64? ( ${X86_RDEPEND} )
x86? ( ${X86_RDEPEND} )"
DEPEND="${RDEPEND}
amd64? ( ${X86_DEPEND} )
x86? ( ${X86_DEPEND} )
doc? ( >=dev-util/gtk-doc-1.25-r1 )"

View file

@ -1,14 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>x11@gentoo.org</email>
<name>X11</name>
</maintainer>
<use>
<flag name="chamelium">Enables support for building Chamelium tests</flag>
<flag name="glib">Support reading config files via glib helpers</flag>
<flag name="valgrind">Support valgrind annotations</flag>
<flag name="xrandr">Enable support for the X RandR extension</flag>
</use>
</pkgmetadata>

View file

@ -1,34 +0,0 @@
AUX 0100-randr-Account-for-panning-and-transforms-when-constr.patch 4680 BLAKE2B ee893d9ebbe028d9ab9096e7c406a7613fb2072fefd539cfebc681c8f5a6936f6e8d00ceae9caee2d90dacf67a3caf1a8a4d1903fed6f09a08cc4ff3e2282dc7 SHA512 ba5fbc1d691e30bc2cfd1007e2f70e0fad8355b7aa56e98ff5d796cb9389f065bcc8259a40240738499602db6aebff51643207b2b8d939a3408d6f3ef25cf92d
AUX xdm-setup.initd-1 346 BLAKE2B b85436ec2de0d1d3af0c7b7ef0343c7e79a1992130c7b76219b971365356a443fd7b68f305acc9603a53fc6f6e07bb315deb05c9b6ba9240ac5c59319f74ed24 SHA512 b12ef1a757213c2df2d4fb50691695fdaf00ee9edb7d4ec551980c48b6eb05598d3eda0db543719a11a82b019939fb4af82a19813d238a725dcc0d818379103e
AUX xdm.confd-4 562 BLAKE2B e72acf22f703d4ebf125d086e0147a790f000accb2fe50dd93c2c99753d507f70bf90caeaa804b36496ee8f224da5ca18a7daac0a3ce819d8ffdee133e8b8de1 SHA512 facfb91c0b4e0b1cae86b707d263523215633720e1e8f4595639411f936907b321643e8a06111dd3f7b74fa601476e4b0d09768edfdec762c73fa07cb227588b
AUX xdm.initd-11 6136 BLAKE2B febd69b8a19b3f00b5617facbd149bb22defef52bfdf33d30e9826502e8b5dca889d710ff21024c5d4e19b7d30f441b3d01b6807fce1c6546e3bda7af29e4c24 SHA512 6ebd1d4aa538c4de0591348e2befe0d03da2014863208ce52dbe9966e069908adcd5efd5b8ed01cfa3bd3c84121e91494e6d82e1cf96acac2ab0b03a2961dfae
AUX xorg-server-1.12-ia64-fix_inx_outx.patch 1737 BLAKE2B 6e6ad408a2456213ccaeb52335676a72eaf981ed88ca78ddcf2e76fe7a2342efd062be205ec18c81851cdc3d7405d5323d56c951b03226fa57cfd53c6c8d7658 SHA512 18bf9bbb973ae4e3f95ffafca8f82845f0c318c3b2dbf0cf9089a2614215ecf000b9037bfed7d80d9367be01247bf316ba2f6e16aa04fe79c54d81441c962bcd
AUX xorg-server-1.12-unloadsubmodule.patch 1373 BLAKE2B 4c6017bcdc53964ecc796e1beaf8a8714a85f1cfe65032df3e9ea23378b4d2db0057ea7a75ab00e8d5d89ae0d63c766dce05350446f69ffe69bb668d06e2e68b SHA512 a6a8ebbb1005f2ea9cfdfc928209a23fe213caab31a889c3290f14bcae0a9afd40176330e2e56cb5ff986d522505e7fb98fa0c71187f403e2afd33c9c919780e
AUX xorg-server-1.17-cve-2015-0255-0.patch 3454 BLAKE2B 4c165c3337921b3d5ed2391d724db5262e405f63782959553f557e4702e2dfe61dc31e4be436f414179bb652bdeaf4c45c8bca3ff1aee74b97f9337affdaed93 SHA512 dcca4037cb0278fc508f8c4a9b33b8e1f21a4be7d22fb6345b2b2c30956dfd9c9e574fb1dba7e1dadd7f312c033e76286b5f94b1edb058a37e704e3b2b27f241
AUX xorg-server-1.17-cve-2015-0255-1.patch 4715 BLAKE2B 3c06ea36d5df132899c56cfab0dfba476d1813e9d56248e5ef0a504dc83b41de7b096c500c5136c2626bb75273742dc5581d6b50392df6403e89e405d4c54374 SHA512 493e55bfb8bf3792af91ceb5ca270f7bad9b885e1eda94e61e9c1837c837906b1134864f000610f0e79acba24a55cd1b948b866cfe634c704cc2e19d4258f5b5
AUX xorg-server-1.17-cve-2015-3164-1.patch 1110 BLAKE2B 9a0f7d670d5619f741b2635aa2771133260dc5a5ce8b489b98685062c35a7b97ad9d7f04351fc46e1452375c73da0342d52556e6b849b618df3f449012b363c7 SHA512 24f85753de8ebf7c4dda21bb481da12d4d66c8a85f28d6e8c0ed780e74ac7b37a46bb1d84656ff666c9b21f7f1ffee296ae2d127f95d7dd96913541e5cf14b44
AUX xorg-server-1.17-cve-2015-3164-2.patch 5987 BLAKE2B 41064eaf33efbbf64bf87021ff0479428f6e2c9d8ac14537a79b635e0c14b28e710155a4a5ea7db486c65a700c91b10229fab6ed3d79ce3158690c134a5e3080 SHA512 a4b79ab50921e54defc5719a3554d452f886347ef73e8093d97b729ecf214bb1a6f3fc14c6961ced75d28549dc3b1e04d6c568d8c7981140d78d9b4304b5c1a7
AUX xorg-server-1.17-cve-2015-3164-3.patch 1152 BLAKE2B 4e81ea0f83bda645fd0a9386ca9e8cfe0ea57c9d04e03786a2ea18bf64088a0a321893201dfabe8b7dfa5103d758dcaef075e8bbfaa0c50377d02e5490d4aea7 SHA512 edcf5c14ed7f9dafea91851dbceadfd221d835c59e3e4d4365bc33906b7b5f5642ce501a214d2373075f4d684f691e1801a8ec3cab574ee64fc223e0a8073bd9
AUX xorg-server-1.17-ia64-fix_inx_outx.patch 1539 BLAKE2B 58582b260a1bad5852544fec1d78aa9ab6121f4938488b141050393053917dfd01efb7400cc9c4664b588f68f156008511ead9fcee3ea80e3d4e714abffdcc04 SHA512 1db65132bb04eff380d38ccc8441f9f9e5286d7a47956495c0a7de7978107d15e5638d05df0aabbcd11687dd03189a7ac50fca51d755d082869aed71e66dbda1
AUX xorg-server-1.17-randr-Account-for-panning-and-transforms-when-constr.patch 4680 BLAKE2B ee893d9ebbe028d9ab9096e7c406a7613fb2072fefd539cfebc681c8f5a6936f6e8d00ceae9caee2d90dacf67a3caf1a8a4d1903fed6f09a08cc4ff3e2282dc7 SHA512 ba5fbc1d691e30bc2cfd1007e2f70e0fad8355b7aa56e98ff5d796cb9389f065bcc8259a40240738499602db6aebff51643207b2b8d939a3408d6f3ef25cf92d
AUX xorg-server-1.17-support-multiple-Files-sections.patch 2256 BLAKE2B b2cabca3deec09f5a5410bade073d61e667217fe1656c1d91efea06e70d5392864ce26083636da400507352dcc17d508d41708bcf7f5c1d6901285b6a5c666a0 SHA512 e3141727c993e02b2e067095807e96ef0cc82e2e7c8b65664d0530ef05a0f7b9170272e4e1e3523ede3f1cc23b00c4776785b8299e0b58a6e7fd56062aecefb6
AUX xorg-server-1.17.2-uninit-clientsWritable.patch 2752 BLAKE2B 6bff7f4271158b2ce14cfb013e61994faaca7400c25947e086593e664f33467ad4d38358509bfa891cf74e273b1493d98e910dc24669adfa49a302b61024f108 SHA512 667c0330426a63ecfd790c922f5e892f24a4644d46bd621e39798db42f47835f80f3512f6910bab88a50a2138f76d9b5ca35b680143266ed3c9cba788d02fbdb
AUX xorg-server-1.18-support-multiple-Files-sections.patch 1902 BLAKE2B 69ba852b425d652ebb83d116cabbf92d1530d2c616910ddbb96fb574cdad8d3f1ce2b4fcf9fb16aa2950b40a0723c9d00465d8e6d72299f1ea181a257d014c80 SHA512 5cd0a4ce9c2efef7abc84df805a3c6da33bd64fdb16c3aa2fa61da4f805605a3d12cab0f452d3bc217b6e5d5d5bea29c9f3bf262e46347a074770ebd75ddf5b5
AUX xorg-server-1.18-sysmacros.patch 1698 BLAKE2B e689cc5ae5b07a12036e815d812014070a13593d2fa15ec448cdf919369b30c449f79fee4a6a864abce7503ef118a7887569391f7385ba1c1b30aeae81ca5f57 SHA512 e92300d9e965ebed7dc6f90d6d58b616e589f3df57efc954280a5eba65fa098bb6069f9b06c81cda169d46051f51a707e5ca659f820fc64948431bbc80e3e5a0
AUX xorg-server-1.19-randr-Account-for-panning-and-transforms-when-constr.patch 2884 BLAKE2B f5d78c9813425c18cd604467c9fe86e609a6db44ad5900a0b8697dac7d995133d162a3a883cb411e397390df517a91297a46d96d96a7741aacc1c0dc632eede5 SHA512 91f2ebe8ed58b377666ed6c71927fe44c8ec01132572c431e31e8d6457d859aa59d15443db95b031c0c1dca406144d1437cf4d3dc44e5a709bc991d5184c604c
AUX xorg-server-1.19.4-sysmacros.patch 986 BLAKE2B 04c111591a6a558913217b24aa2357478e7d931b6cee5185dda31ebd38d68463b4a158a18d8a60ffa7ccc5c65e246f261ebbf7c0ebc81fd3ae31e7579b7adab4 SHA512 858676058779363741901ffbf79666f723f917b49f8627ddd2f31768873adfb416a70bc298e2356861cb5abca8be54a6c64f8fa4fd11a91cce072b93857ad168
AUX xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch 1555 BLAKE2B ef0a52b2341939f254bdce6b705f0591d0888c8043e5c0da1c4c4e97cdac632c56b27392ac2d7ac63653c7dfe1d381edd619a5e0c1c78f3bf255348c99c30f24 SHA512 66cd27608019557029f15aa81cf1a067e124ec0f854af9e732fef8b12bade4f1797481c86de2437b63ec5364fbeb1e3e05a39aa08df71ad08df79cd7d244e280
AUX xorg-server-1.19.99.901-randr-fix-crash.patch 1774 BLAKE2B 6c8aba90b64989dc215b02514eb53412f8a7353a43373094bf0d0a8564338a4c409f5eabe4a2244fbaba46e6ed0b70d5253027319c92385c83b3a90f8e1911f6 SHA512 8513e59ea8d9782c6f088f202436b1f773a3e782d00a09c879ef49a050bc32aee0eaa8f545ecc4441e57ab82778b07d4e78b480356391e41c528d5b6b3fdda1e
AUX xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch 4981 BLAKE2B 46b6548ebddbd962725b4e2a08060decd84f33dc74c2c4a7f4325402712b9dc84fd3325b2027fe0b98e9dd6a6a39bc976ba2a35481c5c49da310cd45a0e4dd3f SHA512 423b8869c3ce2ff74373aa04dca788896d8d47380b5b2368f51e5cc3100f47a94384ef2f616779a44d4cd04b8e0f997190ab7df58ae4605b5c9819fe1f93fb45
AUX xorg-server-1.20.4-shm-Use-memfd_create-when-possible.patch 3194 BLAKE2B 6aca2b21b6b82cdd81a82d45bdbd1f861d4babdf222b73d285f118b42fdcb0a2b1f2949ab2141c7d95d3819c6687dc2323b4da19fbe99d865a2e51393b2c534a SHA512 a2de27ade9c79e8712c66d3ec8a1c9d4af0acdbbbc9bfdc58f0f9d8f2830a069fc3f3a74c92f5b0b0ff889bfc89017e7d0fed7fcd10b8916d0589b9f9171f81a
AUX xorg-server-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch 1724 BLAKE2B 34c607f6b6a6f21ed6b34d7a87cb3bc1774f526f32144218c7d5d338474c08c98c72a87b41f3d0afcaf81dc0e8d5989a48fd8e64a6a9e25ad968ad8156f6e984 SHA512 49d5af904bac03cfc8ad89b70541e9af6687f7f0153d06ada64e2226d27dddc1b7bb27024bed73c20c365197858957730de005c515bbae8e22b610c3241b70e4
AUX xorg-sets.conf 199 BLAKE2B e9414694f372d3f2a65bee903522094a60e261ddcd0c49a1d85a2ee804f3edbb5c605ed2d0b44839a91e98957f05ea88da87530f5f36b2db249e09ee56ee2975 SHA512 910fe28f20909243044f079ff35136942b8790f4f28ac42ffc64a76b7f03cd22057087fa5e4e01192080b52c0d89000ea96d5a807c6f11f680d3f43312c5be41
DIST xorg-server-1.19.5.tar.bz2 5965044 BLAKE2B 23375793ea4459a962f412440e307081ce2acd3c646e5db4d1bfac20e267bcbb1752ba8f6de66df06d25eaf92d1b55082a80eced0d44c257a757d5926ca6a7f3 SHA512 928dea5850b98cd815004cfa133eca23cfa9521920c934c68a92787f2cae13cca1534eee772a4fb74b8ae8cb92662b5d68b95b834c8aa8ec57cd57cb4e5dd45c
DIST xorg-server-1.20.3.tar.bz2 6205000 BLAKE2B 9fc8acf1812d0aa4800941dd1846060f91edf1e7ebc92b35e8c2028266d88d3ab3ba14e95f535e5ee41941f8e20769ee75723ba609f5653d4892f97bc5cf91c4 SHA512 ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
DIST xorg-server-1.20.4.tar.bz2 6123780 BLAKE2B 224dda54f433315f6614cbee5bc54db91d9d9e190c06ac7f26e334b80b9d4a612ff4b2a4f10f50a6f928ecdbea40172d5578289fbf88411f006bcd473253b05d SHA512 f1c92ef6d7613e0636973d3395b48dfdad42230847ab1c8b1cea84647a968f649f9aba97bdb01c10ee8351cbe954d4e6ca4a0fc84bb8fa662d49c8ba2aee00a8
DIST xorg-server-1.20.5.tar.bz2 6126757 BLAKE2B 2374c6f39acd80174d9cf9c15b6a75f420de3a9b7b51a41385a326fed106fc57fdc5a0a4a08beba36a8d65bff1c8c8d35bb50c73c5285ee206f3293a212369be SHA512 625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631
EBUILD xorg-server-1.19.5-r2.ebuild 5862 BLAKE2B f3ce919c096d17fe35f06a95c57dc683dcc64410a7b1ed6016f514635bfe648bfedf837d71191e64e768321d927113e2762afe3291a119504822b253bc6ae44d SHA512 0244859e25bc79e697fffac31e5b40ca4dba40af79115b7de689121f05dbd0967edfdeeb66f18fa949ecced0a4cc64e9d64c11290904010bc1e8175dafbec60d
EBUILD xorg-server-1.19.5.ebuild 6566 BLAKE2B 3a4ff315fde10ada290ee7f72a80544a56ba83b611f5947e99d0b248c745db632a561b83bfd1daa707977377d5c068a6b94d53f26fc2843f0ab4f01225c7cebe SHA512 a4b919e96b7e4919ee90553a2c157173d4c2bffed8e13846ad3b53be386625dd2728638585b3269bbb55c2c25e6e8d582edd1ef715983658dfb8a4265e761989
EBUILD xorg-server-1.20.3.ebuild 5546 BLAKE2B 51f043a9dd8d17c0eaa5f34132cf63fec6de5c6cb30d91bf0b7e66af7588def476b1e64bffa1a1ce90d2e462cebfc9971e46797d7cf1492d3ab136fa555f76be SHA512 ae298c2b5c0240c8d1f66f66e30ddf22a28f58326ee212ca763b22a28aae08b2b7501781ac551cbce7d24d5caeee08f774510a5803db704c066028f67b7df426
EBUILD xorg-server-1.20.4.ebuild 5748 BLAKE2B 21b3b7fe4b8055a51a7753f5bbb6877b7f512a26e593eecc53d492ba0476d9e5b8744c68457c594270c1acad676f210eadd6baaeaff36246de491f9a22ccec00 SHA512 7b259dd9661efd0870e8190ea9dbe52ff262cbe21207c4d7dc5aa97e941314aa08739d2b8254679fcdb5f1f55a08a895b2ad00c85136c1108db8ac32ff0e789d
EBUILD xorg-server-1.20.5.ebuild 5871 BLAKE2B 801a1b28683a1fecf2a7586752ed0b076d675de1e9f1d46b2f0b38e2f3495925e2ac869c3b660655cb227f55147dde8e8a8fbb8443b29f64fa0181f8464756a3 SHA512 9137b0c47d4aabecf8c757195d96bb0b3e7e3c9750891d49c276f12f8dd0381a376be83dfa008017d8ef9640e540da33b6f05575b36f17a882040efe0b7ac108

View file

@ -1,141 +0,0 @@
From 9365c02aba72fd370c7080c875d196f14d8d93bd Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat, 1 Mar 2014 08:25:18 +0000
Subject: [PATCH] randr: Account for panning and transforms when constraining
the cursor
commit 56c90e29f04727c903bd0f084d23bf44eb1a0a11 [1.10.99.901]
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Nov 15 14:29:14 2010 -0500
randr: Add RRConstrainCursorHarder
introduced a regression as it ignored the effect of panning and
transforms upon the crtc bounds. The result was that the cursor would be
constrained to the visible area even though the panning arena was much
bigger, or the cursor was constrained to a region that did not even
match the visible area when the output was transformed or reflected.
This supercedes the hack introduced by
commit 1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d [1.12.99.904]
Author: Rui Matos <tiagomatos@gmail.com>
Date: Mon Jul 30 14:32:12 2012 -0400
xf86RandR12: Don't call ConstrainCursorHarder() if panning is enabled
which disabled the cursor constraints if a panning mode was active, but
did not fix the regression with arbitrary output transforms.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39949
Cc: Adam Jackson <ajax@redhat.com>
Cc: Rui Matos <tiagomatos@gmail.com>
---
randr/rrcrtc.c | 60 +++++++++++++++++++++++++++++++++-------------------------
1 file changed, 34 insertions(+), 26 deletions(-)
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 6e181ba..900c7db 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -273,25 +273,34 @@ RRCrtcPendingProperties(RRCrtcPtr crtc)
return FALSE;
}
-static void
-crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
+static Bool
+cursor_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
{
- *left = crtc->x;
- *top = crtc->y;
+ rrScrPriv(crtc->pScreen);
+ BoxRec bounds;
- switch (crtc->rotation) {
- case RR_Rotate_0:
- case RR_Rotate_180:
- default:
- *right = crtc->x + crtc->mode->mode.width;
- *bottom = crtc->y + crtc->mode->mode.height;
- return;
- case RR_Rotate_90:
- case RR_Rotate_270:
- *right = crtc->x + crtc->mode->mode.height;
- *bottom = crtc->y + crtc->mode->mode.width;
- return;
+ if (crtc->mode == NULL)
+ return FALSE;
+
+ memset(&bounds, 0, sizeof(bounds));
+ if (pScrPriv->rrGetPanning)
+ pScrPriv->rrGetPanning(crtc->pScreen, crtc, NULL, &bounds, NULL);
+
+ if (bounds.y2 <= bounds.y1 || bounds.x2 <= bounds.x1) {
+ bounds.x1 = 0;
+ bounds.y1 = 0;
+ bounds.x2 = crtc->mode->mode.width;
+ bounds.y2 = crtc->mode->mode.height;
}
+
+ pixman_f_transform_bounds(&crtc->f_transform, &bounds);
+
+ *left = bounds.x1;
+ *right = bounds.x2;
+ *top = bounds.y1;
+ *bottom = bounds.y2;
+
+ return TRUE;
}
/* overlapping counts as adjacent */
@@ -303,8 +312,10 @@ crtcs_adjacent(const RRCrtcPtr a, const RRCrtcPtr b)
int bl, br, bt, bb;
int cl, cr, ct, cb; /* the overlap, if any */
- crtc_bounds(a, &al, &ar, &at, &ab);
- crtc_bounds(b, &bl, &br, &bt, &bb);
+ if (!cursor_bounds(a, &al, &ar, &at, &ab))
+ return FALSE;
+ if (!cursor_bounds(b, &bl, &br, &bt, &bb))
+ return FALSE;
cl = max(al, bl);
cr = min(ar, br);
@@ -322,7 +333,7 @@ mark_crtcs(rrScrPrivPtr pScrPriv, int *reachable, int cur)
reachable[cur] = TRUE;
for (i = 0; i < pScrPriv->numCrtcs; ++i) {
- if (reachable[i] || !pScrPriv->crtcs[i]->mode)
+ if (reachable[i])
continue;
if (crtcs_adjacent(pScrPriv->crtcs[cur], pScrPriv->crtcs[i]))
mark_crtcs(pScrPriv, reachable, i);
@@ -1573,10 +1584,8 @@ static Bool check_all_screen_crtcs(ScreenPtr pScreen, int *x, int *y)
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
-
- crtc_bounds(crtc, &left, &right, &top, &bottom);
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
if ((*x >= left) && (*x < right) && (*y >= top) && (*y < bottom))
return TRUE;
@@ -1595,10 +1604,9 @@ static Bool constrain_all_screen_crtcs(DeviceIntPtr pDev, ScreenPtr pScreen, int
int nx, ny;
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
- crtc_bounds(crtc, &left, &right, &top, &bottom);
miPointerGetPosition(pDev, &nx, &ny);
if ((nx >= left) && (nx < right) && (ny >= top) && (ny < bottom)) {
--
1.9.0

View file

@ -1,14 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2009 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm-setup.initd-1,v 1.1 2010/04/13 10:07:39 scarabeus Exp $
depend() {
need localmount
}
start() {
if get_bootparam "nox" ; then
touch /etc/.noxdm
fi
}

View file

@ -1,10 +0,0 @@
# We always try and start X on a static VT. The various DMs normally default
# to using VT7. If you wish to use the xdm init script, then you should ensure
# that the VT checked is the same VT your DM wants to use. We do this check to
# ensure that you haven't accidentally configured something to run on the VT
# in your /etc/inittab file so that you don't get a dead keyboard.
CHECKVT=7
# What display manager do you use ? [ xdm | gdm | kdm | gpe | entrance ]
# NOTE: If this is set in /etc/rc.conf, that setting will override this one.
DISPLAYMANAGER="xdm"

View file

@ -1,231 +0,0 @@
#!/sbin/runscript
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License, v2
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xdm.initd-11,v 1.1 2014/04/14 16:19:25 chithanh Exp $
# This is here to serve as a note to myself, and future developers.
#
# Any Display manager (gdm,kdm,xdm) has the following problem: if
# it is started before any getty, and no vt is specified, it will
# usually run on vt2. When the getty on vt2 then starts, and the
# DM is already started, the getty will take control of the keyboard,
# leaving us with a "dead" keyboard.
#
# Resolution: add the following line to /etc/inittab
#
# x:a:once:/etc/X11/startDM.sh
#
# and have /etc/X11/startDM.sh start the DM in daemon mode if
# a lock is present (with the info of what DM should be started),
# else just fall through.
#
# How this basically works, is the "a" runlevel is a additional
# runlevel that you can use to fork processes with init, but the
# runlevel never gets changed to this runlevel. Along with the "a"
# runlevel, the "once" key word means that startDM.sh will only be
# run when we specify it to run, thus eliminating respawning
# startDM.sh when "xdm" is not added to the default runlevel, as was
# done previously.
#
# This script then just calls "telinit a", and init will run
# /etc/X11/startDM.sh after the current runlevel completes (this
# script should only be added to the actual runlevel the user is
# using).
#
# Martin Schlemmer
# aka Azarah
# 04 March 2002
depend() {
need localmount xdm-setup
# this should start as early as possible
# we can't do 'before *' as that breaks it
# (#139824) Start after ypbind and autofs for network authentication
# (#145219 #180163) Could use lirc mouse as input device
# (#70689 comment #92) Start after consolefont to avoid display corruption
# (#291269) Start after quota, since some dm need readable home
# (#390609) gdm-3 will fail when dbus is not running
# (#366753) starting keymaps after X causes problems
after bootmisc consolefont modules netmount
after readahead-list ypbind autofs openvpn gpm lircmd
after quota keymaps
before alsasound
# Start before X
use consolekit dbus xfs
}
setup_dm() {
local MY_XDM
MY_XDM=$(echo "${DISPLAYMANAGER}" | tr '[:upper:]' '[:lower:]')
# Load our root path from profile.env
# Needed for kdm
PATH=${PATH}:$(. /etc/profile.env; echo "${ROOTPATH}")
NAME=
case "${MY_XDM}" in
kdm|kde)
EXE=/usr/bin/kdm
PIDFILE=/run/kdm.pid
;;
entrance*)
EXE=/usr/sbin/entrance
PIDFILE=/run/entrance.pid
;;
gdm|gnome)
# gdm-3 and above has different paths
if [ -f /usr/sbin/gdm ]; then
EXE=/usr/sbin/gdm
PIDFILE=/run/gdm/gdm.pid
START_STOP_ARGS="--background"
AUTOCLEAN_CGROUP="yes"
else
EXE=/usr/bin/gdm
PIDFILE=/run/gdm.pid
fi
[ "${RC_UNAME}" != "Linux" ] && NAME=gdm-binary
;;
wdm)
EXE=/usr/bin/wdm
PIDFILE=
;;
gpe)
EXE=/usr/bin/gpe-dm
PIDFILE=/run/gpe-dm.pid
;;
lxdm)
EXE=/usr/sbin/lxdm-binary
PIDFILE=/run/lxdm.pid
START_STOP_ARGS="--background"
;;
lightdm)
EXE=/usr/sbin/lightdm
PIDFILE=/run/lightdm.pid
START_STOP_ARGS="--background"
;;
sddm)
EXE="/usr/bin/sddm"
START_STOP_ARGS="-m --background"
PIDFILE=/run/sddm.pid
;;
*)
# first find out if there is such executable
EXE="$(command -v ${MY_XDM} 2>/dev/null)"
PIDFILE="/run/${MY_XDM}.pid"
# warn user that he is doing sick things if the exe was not found
if [ -z "${EXE}" ]; then
echo "ERROR: Your XDM value is invalid."
echo " No ${MY_XDM} executable could be found on your system."
fi
;;
esac
if ! [ -x "${EXE}" ]; then
EXE=/usr/bin/xdm
PIDFILE=/run/xdm.pid
if ! [ -x "/usr/bin/xdm" ]; then
echo "ERROR: Please set your DISPLAYMANAGER variable in /etc/conf.d/xdm,"
echo " or install x11-apps/xdm package"
eend 255
fi
fi
}
# Check to see if something is defined on our VT
vtstatic() {
if [ -e /etc/inittab ] ; then
grep -Eq "^[^#]+.*\<tty$1\>" /etc/inittab
elif [ -e /etc/ttys ] ; then
grep -q "^ttyv$(($1 - 1))" /etc/ttys
else
return 1
fi
}
start() {
local EXE NAME PIDFILE AUTOCLEAN_CGROUP
setup_dm
if [ -f /etc/.noxdm ]; then
einfo "Skipping ${EXE##*/}, /etc/.noxdm found or \"nox\" bootparam passed."
rm /etc/.noxdm
return 0
fi
ebegin "Setting up ${EXE##*/}"
# save the prefered DM
save_options "service" "${EXE}"
save_options "name" "${NAME}"
save_options "pidfile" "${PIDFILE}"
save_options "start_stop_args" "${START_STOP_ARGS}"
save_options "autoclean_cgroup" "${AUTOCLEAN_CGROUP:-no}"
if [ -n "${CHECKVT-y}" ] ; then
if vtstatic "${CHECKVT:-7}" ; then
if [ -x /sbin/telinit ] && [ "${SOFTLEVEL}" != "BOOT" ] && [ "${RC_SOFTLEVEL}" != "BOOT" ]; then
ewarn "Something is already defined on VT ${CHECKVT:-7}, will start X later"
telinit a >/dev/null 2>&1
return 0
else
eerror "Something is already defined on VT ${CHECKVT:-7}, not starting"
return 1
fi
fi
fi
/etc/X11/startDM.sh
eend 0
}
stop() {
local curvt retval
retval=0
if [ -t 0 ]; then
if type fgconsole >/dev/null 2>&1; then
curvt=$(fgconsole 2>/dev/null)
else
curvt=$(tty)
case "${curvt}" in
/dev/ttyv[0-9]*) curvt=${curvt#/dev/ttyv} ;;
*) curvt= ;;
esac
fi
fi
local myexe myname mypidfile myservice
myexe=$(get_options "service")
myname=$(get_options "name")
mypidfile=$(get_options "pidfile")
myservice=${myexe##*/}
yesno "${rc_cgroup_cleanup:-no}" || rc_cgroup_cleanup=$(get_options "autoclean_cgroup")
[ -z "${myexe}" ] && return 0
ebegin "Stopping ${myservice}"
if start-stop-daemon --quiet --test --stop --exec "${myexe}"; then
start-stop-daemon --stop --exec "${myexe}" --retry TERM/5/TERM/5 \
${mypidfile:+--pidfile} ${mypidfile} \
${myname:+--name} ${myname}
retval=${?}
fi
# switch back to original vt
if [ -n "${curvt}" ]; then
if type chvt >/dev/null 2>&1; then
chvt "${curvt}"
else
vidcontrol -s "$((curvt + 1))"
fi
fi
eend ${retval} "Error stopping ${myservice}"
return ${retval}
}
# vim: set ts=4 :

View file

@ -1,60 +0,0 @@
diff -r --context xorg-server-1.12.3/hw/xfree86/common/compiler.h xorg-server-1.12.3-fix/hw/xfree86/common/compiler.h
*** xorg-server-1.12.3/hw/xfree86/common/compiler.h 2012-07-06 07:17:19.000000000 +0200
--- xorg-server-1.12.3-fix/hw/xfree86/common/compiler.h 2012-08-29 00:14:39.000000000 +0200
***************
*** 421,426 ****
--- 421,474 ----
#include <machine/pio.h>
#endif /* __NetBSD__ */
+ #elif defined(linux) && defined(__ia64__)
+ /* for Linux on ia64, we use the LIBC _inx/_outx routines */
+ /* note that the appropriate setup via "ioperm" needs to be done */
+ /* *before* any inx/outx is done. */
+
+ extern _X_EXPORT void _outb(unsigned char val, unsigned long port);
+ extern _X_EXPORT void _outw(unsigned short val, unsigned long port);
+ extern _X_EXPORT void _outl(unsigned int val, unsigned long port);
+ extern _X_EXPORT unsigned int _inb(unsigned long port);
+ extern _X_EXPORT unsigned int _inw(unsigned long port);
+ extern _X_EXPORT unsigned int _inl(unsigned long port);
+
+ static __inline__ void
+ outb(unsigned long port, unsigned char val)
+ {
+ _outb(val, port);
+ }
+
+ static __inline__ void
+ outw(unsigned long port, unsigned short val)
+ {
+ _outw(val, port);
+ }
+
+ static __inline__ void
+ outl(unsigned long port, unsigned int val)
+ {
+ _outl(val, port);
+ }
+
+ static __inline__ unsigned int
+ inb(unsigned long port)
+ {
+ return _inb(port);
+ }
+
+ static __inline__ unsigned int
+ inw(unsigned long port)
+ {
+ return _inw(port);
+ }
+
+ static __inline__ unsigned int
+ inl(unsigned long port)
+ {
+ return _inl(port);
+ }
+
#elif (defined(linux) || defined(__FreeBSD__)) && defined(__amd64__)
#include <inttypes.h>

View file

@ -1,53 +0,0 @@
diff -u13 -r xorg-server-1.12.3-old/hw/xfree86/loader/loadmod.c xorg-server-1.12.3/hw/xfree86/loader/loadmod.c
--- xorg-server-1.12.3-old/hw/xfree86/loader/loadmod.c 2012-09-05 18:26:42.000000000 +0200
+++ xorg-server-1.12.3/hw/xfree86/loader/loadmod.c 2012-09-05 18:28:54.000000000 +0200
@@ -1109,39 +1109,38 @@
static void
RemoveChild(ModuleDescPtr child)
{
ModuleDescPtr mdp;
ModuleDescPtr prevsib;
ModuleDescPtr parent;
if (!child->parent)
return;
parent = child->parent;
if (parent->child == child) {
parent->child = child->sib;
- return;
- }
-
- prevsib = parent->child;
- mdp = prevsib->sib;
- while (mdp && mdp != child) {
- prevsib = mdp;
- mdp = mdp->sib;
+ }
+ else {
+ prevsib = parent->child;
+ mdp = prevsib->sib;
+ while (mdp && mdp != child) {
+ prevsib = mdp;
+ mdp = mdp->sib;
+ }
+ if (mdp == child)
+ prevsib->sib = child->sib;
}
- if (mdp == child)
- prevsib->sib = child->sib;
child->sib = NULL;
- return;
}
void
LoaderErrorMsg(const char *name, const char *modname, int errmaj, int errmin)
{
const char *msg;
MessageType type = X_ERROR;
switch (errmaj) {
case LDR_NOERROR:
msg = "no error";
break;
case LDR_NOMEM:

View file

@ -1,102 +0,0 @@
From 81c90dc8f0aae3b65730409b1b615b5fa7280ebd Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 16 Jan 2015 20:08:59 +0100
Subject: xkb: Don't swap XkbSetGeometry data in the input buffer
The XkbSetGeometry request embeds data which needs to be swapped when the
server and the client have different endianess.
_XkbSetGeometry() invokes functions that swap these data directly in the
input buffer.
However, ProcXkbSetGeometry() may call _XkbSetGeometry() more than once
(if there is more than one keyboard), thus causing on swapped clients the
same data to be swapped twice in memory, further causing a server crash
because the strings lengths on the second time are way off bounds.
To allow _XkbSetGeometry() to run reliably more than once with swapped
clients, do not swap the data in the buffer, use variables instead.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/xkb/xkb.c b/xkb/xkb.c
index 15c7f34..b9a3ac4 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -4961,14 +4961,13 @@ static char *
_GetCountedString(char **wire_inout, Bool swap)
{
char *wire, *str;
- CARD16 len, *plen;
+ CARD16 len;
wire = *wire_inout;
- plen = (CARD16 *) wire;
+ len = *(CARD16 *) wire;
if (swap) {
- swaps(plen);
+ swaps(&len);
}
- len = *plen;
str = malloc(len + 1);
if (str) {
memcpy(str, &wire[2], len);
@@ -4985,25 +4984,28 @@ _CheckSetDoodad(char **wire_inout,
{
char *wire;
xkbDoodadWireDesc *dWire;
+ xkbAnyDoodadWireDesc any;
+ xkbTextDoodadWireDesc text;
XkbDoodadPtr doodad;
dWire = (xkbDoodadWireDesc *) (*wire_inout);
+ any = dWire->any;
wire = (char *) &dWire[1];
if (client->swapped) {
- swapl(&dWire->any.name);
- swaps(&dWire->any.top);
- swaps(&dWire->any.left);
- swaps(&dWire->any.angle);
+ swapl(&any.name);
+ swaps(&any.top);
+ swaps(&any.left);
+ swaps(&any.angle);
}
CHK_ATOM_ONLY(dWire->any.name);
- doodad = XkbAddGeomDoodad(geom, section, dWire->any.name);
+ doodad = XkbAddGeomDoodad(geom, section, any.name);
if (!doodad)
return BadAlloc;
doodad->any.type = dWire->any.type;
doodad->any.priority = dWire->any.priority;
- doodad->any.top = dWire->any.top;
- doodad->any.left = dWire->any.left;
- doodad->any.angle = dWire->any.angle;
+ doodad->any.top = any.top;
+ doodad->any.left = any.left;
+ doodad->any.angle = any.angle;
switch (doodad->any.type) {
case XkbOutlineDoodad:
case XkbSolidDoodad:
@@ -5026,12 +5028,13 @@ _CheckSetDoodad(char **wire_inout,
dWire->text.colorNdx);
return BadMatch;
}
+ text = dWire->text;
if (client->swapped) {
- swaps(&dWire->text.width);
- swaps(&dWire->text.height);
+ swaps(&text.width);
+ swaps(&text.height);
}
- doodad->text.width = dWire->text.width;
- doodad->text.height = dWire->text.height;
+ doodad->text.width = text.width;
+ doodad->text.height = text.height;
doodad->text.color_ndx = dWire->text.colorNdx;
doodad->text.text = _GetCountedString(&wire, client->swapped);
doodad->text.font = _GetCountedString(&wire, client->swapped);
--
cgit v0.10.2

View file

@ -1,138 +0,0 @@
From 20079c36cf7d377938ca5478447d8b9045cb7d43 Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Fri, 16 Jan 2015 08:44:45 +0100
Subject: xkb: Check strings length against request size
Ensure that the given strings length in an XkbSetGeometry request remain
within the limits of the size of the request.
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
diff --git a/xkb/xkb.c b/xkb/xkb.c
index b9a3ac4..f3988f9 100644
--- a/xkb/xkb.c
+++ b/xkb/xkb.c
@@ -4957,25 +4957,29 @@ ProcXkbGetGeometry(ClientPtr client)
/***====================================================================***/
-static char *
-_GetCountedString(char **wire_inout, Bool swap)
+static Status
+_GetCountedString(char **wire_inout, ClientPtr client, char **str)
{
- char *wire, *str;
+ char *wire, *next;
CARD16 len;
wire = *wire_inout;
len = *(CARD16 *) wire;
- if (swap) {
+ if (client->swapped) {
swaps(&len);
}
- str = malloc(len + 1);
- if (str) {
- memcpy(str, &wire[2], len);
- str[len] = '\0';
- }
- wire += XkbPaddedSize(len + 2);
- *wire_inout = wire;
- return str;
+ next = wire + XkbPaddedSize(len + 2);
+ /* Check we're still within the size of the request */
+ if (client->req_len <
+ bytes_to_int32(next - (char *) client->requestBuffer))
+ return BadValue;
+ *str = malloc(len + 1);
+ if (!*str)
+ return BadAlloc;
+ memcpy(*str, &wire[2], len);
+ *(*str + len) = '\0';
+ *wire_inout = next;
+ return Success;
}
static Status
@@ -4987,6 +4991,7 @@ _CheckSetDoodad(char **wire_inout,
xkbAnyDoodadWireDesc any;
xkbTextDoodadWireDesc text;
XkbDoodadPtr doodad;
+ Status status;
dWire = (xkbDoodadWireDesc *) (*wire_inout);
any = dWire->any;
@@ -5036,8 +5041,14 @@ _CheckSetDoodad(char **wire_inout,
doodad->text.width = text.width;
doodad->text.height = text.height;
doodad->text.color_ndx = dWire->text.colorNdx;
- doodad->text.text = _GetCountedString(&wire, client->swapped);
- doodad->text.font = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &doodad->text.text);
+ if (status != Success)
+ return status;
+ status = _GetCountedString(&wire, client, &doodad->text.font);
+ if (status != Success) {
+ free (doodad->text.text);
+ return status;
+ }
break;
case XkbIndicatorDoodad:
if (dWire->indicator.onColorNdx >= geom->num_colors) {
@@ -5072,7 +5083,9 @@ _CheckSetDoodad(char **wire_inout,
}
doodad->logo.color_ndx = dWire->logo.colorNdx;
doodad->logo.shape_ndx = dWire->logo.shapeNdx;
- doodad->logo.logo_name = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &doodad->logo.logo_name);
+ if (status != Success)
+ return status;
break;
default:
client->errorValue = _XkbErrCode2(0x4F, dWire->any.type);
@@ -5304,18 +5317,20 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
char *wire;
wire = (char *) &req[1];
- geom->label_font = _GetCountedString(&wire, client->swapped);
+ status = _GetCountedString(&wire, client, &geom->label_font);
+ if (status != Success)
+ return status;
for (i = 0; i < req->nProperties; i++) {
char *name, *val;
- name = _GetCountedString(&wire, client->swapped);
- if (!name)
- return BadAlloc;
- val = _GetCountedString(&wire, client->swapped);
- if (!val) {
+ status = _GetCountedString(&wire, client, &name);
+ if (status != Success)
+ return status;
+ status = _GetCountedString(&wire, client, &val);
+ if (status != Success) {
free(name);
- return BadAlloc;
+ return status;
}
if (XkbAddGeomProperty(geom, name, val) == NULL) {
free(name);
@@ -5349,9 +5364,9 @@ _CheckSetGeom(XkbGeometryPtr geom, xkbSetGeometryReq * req, ClientPtr client)
for (i = 0; i < req->nColors; i++) {
char *name;
- name = _GetCountedString(&wire, client->swapped);
- if (!name)
- return BadAlloc;
+ status = _GetCountedString(&wire, client, &name);
+ if (status != Success)
+ return status;
if (!XkbAddGeomColor(geom, name, geom->num_colors)) {
free(name);
return BadAlloc;
--
cgit v0.10.2

View file

@ -1,33 +0,0 @@
From c4534a38b68aa07fb82318040dc8154fb48a9588 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 5 May 2015 16:43:42 -0400
Subject: xwayland: Enable access control on open sockets [CVE-2015-3164 1/3]
Xwayland currently allows wide-open access to the X sockets
it listens on, ignoring Xauth access control.
This commit makes sure to enable access control on the sockets,
so one user can't snoop on another user's X-over-wayland
applications.
Signed-off-by: Ray Strode <rstrode@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index 7e8d667..c5bee77 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -483,7 +483,7 @@ listen_on_fds(struct xwl_screen *xwl_screen)
int i;
for (i = 0; i < xwl_screen->listen_fd_count; i++)
- ListenOnOpenFD(xwl_screen->listen_fds[i], TRUE);
+ ListenOnOpenFD(xwl_screen->listen_fds[i], FALSE);
}
static void
--
cgit v0.10.2

View file

@ -1,246 +0,0 @@
From 4b4b9086d02b80549981d205fb1f495edc373538 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 5 May 2015 16:43:43 -0400
Subject: os: support new implicit local user access mode [CVE-2015-3164 2/3]
If the X server is started without a '-auth' argument, then
it gets started wide open to all local users on the system.
This isn't a great default access model, but changing it in
Xorg at this point would break backward compatibility.
Xwayland, on the other hand is new, and much more targeted
in scope. It could, in theory, be changed to allow the much
more secure default of a "user who started X server can connect
clients to that server."
This commit paves the way for that change, by adding a mechanism
for DDXs to opt-in to that behavior. They merely need to call
LocalAccessScopeUser()
in their init functions.
A subsequent commit will add that call for Xwayland.
Signed-off-by: Ray Strode <rstrode@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
diff --git a/include/os.h b/include/os.h
index 6638c84..b2b96c8 100644
--- a/include/os.h
+++ b/include/os.h
@@ -431,11 +431,28 @@ extern _X_EXPORT void
ResetHosts(const char *display);
extern _X_EXPORT void
+EnableLocalAccess(void);
+
+extern _X_EXPORT void
+DisableLocalAccess(void);
+
+extern _X_EXPORT void
EnableLocalHost(void);
extern _X_EXPORT void
DisableLocalHost(void);
+#ifndef NO_LOCAL_CLIENT_CRED
+extern _X_EXPORT void
+EnableLocalUser(void);
+
+extern _X_EXPORT void
+DisableLocalUser(void);
+
+extern _X_EXPORT void
+LocalAccessScopeUser(void);
+#endif
+
extern _X_EXPORT void
AccessUsingXdmcp(void);
diff --git a/os/access.c b/os/access.c
index 8fa028e..75e7a69 100644
--- a/os/access.c
+++ b/os/access.c
@@ -102,6 +102,10 @@ SOFTWARE.
#include <sys/ioctl.h>
#include <ctype.h>
+#ifndef NO_LOCAL_CLIENT_CRED
+#include <pwd.h>
+#endif
+
#if defined(TCPCONN) || defined(STREAMSCONN)
#include <netinet/in.h>
#endif /* TCPCONN || STREAMSCONN */
@@ -225,6 +229,13 @@ static int LocalHostEnabled = FALSE;
static int LocalHostRequested = FALSE;
static int UsingXdmcp = FALSE;
+static enum {
+ LOCAL_ACCESS_SCOPE_HOST = 0,
+#ifndef NO_LOCAL_CLIENT_CRED
+ LOCAL_ACCESS_SCOPE_USER,
+#endif
+} LocalAccessScope;
+
/* FamilyServerInterpreted implementation */
static Bool siAddrMatch(int family, void *addr, int len, HOST * host,
ClientPtr client);
@@ -237,6 +248,21 @@ static void siTypesInitialize(void);
*/
void
+EnableLocalAccess(void)
+{
+ switch (LocalAccessScope) {
+ case LOCAL_ACCESS_SCOPE_HOST:
+ EnableLocalHost();
+ break;
+#ifndef NO_LOCAL_CLIENT_CRED
+ case LOCAL_ACCESS_SCOPE_USER:
+ EnableLocalUser();
+ break;
+#endif
+ }
+}
+
+void
EnableLocalHost(void)
{
if (!UsingXdmcp) {
@@ -249,6 +275,21 @@ EnableLocalHost(void)
* called when authorization is enabled to keep us secure
*/
void
+DisableLocalAccess(void)
+{
+ switch (LocalAccessScope) {
+ case LOCAL_ACCESS_SCOPE_HOST:
+ DisableLocalHost();
+ break;
+#ifndef NO_LOCAL_CLIENT_CRED
+ case LOCAL_ACCESS_SCOPE_USER:
+ DisableLocalUser();
+ break;
+#endif
+ }
+}
+
+void
DisableLocalHost(void)
{
HOST *self;
@@ -262,6 +303,74 @@ DisableLocalHost(void)
}
}
+#ifndef NO_LOCAL_CLIENT_CRED
+static int GetLocalUserAddr(char **addr)
+{
+ static const char *type = "localuser";
+ static const char delimiter = '\0';
+ static const char *value;
+ struct passwd *pw;
+ int length = -1;
+
+ pw = getpwuid(getuid());
+
+ if (pw == NULL || pw->pw_name == NULL)
+ goto out;
+
+ value = pw->pw_name;
+
+ length = asprintf(addr, "%s%c%s", type, delimiter, value);
+
+ if (length == -1) {
+ goto out;
+ }
+
+ /* Trailing NUL */
+ length++;
+
+out:
+ return length;
+}
+
+void
+EnableLocalUser(void)
+{
+ char *addr = NULL;
+ int length = -1;
+
+ length = GetLocalUserAddr(&addr);
+
+ if (length == -1)
+ return;
+
+ NewHost(FamilyServerInterpreted, addr, length, TRUE);
+
+ free(addr);
+}
+
+void
+DisableLocalUser(void)
+{
+ char *addr = NULL;
+ int length = -1;
+
+ length = GetLocalUserAddr(&addr);
+
+ if (length == -1)
+ return;
+
+ RemoveHost(NULL, FamilyServerInterpreted, length, addr);
+
+ free(addr);
+}
+
+void
+LocalAccessScopeUser(void)
+{
+ LocalAccessScope = LOCAL_ACCESS_SCOPE_USER;
+}
+#endif
+
/*
* called at init time when XDMCP will be used; xdmcp always
* adds local hosts manually when needed
diff --git a/os/auth.c b/os/auth.c
index 5fcb538..7da6fc6 100644
--- a/os/auth.c
+++ b/os/auth.c
@@ -181,11 +181,11 @@ CheckAuthorization(unsigned int name_length,
/*
* If the authorization file has at least one entry for this server,
- * disable local host access. (loadauth > 0)
+ * disable local access. (loadauth > 0)
*
* If there are zero entries (either initially or when the
* authorization file is later reloaded), or if a valid
- * authorization file was never loaded, enable local host access.
+ * authorization file was never loaded, enable local access.
* (loadauth == 0 || !loaded)
*
* If the authorization file was loaded initially (with valid
@@ -194,11 +194,11 @@ CheckAuthorization(unsigned int name_length,
*/
if (loadauth > 0) {
- DisableLocalHost(); /* got at least one */
+ DisableLocalAccess(); /* got at least one */
loaded = TRUE;
}
else if (loadauth == 0 || !loaded)
- EnableLocalHost();
+ EnableLocalAccess();
}
if (name_length) {
for (i = 0; i < NUM_AUTHORIZATION; i++) {
--
cgit v0.10.2

View file

@ -1,34 +0,0 @@
From 76636ac12f2d1dbdf7be08222f80e7505d53c451 Mon Sep 17 00:00:00 2001
From: Ray Strode <rstrode@redhat.com>
Date: Tue, 5 May 2015 16:43:44 -0400
Subject: xwayland: default to local user if no xauth file given.
[CVE-2015-3164 3/3]
Right now if "-auth" isn't passed on the command line, we let
any user on the system connect to the Xwayland server.
That's clearly suboptimal, given Xwayland is generally designed
to be used by one user at a time.
This commit changes the behavior, so only the user who started the
X server can connect clients to it.
Signed-off-by: Ray Strode <rstrode@redhat.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
index c5bee77..bc92beb 100644
--- a/hw/xwayland/xwayland.c
+++ b/hw/xwayland/xwayland.c
@@ -702,4 +702,6 @@ InitOutput(ScreenInfo * screen_info, int argc, char **argv)
if (AddScreen(xwl_screen_init, argc, argv) == -1) {
FatalError("Couldn't add screen\n");
}
+
+ LocalAccessScopeUser();
}
--
cgit v0.10.2

View file

@ -1,59 +0,0 @@
diff --git a/hw/xfree86/common/compiler.h b/hw/xfree86/common/compiler.h
index 1653574..fe881ee 100644
--- a/hw/xfree86/common/compiler.h
+++ b/hw/xfree86/common/compiler.h
@@ -286,6 +286,54 @@ extern _X_EXPORT unsigned int inl(unsigned int port);
#include <machine/pio.h>
#endif /* __NetBSD__ */
+#elif defined(linux) && defined(__ia64__)
+/* for Linux on ia64, we use the LIBC _inx/_outx routines */
+/* note that the appropriate setup via "ioperm" needs to be done */
+/* *before* any inx/outx is done. */
+
+extern _X_EXPORT void _outb(unsigned char val, unsigned long port);
+extern _X_EXPORT void _outw(unsigned short val, unsigned long port);
+extern _X_EXPORT void _outl(unsigned int val, unsigned long port);
+extern _X_EXPORT unsigned int _inb(unsigned long port);
+extern _X_EXPORT unsigned int _inw(unsigned long port);
+extern _X_EXPORT unsigned int _inl(unsigned long port);
+
+static __inline__ void
+outb(unsigned long port, unsigned char val)
+{
+ _outb(val, port);
+}
+
+static __inline__ void
+outw(unsigned long port, unsigned short val)
+{
+ _outw(val, port);
+}
+
+static __inline__ void
+outl(unsigned long port, unsigned int val)
+{
+ _outl(val, port);
+}
+
+static __inline__ unsigned int
+inb(unsigned long port)
+{
+ return _inb(port);
+}
+
+static __inline__ unsigned int
+inw(unsigned long port)
+{
+ return _inw(port);
+}
+
+static __inline__ unsigned int
+inl(unsigned long port)
+{
+ return _inl(port);
+}
+
#elif defined(__amd64__)
#include <inttypes.h>

View file

@ -1,141 +0,0 @@
From 9365c02aba72fd370c7080c875d196f14d8d93bd Mon Sep 17 00:00:00 2001
From: Chris Wilson <chris@chris-wilson.co.uk>
Date: Sat, 1 Mar 2014 08:25:18 +0000
Subject: [PATCH] randr: Account for panning and transforms when constraining
the cursor
commit 56c90e29f04727c903bd0f084d23bf44eb1a0a11 [1.10.99.901]
Author: Adam Jackson <ajax@redhat.com>
Date: Mon Nov 15 14:29:14 2010 -0500
randr: Add RRConstrainCursorHarder
introduced a regression as it ignored the effect of panning and
transforms upon the crtc bounds. The result was that the cursor would be
constrained to the visible area even though the panning arena was much
bigger, or the cursor was constrained to a region that did not even
match the visible area when the output was transformed or reflected.
This supercedes the hack introduced by
commit 1bf81af4a6be1113bcc3b940ab264d5c9e0f0c5d [1.12.99.904]
Author: Rui Matos <tiagomatos@gmail.com>
Date: Mon Jul 30 14:32:12 2012 -0400
xf86RandR12: Don't call ConstrainCursorHarder() if panning is enabled
which disabled the cursor constraints if a panning mode was active, but
did not fix the regression with arbitrary output transforms.
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=39949
Cc: Adam Jackson <ajax@redhat.com>
Cc: Rui Matos <tiagomatos@gmail.com>
---
randr/rrcrtc.c | 60 +++++++++++++++++++++++++++++++++-------------------------
1 file changed, 34 insertions(+), 26 deletions(-)
diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
index 6e181ba..900c7db 100644
--- a/randr/rrcrtc.c
+++ b/randr/rrcrtc.c
@@ -273,25 +273,34 @@ RRCrtcPendingProperties(RRCrtcPtr crtc)
return FALSE;
}
-static void
-crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
+static Bool
+cursor_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
{
- *left = crtc->x;
- *top = crtc->y;
+ rrScrPriv(crtc->pScreen);
+ BoxRec bounds;
- switch (crtc->rotation) {
- case RR_Rotate_0:
- case RR_Rotate_180:
- default:
- *right = crtc->x + crtc->mode->mode.width;
- *bottom = crtc->y + crtc->mode->mode.height;
- return;
- case RR_Rotate_90:
- case RR_Rotate_270:
- *right = crtc->x + crtc->mode->mode.height;
- *bottom = crtc->y + crtc->mode->mode.width;
- return;
+ if (crtc->mode == NULL)
+ return FALSE;
+
+ memset(&bounds, 0, sizeof(bounds));
+ if (pScrPriv->rrGetPanning)
+ pScrPriv->rrGetPanning(crtc->pScreen, crtc, NULL, &bounds, NULL);
+
+ if (bounds.y2 <= bounds.y1 || bounds.x2 <= bounds.x1) {
+ bounds.x1 = 0;
+ bounds.y1 = 0;
+ bounds.x2 = crtc->mode->mode.width;
+ bounds.y2 = crtc->mode->mode.height;
}
+
+ pixman_f_transform_bounds(&crtc->f_transform, &bounds);
+
+ *left = bounds.x1;
+ *right = bounds.x2;
+ *top = bounds.y1;
+ *bottom = bounds.y2;
+
+ return TRUE;
}
/* overlapping counts as adjacent */
@@ -303,8 +312,10 @@ crtcs_adjacent(const RRCrtcPtr a, const RRCrtcPtr b)
int bl, br, bt, bb;
int cl, cr, ct, cb; /* the overlap, if any */
- crtc_bounds(a, &al, &ar, &at, &ab);
- crtc_bounds(b, &bl, &br, &bt, &bb);
+ if (!cursor_bounds(a, &al, &ar, &at, &ab))
+ return FALSE;
+ if (!cursor_bounds(b, &bl, &br, &bt, &bb))
+ return FALSE;
cl = max(al, bl);
cr = min(ar, br);
@@ -322,7 +333,7 @@ mark_crtcs(rrScrPrivPtr pScrPriv, int *reachable, int cur)
reachable[cur] = TRUE;
for (i = 0; i < pScrPriv->numCrtcs; ++i) {
- if (reachable[i] || !pScrPriv->crtcs[i]->mode)
+ if (reachable[i])
continue;
if (crtcs_adjacent(pScrPriv->crtcs[cur], pScrPriv->crtcs[i]))
mark_crtcs(pScrPriv, reachable, i);
@@ -1573,10 +1584,8 @@ static Bool check_all_screen_crtcs(ScreenPtr pScreen, int *x, int *y)
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
-
- crtc_bounds(crtc, &left, &right, &top, &bottom);
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
if ((*x >= left) && (*x < right) && (*y >= top) && (*y < bottom))
return TRUE;
@@ -1595,10 +1604,9 @@ static Bool constrain_all_screen_crtcs(DeviceIntPtr pDev, ScreenPtr pScreen, int
int nx, ny;
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
- crtc_bounds(crtc, &left, &right, &top, &bottom);
miPointerGetPosition(pDev, &nx, &ny);
if ((nx >= left) && (nx < right) && (ny >= top) && (ny < bottom)) {
--
1.9.0

View file

@ -1,65 +0,0 @@
From a140d7ce3f37f30b4fed27c5a70ebcc4ed13c612 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
Date: Tue, 24 Feb 2015 12:57:24 +0100
Subject: [PATCH] config: Support multiple 'Files' sections
---
hw/xfree86/parser/Files.c | 8 ++++++--
hw/xfree86/parser/configProcs.h | 2 +-
hw/xfree86/parser/read.c | 2 +-
3 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
index 849bf92..5cc3ec7 100644
--- a/hw/xfree86/parser/Files.c
+++ b/hw/xfree86/parser/Files.c
@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
#define CLEANUP xf86freeFiles
XF86ConfFilesPtr
-xf86parseFilesSection(void)
+xf86parseFilesSection(XF86ConfFilesPtr ptr)
{
int i, j;
int k, l;
char *str;
int token;
- parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
+ if (!ptr) {
+ if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
+ return NULL;
+ }
+ }
while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
switch (token) {
diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
index 774e2a2..b9fdebb 100644
--- a/hw/xfree86/parser/configProcs.h
+++ b/hw/xfree86/parser/configProcs.h
@@ -37,7 +37,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
int xf86validateDevice(XF86ConfigPtr p);
/* Files.c */
-XF86ConfFilesPtr xf86parseFilesSection(void);
+XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
void xf86freeFiles(XF86ConfFilesPtr p);
diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
index 327c02a..e0d6139 100644
--- a/hw/xfree86/parser/read.c
+++ b/hw/xfree86/parser/read.c
@@ -110,7 +110,7 @@ xf86readConfigFile(void)
if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
free(xf86_lex_val.str);
xf86_lex_val.str = NULL;
- HANDLE_RETURN(conf_files, xf86parseFilesSection());
+ HANDLE_RETURN(conf_files, xf86parseFilesSection(ptr->conf_files));
}
else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
free(xf86_lex_val.str);
--
2.3.0

View file

@ -1,65 +0,0 @@
https://bugs.gentoo.org/show_bug.cgi?id=555776
From 7cc7ffd25d5e50b54cb942d07d4cb160f20ff9c5 Mon Sep 17 00:00:00 2001
From: Martin Peres <martin.peres@linux.intel.com>
Date: Fri, 17 Jul 2015 17:21:26 +0300
Subject: [PATCH] os: make sure the clientsWritable fd_set is initialized
before use
In WaitForSomething(), the fd_set clientsWritable may be used unitialized when
the boolean AnyClientsWriteBlocked is set in the WakeupHandler(). This leads to
a crash in FlushAllOutput() after x11proto's commit
2c94cdb453bc641246cc8b9a876da9799bee1ce7.
The problem did not manifest before because both the XFD_SIZE and the maximum
number of clients were set to 256. As the connectionTranslation table was
initalized for the 256 clients to 0, the test on the index not being 0 was
aborting before dereferencing the client #0.
As of commit 2c94cdb453bc641246cc8b9a876da9799bee1ce7 in x11proto, the XFD_SIZE
got bumped to 512. This lead the OutputPending fd_set to have any fd above 256
to be uninitialized which in turns lead to reading an index after the end of
the ConnectionTranslation table. This index would then be used to find the
client corresponding to the fd marked as pending writes and would also result
to an out-of-bound access which would usually be the fatal one.
Fix this by zeroing the clientsWritable fd_set at the beginning of
WaitForSomething(). In this case, the bottom part of the loop, which would
indirectly call FlushAllOutput, will not do any work but the next call to
select will result in the execution of the right codepath. This is exactly what
we want because we need to know the writable clients before handling them. In
the end, it also makes sure that the fds above MaxClient are initialized,
preventing the crash in FlushAllOutput().
Thanks to everyone involved in tracking this one down!
Reported-by: Karol Herbst <freedesktop@karolherbst.de>
Reported-by: Tobias Klausmann <tobias.klausmann@mni.thm.de>
Signed-off-by: Martin Peres <martin.peres@linux.intel.com>
Tested-by: Martin Peres <martin.peres@linux.intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=91316
Cc: Ilia Mirkin <imirkin@alum.mit.edu>
Cc: Martin Peres <martin.peres@linux.intel.com>
Cc: Olivier Fourdan <ofourdan@redhat.com
Cc: Adam Jackson <ajax@redhat.com>
Cc: Alan Coopersmith <alan.coopersmith@oracle.com
Cc: Chris Wilson <chris@chris-wilson.co.uk>
---
os/WaitFor.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/os/WaitFor.c b/os/WaitFor.c
index 431f1a6..993c14e 100644
--- a/os/WaitFor.c
+++ b/os/WaitFor.c
@@ -158,6 +158,7 @@ WaitForSomething(int *pClientsReady)
Bool someReady = FALSE;
FD_ZERO(&clientsReadable);
+ FD_ZERO(&clientsWritable);
if (nready)
SmartScheduleStopTimer();
--
2.4.5

View file

@ -1,53 +0,0 @@
See http://lists.x.org/archives/xorg-devel/2015-February/045755.html
diff --git a/hw/xfree86/parser/Files.c b/hw/xfree86/parser/Files.c
index 849bf92..5cc3ec7 100644
--- a/hw/xfree86/parser/Files.c
+++ b/hw/xfree86/parser/Files.c
@@ -76,14 +76,18 @@ static xf86ConfigSymTabRec FilesTab[] = {
#define CLEANUP xf86freeFiles
XF86ConfFilesPtr
-xf86parseFilesSection(void)
+xf86parseFilesSection(XF86ConfFilesPtr ptr)
{
int i, j;
int k, l;
char *str;
int token;
- parsePrologue(XF86ConfFilesPtr, XF86ConfFilesRec)
+ if (!ptr) {
+ if( (ptr=calloc(1,sizeof(XF86ConfFilesRec))) == NULL ) {
+ return NULL;
+ }
+ }
while ((token = xf86getToken(FilesTab)) != ENDSECTION) {
switch (token) {
diff --git a/hw/xfree86/parser/configProcs.h b/hw/xfree86/parser/configProcs.h
index 171f8e8..e8199fe 100644
--- a/hw/xfree86/parser/configProcs.h
+++ b/hw/xfree86/parser/configProcs.h
@@ -36,7 +36,7 @@ void xf86freeDeviceList(XF86ConfDevicePtr ptr);
int xf86validateDevice(XF86ConfigPtr p);
/* Files.c */
-XF86ConfFilesPtr xf86parseFilesSection(void);
+XF86ConfFilesPtr xf86parseFilesSection(XF86ConfFilesPtr ptr);
void xf86printFileSection(FILE * cf, XF86ConfFilesPtr ptr);
void xf86freeFiles(XF86ConfFilesPtr p);
diff --git a/hw/xfree86/parser/read.c b/hw/xfree86/parser/read.c
index 327c02a..e0d6139 100644
--- a/hw/xfree86/parser/read.c
+++ b/hw/xfree86/parser/read.c
@@ -110,7 +110,7 @@ xf86readConfigFile(void)
if (xf86nameCompare(xf86_lex_val.str, "files") == 0) {
free(xf86_lex_val.str);
xf86_lex_val.str = NULL;
- HANDLE_RETURN(conf_files, xf86parseFilesSection());
+ HANDLE_RETURN(conf_files, xf86parseFilesSection(ptr->conf_files));
}
else if (xf86nameCompare(xf86_lex_val.str, "serverflags") == 0) {
free(xf86_lex_val.str);

View file

@ -1,59 +0,0 @@
From 1df7e4f5c1090631ff6584176f7d1370d08bc15e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <petr.pisar@atlas.cz>
Date: Sat, 16 Apr 2016 13:04:59 +0200
Subject: [PATCH] Include sys/sysmacros.h for major(3)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
GNU major(3) manual page prescribes <sys/types.h>, but that does not work with
sys-libs/glibc-2.23-r1.
https://bugs.gentoo.org/show_bug.cgi?id=580044
Signed-off-by: Petr Písař <petr.pisar@atlas.cz>
---
config/udev.c | 1 +
hw/xfree86/common/xf86Xinput.c | 2 ++
hw/xfree86/os-support/linux/lnx_init.c | 1 +
3 files changed, 4 insertions(+)
diff --git a/config/udev.c b/config/udev.c
index 28c2658..62908f4 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -30,6 +30,7 @@
#include <libudev.h>
#include <ctype.h>
#include <unistd.h>
+#include <sys/sysmacros.h>
#include "input.h"
#include "inputstr.h"
diff --git a/hw/xfree86/common/xf86Xinput.c b/hw/xfree86/common/xf86Xinput.c
index c56a2b9..d33c165 100644
--- a/hw/xfree86/common/xf86Xinput.c
+++ b/hw/xfree86/common/xf86Xinput.c
@@ -86,6 +86,8 @@
#include <unistd.h>
#ifdef HAVE_SYS_MKDEV_H
#include <sys/mkdev.h> /* for major() & minor() on Solaris */
+#else
+#include <sys/sysmacros.h>
#endif
#include "mi.h"
diff --git a/hw/xfree86/os-support/linux/lnx_init.c b/hw/xfree86/os-support/linux/lnx_init.c
index 1ed213c..6caf531 100644
--- a/hw/xfree86/os-support/linux/lnx_init.c
+++ b/hw/xfree86/os-support/linux/lnx_init.c
@@ -38,6 +38,7 @@
#include "xf86_OSlib.h"
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#ifndef K_OFF
#define K_OFF 0x4
--
2.8.1

View file

@ -1,101 +0,0 @@
--- a/randr/rrcrtc.c 2017-03-03 00:03:58.000000000 +0100
+++ b/randr/rrcrtc.c 2017-03-16 15:37:26.104942804 +0100
@@ -275,25 +275,34 @@
return FALSE;
}
-static void
-crtc_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
+static Bool
+cursor_bounds(RRCrtcPtr crtc, int *left, int *right, int *top, int *bottom)
{
- *left = crtc->x;
- *top = crtc->y;
+ rrScrPriv(crtc->pScreen);
+ BoxRec bounds;
- switch (crtc->rotation & 0xf) {
- case RR_Rotate_0:
- case RR_Rotate_180:
- default:
- *right = crtc->x + crtc->mode->mode.width;
- *bottom = crtc->y + crtc->mode->mode.height;
- return;
- case RR_Rotate_90:
- case RR_Rotate_270:
- *right = crtc->x + crtc->mode->mode.height;
- *bottom = crtc->y + crtc->mode->mode.width;
- return;
+ if (crtc->mode == NULL)
+ return FALSE;
+
+ memset(&bounds, 0, sizeof(bounds));
+ if (pScrPriv->rrGetPanning)
+ pScrPriv->rrGetPanning(crtc->pScreen, crtc, NULL, &bounds, NULL);
+
+ if (bounds.y2 <= bounds.y1 || bounds.x2 <= bounds.x1) {
+ bounds.x1 = 0;
+ bounds.y1 = 0;
+ bounds.x2 = crtc->mode->mode.width;
+ bounds.y2 = crtc->mode->mode.height;
}
+
+ pixman_f_transform_bounds(&crtc->f_transform, &bounds);
+
+ *left = bounds.x1;
+ *right = bounds.x2;
+ *top = bounds.y1;
+ *bottom = bounds.y2;
+
+ return TRUE;
}
/* overlapping counts as adjacent */
@@ -305,8 +314,10 @@
int bl, br, bt, bb;
int cl, cr, ct, cb; /* the overlap, if any */
- crtc_bounds(a, &al, &ar, &at, &ab);
- crtc_bounds(b, &bl, &br, &bt, &bb);
+ if (!cursor_bounds(a, &al, &ar, &at, &ab))
+ return FALSE;
+ if (!cursor_bounds(b, &bl, &br, &bt, &bb))
+ return FALSE;
cl = max(al, bl);
cr = min(ar, br);
@@ -324,7 +335,7 @@
reachable[cur] = TRUE;
for (i = 0; i < pScrPriv->numCrtcs; ++i) {
- if (reachable[i] || !pScrPriv->crtcs[i]->mode)
+ if (reachable[i])
continue;
if (crtcs_adjacent(pScrPriv->crtcs[cur], pScrPriv->crtcs[i]))
mark_crtcs(pScrPriv, reachable, i);
@@ -1779,10 +1790,8 @@
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
-
- crtc_bounds(crtc, &left, &right, &top, &bottom);
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
if ((*x >= left) && (*x < right) && (*y >= top) && (*y < bottom))
return TRUE;
@@ -1802,10 +1811,9 @@
int nx, ny;
int left, right, top, bottom;
- if (!crtc->mode)
- continue;
+ if (!cursor_bounds(crtc, &left, &right, &top, &bottom))
+ continue;
- crtc_bounds(crtc, &left, &right, &top, &bottom);
miPointerGetPosition(pDev, &nx, &ny);
if ((nx >= left) && (nx < right) && (ny >= top) && (ny < bottom)) {

View file

@ -1,36 +0,0 @@
From 7d097c0c38ab82115a1e56489bfe09f9f01b24de Mon Sep 17 00:00:00 2001
From: Mart Raudsepp <leio@gentoo.org>
Date: Wed, 11 Oct 2017 16:11:49 +0300
Subject: [PATCH] config/udev: Add sys/sysmacros.h include for major/minor
functions for new glibc
Commits d732c36597fa and 84e3b96b5313 added the include to some files, but
missed config/udev.c, where the major and minor functions are used as well.
This should be Linux-only, so we don't need the sys/mkdev.h case here for
Solaris.
Signed-off-by: Mart Raudsepp <leio@gentoo.org>
---
https://bugs.gentoo.org/633530
https://patchwork.freedesktop.org/patch/181800/
config/udev.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/config/udev.c b/config/udev.c
index 932f230..b3b8d0f 100644
--- a/config/udev.c
+++ b/config/udev.c
@@ -30,6 +30,9 @@
#include <libudev.h>
#include <ctype.h>
#include <unistd.h>
+#ifdef HAVE_SYS_SYSMACROS_H
+#include <sys/sysmacros.h>
+#endif
#include "input.h"
#include "inputstr.h"
--
2.10.2

View file

@ -1,39 +0,0 @@
From c2954b16c8730c7ed8441fd8dba25900f3aed265 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tapani=20P=C3=A4lli?= <tapani.palli@intel.com>
Date: Tue, 28 Nov 2017 09:23:29 +0200
Subject: [PATCH] glx: do not pick sRGB config for 32-bit RGBA visual
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This fixes blending issues seen with kwin and gnome-shell when
32bit visual has sRGB capability set.
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Tapani Pälli <tapani.palli@intel.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
---
glx/glxscreens.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/glx/glxscreens.c b/glx/glxscreens.c
index 73444152a..596d972e0 100644
--- a/glx/glxscreens.c
+++ b/glx/glxscreens.c
@@ -271,6 +271,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual)
/* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */
if (visual->nplanes == 32 && config->rgbBits != 32)
continue;
+ /* If it's the 32-bit RGBA visual, do not pick sRGB capable config.
+ * This can cause issues with compositors that are not sRGB aware.
+ */
+ if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE)
+ continue;
/* Can't use the same FBconfig for multiple X visuals. I think. */
if (config->visualID != 0)
continue;
--
2.17.0

View file

@ -1,44 +0,0 @@
From 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b Mon Sep 17 00:00:00 2001
From: Adam Jackson <ajax@redhat.com>
Date: Wed, 28 Feb 2018 11:23:41 -0500
Subject: [PATCH] randr: Fix a crash on initialization with GPU screens
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
RRSetChanged (immediately above) was immune to screens with no master,
but RRTellChanged was not:
Thread 1 "X" received signal SIGSEGV, Segmentation fault.
RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
576 mastersp = rrGetScrPriv(master);
(gdb) bt
#0 RRTellChanged (pScreen=<optimized out>) at ../../randr/randr.c:576
#1 0x000055555566f1e9 in RRNoticePropertyChange (value=0x555555bfbf28, property=70, output=0x555555bfef10) at ../../randr/rrproperty.c:153
#2 RRChangeOutputProperty (output=output@entry=0x555555bfef10, property=<optimized out>, type=type@entry=19, format=format@entry=32, mode=<optimized out>, mode@entry=0, len=len@entry=1, value=0x7fffffffe77c, sendevent=1, pending=0)
at ../../randr/rrproperty.c:263
#3 0x000055555566dba5 in RROutputSetNonDesktop (output=output@entry=0x555555bfef10, nonDesktop=nonDesktop@entry=0) at ../../randr/rroutput.c:333
...
Reported-by: Michel Dänzer <michel@daenzer.net>
Signed-off-by: Adam Jackson <ajax@redhat.com>
---
randr/randr.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/randr/randr.c b/randr/randr.c
index 339ad3ece..feb54bcc8 100644
--- a/randr/randr.c
+++ b/randr/randr.c
@@ -602,6 +602,8 @@ RRTellChanged(ScreenPtr pScreen)
if (pScreen->isGPU) {
master = pScreen->current_master;
+ if (!master)
+ return;
mastersp = rrGetScrPriv(master);
}
else {
--
2.16.1

View file

@ -1,174 +0,0 @@
From 19f6cb570becbc4e355807199c6e251fc7935132 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 19 Sep 2018 13:28:06 -0700
Subject: [PATCH xserver] shm: Pick the shm dir at run time, not build time.
Prodding the builder's filesystem for tmp dirs doesn't necessarily
tell you anything about what the actual host's filesystem is going to
look like, so we should just try the dirs at runtime.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
Xext/shm.c | 48 +++++++++++++++++++++++++----------------
configure.ac | 43 ------------------------------------
include/dix-config.h.in | 3 ---
include/meson.build | 5 -----
4 files changed, 29 insertions(+), 70 deletions(-)
diff --git a/Xext/shm.c b/Xext/shm.c
index ed43b9202..2739a59e7 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -1194,36 +1194,46 @@ ProcShmAttachFd(ClientPtr client)
static int
shm_tmpfile(void)
{
-#ifdef SHMDIR
+ const char *shmdirs[] = {
+ "/run/shm",
+ "/var/tmp",
+ "/tmp",
+ };
int fd;
- char template[] = SHMDIR "/shmfd-XXXXXX";
+
#ifdef O_TMPFILE
- fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
- if (fd >= 0) {
- DebugF ("Using O_TMPFILE\n");
- return fd;
+ for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
+ fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+ if (fd >= 0) {
+ DebugF ("Using O_TMPFILE\n");
+ return fd;
+ }
}
ErrorF ("Not using O_TMPFILE\n");
#endif
+
+ for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
+ char template[PATH_MAX];
+ snprintf(template, ARRAY_SIZE(template), "%s/shmfd-XXXXXX", shmdirs[i]);
#ifdef HAVE_MKOSTEMP
- fd = mkostemp(template, O_CLOEXEC);
+ fd = mkostemp(template, O_CLOEXEC);
#else
- fd = mkstemp(template);
+ fd = mkstemp(template);
#endif
- if (fd < 0)
- return -1;
- unlink(template);
+ if (fd < 0)
+ continue;
+ unlink(template);
#ifndef HAVE_MKOSTEMP
- int flags = fcntl(fd, F_GETFD);
- if (flags != -1) {
- flags |= FD_CLOEXEC;
- (void) fcntl(fd, F_SETFD, &flags);
- }
+ int flags = fcntl(fd, F_GETFD);
+ if (flags != -1) {
+ flags |= FD_CLOEXEC;
+ (void) fcntl(fd, F_SETFD, &flags);
+ }
#endif
- return fd;
-#else
+ return fd;
+ }
+
return -1;
-#endif
}
static int
diff --git a/configure.ac b/configure.ac
index 359b62cb5..57a233102 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1115,49 +1115,6 @@ case "$DRI2,$HAVE_DRI2PROTO" in
esac
AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
-dnl
-dnl Locate a suitable tmp file system for creating shared memeory files
-dnl
-
-AC_ARG_WITH(shared-memory-dir, AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a world-writable temporary directory for anonymous shared memory (default: auto)]),
-[],
-[with_shared_memory_dir=yes])
-
-shmdirs="/run/shm /var/tmp /tmp"
-
-case x"$with_shared_memory_dir" in
-xyes)
- for dir in $shmdirs; do
- case x"$with_shared_memory_dir" in
- xyes)
- echo Checking temp dir "$dir"
- if test -d "$dir"; then
- with_shared_memory_dir="$dir"
- fi
- ;;
- esac
- done
- ;;
-x/*)
- ;;
-xno)
- ;;
-*)
- AC_MSG_ERROR([Invalid directory specified for --with-shared-memory-dir: $with_shared_memory_dir])
- ;;
-esac
-
-case x"$with_shared_memory_dir" in
-xyes)
- AC_MSG_ERROR([No directory found for shared memory temp files.])
- ;;
-xno)
- ;;
-*)
- AC_DEFINE_UNQUOTED(SHMDIR, ["$with_shared_memory_dir"], [Directory for shared memory temp files])
- ;;
-esac
-
AC_ARG_ENABLE(xtrans-send-fds, AS_HELP_STRING([--disable-xtrans-send-fds], [Use Xtrans support for fd passing (default: auto)]), [XTRANS_SEND_FDS=$enableval], [XTRANS_SEND_FDS=auto])
case "x$XTRANS_SEND_FDS" in
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index f8df86608..3bd22b8bb 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -452,9 +452,6 @@
/* Wrap SIGBUS to catch MIT-SHM faults */
#undef BUSFAULT
-/* Directory for shared memory temp files */
-#undef SHMDIR
-
/* Don't let Xdefs.h define 'pointer' */
#define _XTYPEDEF_POINTER 1
diff --git a/include/meson.build b/include/meson.build
index 4a0c12f5a..04c41e999 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -91,11 +91,6 @@ conf_data.set('SYSTEMD_LOGIND', build_systemd_logind)
conf_data.set('NEED_DBUS', build_systemd_logind or build_hal)
conf_data.set('CONFIG_WSCONS', host_machine.system() == 'openbsd')
-# XXX: SHMDIR is weird in autoconf, probing the build system for
-# various tmp directories. Could we replace it with C code at runtime
-# that just uses whatever directory works?
-conf_data.set_quoted('SHMDIR', '/tmp')
-
conf_data.set('HAVE_XSHMFENCE', xshmfence_dep.found())
conf_data.set('WITH_LIBDRM', libdrm_dep.found())
conf_data.set('GLAMOR_HAS_EGL_QUERY_DMABUF',
--
2.19.2

View file

@ -1,89 +0,0 @@
From f6753c117ef0f83499d5e2d6dda226fec9ddf803 Mon Sep 17 00:00:00 2001
From: Alexander Volkov <a.volkov@rusbitech.ru>
Date: Mon, 11 Feb 2019 18:54:10 +0300
Subject: [PATCH xserver] shm: Use memfd_create when possible
It doesn't require shared memory dir and thus allows
to avoid cases when this dir is detected incorrectly,
as in https://bugreports.qt.io/browse/QTBUG-71440
Signed-off-by: Alexander Volkov <a.volkov@rusbitech.ru>
---
Xext/shm.c | 12 ++++++++++++
configure.ac | 2 +-
include/dix-config.h.in | 3 +++
include/meson.build | 1 +
4 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Xext/shm.c b/Xext/shm.c
index 2739a59e7..506fd4df1 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -35,6 +35,9 @@ in this Software without prior written authorization from The Open Group.
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/shm.h>
+#ifdef HAVE_MEMFD_CREATE
+#include <sys/mman.h>
+#endif
#include <unistd.h>
#include <sys/stat.h>
#include <fcntl.h>
@@ -1201,6 +1204,15 @@ shm_tmpfile(void)
};
int fd;
+#ifdef HAVE_MEMFD_CREATE
+ fd = memfd_create("xorg", MFD_CLOEXEC|MFD_ALLOW_SEALING);
+ if (fd != -1) {
+ fcntl(fd, F_ADD_SEALS, F_SEAL_SHRINK);
+ DebugF ("Using memfd_create\n");
+ return fd;
+ }
+#endif
+
#ifdef O_TMPFILE
for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
diff --git a/configure.ac b/configure.ac
index 0ca96aeb8..79ff7fa64 100644
--- a/configure.ac
+++ b/configure.ac
@@ -159,7 +159,7 @@ dnl Checks for library functions.
AC_CHECK_FUNCS([backtrace geteuid getuid issetugid getresuid \
getdtablesize getifaddrs getpeereid getpeerucred getprogname getzoneid \
mmap posix_fallocate seteuid shmctl64 strncasecmp vasprintf vsnprintf \
- walkcontext setitimer poll epoll_create1 mkostemp])
+ walkcontext setitimer poll epoll_create1 mkostemp memfd_create])
AC_CONFIG_LIBOBJ_DIR([os])
AC_REPLACE_FUNCS([reallocarray strcasecmp strcasestr strlcat strlcpy strndup\
timingsafe_memcmp])
diff --git a/include/dix-config.h.in b/include/dix-config.h.in
index 855b3d50c..9eb1a924e 100644
--- a/include/dix-config.h.in
+++ b/include/dix-config.h.in
@@ -128,6 +128,9 @@
/* Define to 1 if you have the <linux/fb.h> header file. */
#undef HAVE_LINUX_FB_H
+/* Define to 1 if you have the `memfd_create' function. */
+#undef HAVE_MEMFD_CREATE
+
/* Define to 1 if you have the `mkostemp' function. */
#undef HAVE_MKOSTEMP
diff --git a/include/meson.build b/include/meson.build
index 04c41e999..bbd5a6690 100644
--- a/include/meson.build
+++ b/include/meson.build
@@ -141,6 +141,7 @@ conf_data.set('HAVE_GETPEEREID', cc.has_function('getpeereid'))
conf_data.set('HAVE_GETPEERUCRED', cc.has_function('getpeerucred'))
conf_data.set('HAVE_GETPROGNAME', cc.has_function('getprogname'))
conf_data.set('HAVE_GETZONEID', cc.has_function('getzoneid'))
+conf_data.set('HAVE_MEMFD_CREATE', cc.has_function('memfd_create'))
conf_data.set('HAVE_MKOSTEMP', cc.has_function('mkostemp'))
conf_data.set('HAVE_MMAP', cc.has_function('mmap'))
conf_data.set('HAVE_POLL', cc.has_function('poll'))
--
2.19.2

View file

@ -1,72 +0,0 @@
From 804a9b4f57107fa2d0ed1ae0becda5bebaffe6e1 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 19 Sep 2018 13:20:12 -0700
Subject: [PATCH xserver] shm: reindent shm_tmpfile to follow our standards.
Signed-off-by: Eric Anholt <eric@anholt.net>
---
Xext/shm.c | 40 ++++++++++++++++++++--------------------
1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/Xext/shm.c b/Xext/shm.c
index 589ed0b4d..ed43b9202 100644
--- a/Xext/shm.c
+++ b/Xext/shm.c
@@ -1195,34 +1195,34 @@ static int
shm_tmpfile(void)
{
#ifdef SHMDIR
- int fd;
- char template[] = SHMDIR "/shmfd-XXXXXX";
+ int fd;
+ char template[] = SHMDIR "/shmfd-XXXXXX";
#ifdef O_TMPFILE
- fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
- if (fd >= 0) {
- DebugF ("Using O_TMPFILE\n");
- return fd;
- }
- ErrorF ("Not using O_TMPFILE\n");
+ fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+ if (fd >= 0) {
+ DebugF ("Using O_TMPFILE\n");
+ return fd;
+ }
+ ErrorF ("Not using O_TMPFILE\n");
#endif
#ifdef HAVE_MKOSTEMP
- fd = mkostemp(template, O_CLOEXEC);
+ fd = mkostemp(template, O_CLOEXEC);
#else
- fd = mkstemp(template);
+ fd = mkstemp(template);
#endif
- if (fd < 0)
- return -1;
- unlink(template);
+ if (fd < 0)
+ return -1;
+ unlink(template);
#ifndef HAVE_MKOSTEMP
- int flags = fcntl(fd, F_GETFD);
- if (flags != -1) {
- flags |= FD_CLOEXEC;
- (void) fcntl(fd, F_SETFD, &flags);
- }
+ int flags = fcntl(fd, F_GETFD);
+ if (flags != -1) {
+ flags |= FD_CLOEXEC;
+ (void) fcntl(fd, F_SETFD, &flags);
+ }
#endif
- return fd;
+ return fd;
#else
- return -1;
+ return -1;
#endif
}
--
2.19.2

View file

@ -1,6 +0,0 @@
# Rebuild all X11 modules (mostly useful after xorg-server ABI change).
[x11-module-rebuild]
class = portage.sets.dbapi.VariableSet
world-candidate = false
variable = CATEGORY
includes = x11-drivers

View file

@ -1,225 +0,0 @@
# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
XORG_DOC=doc
inherit xorg-2 multilib versionator flag-o-matic
EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid systemd tslib +udev unwind xcsecurity"
CDEPEND=">=app-eselect/eselect-opengl-1.3.0
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
>=x11-apps/iceauth-1.0.2
>=x11-apps/rgb-1.0.3
>=x11-apps/xauth-1.0.3
x11-apps/xkbcomp
>=x11-libs/libdrm-2.4.46
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
>=x11-libs/libXfont2-2.0.1
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
>=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
x11-libs/libXt
>=x11-libs/libdmx-1.0.99.1
>=x11-libs/libX11-1.1.5
>=x11-libs/libXaw-1.0.4
>=x11-libs/libXext-1.0.99.4
>=x11-libs/libXfixes-5.0
>=x11-libs/libXi-1.2.99.1
>=x11-libs/libXmu-1.0.3
x11-libs/libXrender
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
glamor? (
media-libs/libepoxy[X]
>=media-libs/mesa-10.3.4-r1[egl,gbm]
!x11-libs/glamor
)
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
xephyr? (
x11-libs/libxcb[xkb]
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
>=media-libs/mesa-10.3.4-r1
)
tslib? ( >=x11-libs/tslib-1.0 )
udev? ( >=virtual/udev-150 )
unwind? ( sys-libs/libunwind )
wayland? (
>=dev-libs/wayland-1.3.0
media-libs/libepoxy
>=dev-libs/wayland-protocols-1.1
)
>=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
)"
DEPEND="${CDEPEND}
sys-devel/flex
x11-base/xorg-proto
dmx? (
doc? (
|| (
www-client/links
www-client/lynx
www-client/w3m
)
)
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-xserver )
!x11-drivers/xf86-video-modesetting
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
xephyr? ( kdrive )"
#UPSTREAMED_PATCHES=(
# "${WORKDIR}/patches/"
#)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
"${FILESDIR}"/${PN}-1.19-randr-Account-for-panning-and-transforms-when-constr.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
"${FILESDIR}"/${PN}-1.19.4-sysmacros.patch #633530
"${FILESDIR}"/${PN}-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch #653688
)
pkg_pretend() {
# older gcc is not supported
[[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
}
pkg_setup() {
if use wayland && ! use glamor; then
ewarn "glamor is necessary for acceleration under Xwayland."
ewarn "Performance may be unacceptable without it."
fi
}
src_configure() {
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
# sysconfdir is used for the xorg.conf location; same applies
# NOTE: fop is used for doc generating; and I have no idea if Gentoo
# package it somewhere
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable debug)
$(use_enable dmx)
$(use_enable glamor)
$(use_enable kdrive)
$(use_enable kdrive kdrive-kbd)
$(use_enable kdrive kdrive-mouse)
$(use_enable kdrive kdrive-evdev)
$(use_enable suid install-setuid)
$(use_enable tslib)
$(use_enable unwind libunwind)
$(use_enable wayland xwayland)
$(use_enable !minimal record)
$(use_enable !minimal xfree86-utils)
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal glx)
$(use_enable xcsecurity)
$(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
$(use_with systemd systemd-daemon)
$(use_enable systemd systemd-logind)
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
--with-fontrootdir="${EPREFIX}"/usr/share/fonts
--with-xkb-output="${EPREFIX}"/var/lib/xkb
--disable-config-hal
--disable-linux-acpi
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
--with-sha1=libcrypto
)
xorg-2_src_configure
}
src_install() {
xorg-2_src_install
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
insinto /usr/share/portage/config/sets
newins "${FILESDIR}"/xorg-sets.conf xorg.conf
}
pkg_postinst() {
# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
eselect opengl set xorg-x11 --use-old
}
pkg_postrm() {
# Get rid of module dir to ensure opengl-update works properly
if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
fi
}
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
"${ED}"/usr/share/man/man1/Xserver.1x
fi
}

View file

@ -1,251 +0,0 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=5
XORG_DOC=doc
inherit xorg-2 multilib versionator flag-o-matic
EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
KEYWORDS="alpha amd64 arm ~arm64 hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
IUSE="${IUSE_SERVERS} debug glamor ipv6 libressl minimal selinux +suid systemd tslib +udev unwind xcsecurity"
CDEPEND=">=app-eselect/eselect-opengl-1.3.0
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl )
>=x11-apps/iceauth-1.0.2
>=x11-apps/rgb-1.0.3
>=x11-apps/xauth-1.0.3
x11-apps/xkbcomp
>=x11-libs/libdrm-2.4.46
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
>=x11-libs/libXfont2-2.0.1
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
>=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
x11-libs/libXt
>=x11-libs/libdmx-1.0.99.1
>=x11-libs/libX11-1.1.5
>=x11-libs/libXaw-1.0.4
>=x11-libs/libXext-1.0.99.4
>=x11-libs/libXfixes-5.0
>=x11-libs/libXi-1.2.99.1
>=x11-libs/libXmu-1.0.3
x11-libs/libXrender
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
glamor? (
media-libs/libepoxy[X]
>=media-libs/mesa-10.3.4-r1[egl,gbm]
!x11-libs/glamor
)
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
xephyr? (
x11-libs/libxcb[xkb]
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
>=media-libs/mesa-10.3.4-r1
)
tslib? ( >=x11-libs/tslib-1.0 )
udev? ( >=virtual/udev-150 )
unwind? ( sys-libs/libunwind )
wayland? (
>=dev-libs/wayland-1.3.0
media-libs/libepoxy
>=dev-libs/wayland-protocols-1.1
)
>=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
)"
DEPEND="${CDEPEND}
sys-devel/flex
>=x11-proto/bigreqsproto-1.1.0
>=x11-proto/compositeproto-0.4
>=x11-proto/damageproto-1.1
>=x11-proto/fixesproto-5.0
>=x11-proto/fontsproto-2.1.3
>=x11-proto/glproto-1.4.17-r1
>=x11-proto/inputproto-2.3
>=x11-proto/kbproto-1.0.3
>=x11-proto/randrproto-1.5.0
>=x11-proto/recordproto-1.13.99.1
>=x11-proto/renderproto-0.11
>=x11-proto/resourceproto-1.2.0
>=x11-proto/scrnsaverproto-1.1
>=x11-proto/trapproto-3.4.3
>=x11-proto/videoproto-2.2.2
>=x11-proto/xcmiscproto-1.2.0
>=x11-proto/xextproto-7.2.99.901
>=x11-proto/xf86dgaproto-2.0.99.1
>=x11-proto/xf86vidmodeproto-2.2.99.1
>=x11-proto/xineramaproto-1.1.3
>=x11-proto/xproto-7.0.31
>=x11-proto/presentproto-1.0
>=x11-proto/dri2proto-2.8
>=x11-proto/dri3proto-1.0
dmx? (
>=x11-proto/dmxproto-2.2.99.1
doc? (
|| (
www-client/links
www-client/lynx
www-client/w3m
)
)
)
!minimal? (
>=x11-proto/xf86driproto-2.1.0
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-xserver )
!x11-drivers/xf86-video-modesetting
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
xephyr? ( kdrive )"
#UPSTREAMED_PATCHES=(
# "${WORKDIR}/patches/"
#)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
"${FILESDIR}"/${PN}-1.19-randr-Account-for-panning-and-transforms-when-constr.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
"${FILESDIR}"/${PN}-1.19.4-sysmacros.patch #633530
)
pkg_pretend() {
# older gcc is not supported
[[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
}
pkg_setup() {
if use wayland && ! use glamor; then
ewarn "glamor is necessary for acceleration under Xwayland."
ewarn "Performance may be unacceptable without it."
fi
}
src_configure() {
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
# sysconfdir is used for the xorg.conf location; same applies
# NOTE: fop is used for doc generating; and I have no idea if Gentoo
# package it somewhere
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable debug)
$(use_enable dmx)
$(use_enable glamor)
$(use_enable kdrive)
$(use_enable kdrive kdrive-kbd)
$(use_enable kdrive kdrive-mouse)
$(use_enable kdrive kdrive-evdev)
$(use_enable suid install-setuid)
$(use_enable tslib)
$(use_enable unwind libunwind)
$(use_enable wayland xwayland)
$(use_enable !minimal record)
$(use_enable !minimal xfree86-utils)
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal glx)
$(use_enable xcsecurity)
$(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
$(use_with systemd systemd-daemon)
$(use_enable systemd systemd-logind)
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
--with-fontrootdir="${EPREFIX}"/usr/share/fonts
--with-xkb-output="${EPREFIX}"/var/lib/xkb
--disable-config-hal
--disable-linux-acpi
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
--with-sha1=libcrypto
)
xorg-2_src_configure
}
src_install() {
xorg-2_src_install
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
insinto /usr/share/portage/config/sets
newins "${FILESDIR}"/xorg-sets.conf xorg.conf
}
pkg_postinst() {
# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
eselect opengl set xorg-x11 --use-old
}
pkg_postrm() {
# Get rid of module dir to ensure opengl-update works properly
if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
fi
}
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
"${ED}"/usr/share/man/man1/Xserver.1x
fi
}

View file

@ -1,221 +0,0 @@
# Copyright 1999-2018 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=5
XORG_EAUTORECONF=yes
XORG_DOC=doc
inherit xorg-2 multilib versionator flag-o-matic
EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
if [[ ${PV} != 9999* ]]; then
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ia64 ~mips ppc ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
fi
IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid systemd +udev unwind xcsecurity"
CDEPEND=">=app-eselect/eselect-opengl-1.3.0
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
>=x11-apps/iceauth-1.0.2
>=x11-apps/rgb-1.0.3
>=x11-apps/xauth-1.0.3
x11-apps/xkbcomp
>=x11-libs/libdrm-2.4.89
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
>=x11-libs/libXfont2-2.0.1
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
>=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
x11-libs/libXt
>=x11-libs/libdmx-1.0.99.1
>=x11-libs/libX11-1.1.5
>=x11-libs/libXaw-1.0.4
>=x11-libs/libXext-1.0.99.4
>=x11-libs/libXfixes-5.0
>=x11-libs/libXi-1.2.99.1
>=x11-libs/libXmu-1.0.3
x11-libs/libXrender
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
glamor? (
media-libs/libepoxy[X]
>=media-libs/mesa-18[egl,gbm]
!x11-libs/glamor
)
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
xephyr? (
x11-libs/libxcb[xkb]
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
>=media-libs/mesa-18
)
udev? ( virtual/libudev:= )
unwind? ( sys-libs/libunwind )
wayland? (
>=dev-libs/wayland-1.3.0
media-libs/libepoxy
>=dev-libs/wayland-protocols-1.1
)
>=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
)"
DEPEND="${CDEPEND}
sys-devel/flex
>=x11-base/xorg-proto-2018.3
dmx? (
doc? (
|| (
www-client/links
www-client/lynx
www-client/w3m
)
)
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-xserver )
!x11-drivers/xf86-video-modesetting
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
xephyr? ( kdrive )"
UPSTREAMED_PATCHES=(
)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
)
pkg_pretend() {
# older gcc is not supported
[[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \
die "Sorry, but gcc earlier than 4.0 will not work for xorg-server."
}
pkg_setup() {
if use wayland && ! use glamor; then
ewarn "glamor is necessary for acceleration under Xwayland."
ewarn "Performance may be unacceptable without it."
fi
}
src_configure() {
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
# sysconfdir is used for the xorg.conf location; same applies
# NOTE: fop is used for doc generating; and I have no idea if Gentoo
# package it somewhere
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable debug)
$(use_enable dmx)
$(use_enable glamor)
$(use_enable kdrive)
$(use_enable unwind libunwind)
$(use_enable wayland xwayland)
$(use_enable !minimal record)
$(use_enable !minimal xfree86-utils)
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal dri3)
$(use_enable !minimal glx)
$(use_enable xcsecurity)
$(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
$(use_with systemd systemd-daemon)
$(use_enable systemd systemd-logind)
$(use_enable systemd suid-wrapper)
$(use_enable suid install-setuid)
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
--with-fontrootdir="${EPREFIX}"/usr/share/fonts
--with-xkb-output="${EPREFIX}"/var/lib/xkb
--disable-config-hal
--disable-linux-acpi
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
--with-sha1=libcrypto
)
xorg-2_src_configure
}
src_install() {
xorg-2_src_install
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
dodoc "${AUTOTOOLS_BUILD_DIR}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
insinto /usr/share/portage/config/sets
newins "${FILESDIR}"/xorg-sets.conf xorg.conf
}
pkg_postinst() {
# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
eselect opengl set xorg-x11 --use-old
}
pkg_postrm() {
# Get rid of module dir to ensure opengl-update works properly
if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
fi
}
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
"${ED}"/usr/share/man/man1/Xserver.1x
fi
}

View file

@ -1,227 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
XORG_DOC=doc
XORG_EAUTORECONF="yes"
inherit xorg-3 multilib flag-o-matic
EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
if [[ ${PV} != 9999* ]]; then
KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
fi
IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
IUSE="${IUSE_SERVERS} debug elogind +glamor ipv6 libressl minimal selinux +suid systemd +udev unwind xcsecurity"
CDEPEND=">=app-eselect/eselect-opengl-1.3.0
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
>=x11-apps/iceauth-1.0.2
>=x11-apps/rgb-1.0.3
>=x11-apps/xauth-1.0.3
x11-apps/xkbcomp
>=x11-libs/libdrm-2.4.89
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
>=x11-libs/libXfont2-2.0.1
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
>=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
x11-libs/libXt
>=x11-libs/libdmx-1.0.99.1
>=x11-libs/libX11-1.1.5
>=x11-libs/libXaw-1.0.4
>=x11-libs/libXext-1.0.99.4
>=x11-libs/libXfixes-5.0
>=x11-libs/libXi-1.2.99.1
>=x11-libs/libXmu-1.0.3
x11-libs/libXrender
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
glamor? (
media-libs/libepoxy[X]
>=media-libs/mesa-18[egl,gbm]
!x11-libs/glamor
)
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
xephyr? (
x11-libs/libxcb[xkb]
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
>=media-libs/mesa-18
)
udev? ( virtual/libudev:= )
unwind? ( sys-libs/libunwind )
wayland? (
>=dev-libs/wayland-1.3.0
media-libs/libepoxy
>=dev-libs/wayland-protocols-1.1
)
>=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
)
elogind? (
sys-apps/dbus
sys-auth/elogind
sys-auth/pambase[elogind]
)
"
DEPEND="${CDEPEND}
sys-devel/flex
>=x11-base/xorg-proto-2018.3
dmx? (
doc? (
|| (
www-client/links
www-client/lynx
www-client/w3m
)
)
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-xserver )
!x11-drivers/xf86-video-modesetting
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
elogind? ( udev )
?? ( elogind systemd )
minimal? ( !glamor !wayland )
xephyr? ( kdrive )"
UPSTREAMED_PATCHES=(
"${FILESDIR}"/${P}-shm-reindent-shm_tmpfile-to-follow-our-standards.patch
"${FILESDIR}"/${P}-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
"${FILESDIR}"/${P}-shm-Use-memfd_create-when-possible.patch
)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
)
pkg_setup() {
if use wayland && ! use glamor; then
ewarn "glamor is necessary for acceleration under Xwayland."
ewarn "Performance may be unacceptable without it."
fi
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
# sysconfdir is used for the xorg.conf location; same applies
# NOTE: fop is used for doc generating; and I have no idea if Gentoo
# package it somewhere
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable debug)
$(use_enable dmx)
$(use_enable glamor)
$(use_enable kdrive)
$(use_enable unwind libunwind)
$(use_enable wayland xwayland)
$(use_enable !minimal record)
$(use_enable !minimal xfree86-utils)
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal dri3)
$(use_enable !minimal glx)
$(use_enable xcsecurity)
$(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
$(usex !elogind $(use_enable systemd systemd-logind) '--enable-systemd-logind')
$(use_with systemd systemd-daemon)
$(use_enable systemd suid-wrapper)
$(use_enable suid install-setuid)
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
--with-fontrootdir="${EPREFIX}"/usr/share/fonts
--with-xkb-output="${EPREFIX}"/var/lib/xkb
--disable-config-hal
--disable-linux-acpi
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
--with-sha1=libcrypto
)
}
src_install() {
xorg-3_src_install
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
dodoc "${S}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
insinto /usr/share/portage/config/sets
newins "${FILESDIR}"/xorg-sets.conf xorg.conf
find "${ED}"/var -type d -empty -delete || die
}
pkg_postinst() {
if ! use minimal; then
# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
eselect opengl set xorg-x11 --use-old
fi
}
pkg_postrm() {
# Get rid of module dir to ensure opengl-update works properly
if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
fi
}
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
"${ED}"/usr/share/man/man1/Xserver.1x
fi
}

View file

@ -1,227 +0,0 @@
# Copyright 1999-2019 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
XORG_DOC=doc
XORG_EAUTORECONF="yes"
inherit xorg-3 multilib flag-o-matic
EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git"
DESCRIPTION="X.Org X servers"
SLOT="0/${PV}"
if [[ ${PV} != 9999* ]]; then
KEYWORDS="alpha amd64 ~arm ~arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
fi
IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
IUSE="${IUSE_SERVERS} debug elogind +glamor ipv6 libressl minimal selinux +suid systemd +udev unwind xcsecurity"
CDEPEND=">=app-eselect/eselect-opengl-1.3.0
!libressl? ( dev-libs/openssl:0= )
libressl? ( dev-libs/libressl:0= )
>=x11-apps/iceauth-1.0.2
>=x11-apps/rgb-1.0.3
>=x11-apps/xauth-1.0.3
x11-apps/xkbcomp
>=x11-libs/libdrm-2.4.89
>=x11-libs/libpciaccess-0.12.901
>=x11-libs/libXau-1.0.4
>=x11-libs/libXdmcp-1.0.2
>=x11-libs/libXfont2-2.0.1
>=x11-libs/libxkbfile-1.0.4
>=x11-libs/libxshmfence-1.1
>=x11-libs/pixman-0.27.2
>=x11-libs/xtrans-1.3.5
>=x11-misc/xbitmaps-1.0.1
>=x11-misc/xkeyboard-config-2.4.1-r3
dmx? (
x11-libs/libXt
>=x11-libs/libdmx-1.0.99.1
>=x11-libs/libX11-1.1.5
>=x11-libs/libXaw-1.0.4
>=x11-libs/libXext-1.0.99.4
>=x11-libs/libXfixes-5.0
>=x11-libs/libXi-1.2.99.1
>=x11-libs/libXmu-1.0.3
x11-libs/libXrender
>=x11-libs/libXres-1.0.3
>=x11-libs/libXtst-1.0.99.2
)
glamor? (
media-libs/libepoxy[X,egl(+)]
>=media-libs/mesa-18[egl,gbm]
!x11-libs/glamor
)
kdrive? (
>=x11-libs/libXext-1.0.5
x11-libs/libXv
)
xephyr? (
x11-libs/libxcb[xkb]
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
x11-libs/xcb-util-renderutil
x11-libs/xcb-util-wm
)
!minimal? (
>=x11-libs/libX11-1.1.5
>=x11-libs/libXext-1.0.5
>=media-libs/mesa-18
)
udev? ( virtual/libudev:= )
unwind? ( sys-libs/libunwind )
wayland? (
>=dev-libs/wayland-1.3.0
media-libs/libepoxy[egl(+)]
>=dev-libs/wayland-protocols-1.1
)
>=x11-apps/xinit-1.3.3-r1
systemd? (
sys-apps/dbus
sys-apps/systemd
)
elogind? (
sys-apps/dbus
sys-auth/elogind
sys-auth/pambase[elogind]
)
"
DEPEND="${CDEPEND}
sys-devel/flex
>=x11-base/xorg-proto-2018.4
dmx? (
doc? (
|| (
www-client/links
www-client/lynx
www-client/w3m
)
)
)"
RDEPEND="${CDEPEND}
selinux? ( sec-policy/selinux-xserver )
!x11-drivers/xf86-video-modesetting
"
PDEPEND="
xorg? ( >=x11-base/xorg-drivers-$(ver_cut 1-2) )"
REQUIRED_USE="!minimal? (
|| ( ${IUSE_SERVERS} )
)
elogind? ( udev )
?? ( elogind systemd )
minimal? ( !glamor !wayland )
xephyr? ( kdrive )"
UPSTREAMED_PATCHES=(
"${FILESDIR}"/${PN}-1.20.4-shm-reindent-shm_tmpfile-to-follow-our-standards.patch
"${FILESDIR}"/${PN}-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
"${FILESDIR}"/${PN}-1.20.4-shm-Use-memfd_create-when-possible.patch
)
PATCHES=(
"${UPSTREAMED_PATCHES[@]}"
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
)
pkg_setup() {
if use wayland && ! use glamor; then
ewarn "glamor is necessary for acceleration under Xwayland."
ewarn "Performance may be unacceptable without it."
fi
# localstatedir is used for the log location; we need to override the default
# from ebuild.sh
# sysconfdir is used for the xorg.conf location; same applies
# NOTE: fop is used for doc generating; and I have no idea if Gentoo
# package it somewhere
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable debug)
$(use_enable dmx)
$(use_enable glamor)
$(use_enable kdrive)
$(use_enable unwind libunwind)
$(use_enable wayland xwayland)
$(use_enable !minimal record)
$(use_enable !minimal xfree86-utils)
$(use_enable !minimal dri)
$(use_enable !minimal dri2)
$(use_enable !minimal dri3)
$(use_enable !minimal glx)
$(use_enable xcsecurity)
$(use_enable xephyr)
$(use_enable xnest)
$(use_enable xorg)
$(use_enable xvfb)
$(use_enable udev config-udev)
$(use_with doc doxygen)
$(use_with doc xmlto)
$(usex !elogind $(use_enable systemd systemd-logind) '--enable-systemd-logind')
$(use_with systemd systemd-daemon)
$(usex suid $(use_enable systemd suid-wrapper) '--disable-suid-wrapper')
$(usex suid $(use_enable !systemd install-setuid) '--disable-install-setuid')
--enable-libdrm
--sysconfdir="${EPREFIX}"/etc/X11
--localstatedir="${EPREFIX}"/var
--with-fontrootdir="${EPREFIX}"/usr/share/fonts
--with-xkb-output="${EPREFIX}"/var/lib/xkb
--disable-config-hal
--disable-linux-acpi
--without-dtrace
--without-fop
--with-os-vendor=Gentoo
--with-sha1=libcrypto
)
}
src_install() {
xorg-3_src_install
server_based_install
if ! use minimal && use xorg; then
# Install xorg.conf.example into docs
dodoc "${S}"/hw/xfree86/xorg.conf.example
fi
newinitd "${FILESDIR}"/xdm-setup.initd-1 xdm-setup
newinitd "${FILESDIR}"/xdm.initd-11 xdm
newconfd "${FILESDIR}"/xdm.confd-4 xdm
# install the @x11-module-rebuild set for Portage
insinto /usr/share/portage/config/sets
newins "${FILESDIR}"/xorg-sets.conf xorg.conf
find "${ED}"/var -type d -empty -delete || die
}
pkg_postinst() {
if ! use minimal; then
# sets up libGL and DRI2 symlinks if needed (ie, on a fresh install)
eselect opengl set xorg-x11 --use-old
fi
}
pkg_postrm() {
# Get rid of module dir to ensure opengl-update works properly
if [[ -z ${REPLACED_BY_VERSION} && -e ${EROOT}/usr/$(get_libdir)/xorg/modules ]]; then
rm -rf "${EROOT}"/usr/$(get_libdir)/xorg/modules
fi
}
server_based_install() {
if ! use xorg; then
rm "${ED}"/usr/share/man/man1/Xserver.1x \
"${ED}"/usr/$(get_libdir)/xserver/SecurityPolicy \
"${ED}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
"${ED}"/usr/share/man/man1/Xserver.1x
fi
}