Removed obsolete packages.
This commit is contained in:
parent
d385b18d78
commit
aadb7beb6b
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
||||
}
|
|
@ -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 )"
|
|
@ -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>
|
|
@ -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
|
|
@ -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
|
||||
|
|
@ -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
|
||||
}
|
|
@ -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"
|
|
@ -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 :
|
|
@ -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>
|
|
@ -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:
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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>
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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);
|
|
@ -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
|
||||
|
|
@ -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)) {
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
|
@ -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
|
||||
}
|
Loading…
Reference in a new issue