diff options
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xorg-server/ChangeLog | 8 | ||||
-rw-r--r-- | x11-base/xorg-server/Manifest | 31 | ||||
-rw-r--r-- | x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch | 29 | ||||
-rw-r--r-- | x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild | 252 |
4 files changed, 307 insertions, 13 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog index 6ce91a7c3530..c91ed2327f2b 100644 --- a/x11-base/xorg-server/ChangeLog +++ b/x11-base/xorg-server/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-base/xorg-server # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.844 2015/03/31 18:08:58 ulm Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.845 2015/04/28 15:38:07 chithanh Exp $ + +*xorg-server-1.12.4-r5 (28 Apr 2015) + + 28 Apr 2015; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org> + +files/xorg-server-1.12-cve-2015-3418.patch, +xorg-server-1.12.4-r5.ebuild: + Add fix for security bug #548002. 31 Mar 2015; Ulrich Müller <ulm@gentoo.org> xorg-server-1.12.4-r4.ebuild, xorg-server-1.15.2-r2.ebuild, xorg-server-1.16.4.ebuild, diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 90052999f41e..38c931f31e81 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -7,6 +7,7 @@ AUX xdm.initd-11 6136 SHA256 86a17c9ba172481318d5fd51c3aadfdcad9e5d52ed747837972 AUX xdm.initd-9 5700 SHA256 96b1fe826db2b46b08e055d57bffd9405616b7980d9e40e95f19e52bc49eef3f SHA512 a4f652aff6a03d902da7ce1c706396911e853e78031d3246b764cb67930f20935d5aa912834add9f839742e824c380d2793b6b62592a10ad1bde646623b419d3 WHIRLPOOL ebddb96a2552a76f1d2f13b25dd773c822e8a0a5135f950163426477c689d0c35a74946a3323103d604783244e3a2f0bee5f5009b50828c90227370b13c433a9 AUX xorg-server-1.12-cve-2013-1940.patch 1191 SHA256 cd2c72854f04bf8140e8c5beee51f7575eac63857b01353daec63d8d473d75c5 SHA512 cd38bf7fed8bde0b69c55c05b6e275843eb78178669cbbbcf313edbfcd02a91c4f297898f0220faa1e3592bec8e24e5b9a708499f6e63c2e8c15655de3f7149b WHIRLPOOL 3522bd9735e83f6ee6d9c1efc5bdfa41684dae9b9e49f92005ac7c54f1b9f7c23904042cb9714d97c73832272d6b92b5eaed16982392b0707f3ee82ca893de02 AUX xorg-server-1.12-cve-2013-4396.patch 2807 SHA256 11707d59d550a9f0b04f0ca3dba1668c7f848a4e8a4cea7a6ae01c665bd11fe9 SHA512 9c8fea712e7ad727390052fd6a717c00e6d16eecaee23153b21870b82772a67c841d9ae48573cf4f8adfc101c948ed25e454ce420226ca991a3c671ecdefa209 WHIRLPOOL 932cba6b4641156de7a56fa977fd39dcf171015e21d196de588694e31cb0fa1d9928b17a3ac81568581c6f722be252ca09125eb08a9f088d5550e205dd09cb42 +AUX xorg-server-1.12-cve-2015-3418.patch 1028 SHA256 59f3c787ab8703ef7567346c63d57f1045fbc29d372528a6b38291851423093b SHA512 77b78021bedf710274a371fc672663041a8bdaf8c8c2244f1a68af91f95f62817846c2c3f43abc762cd2214e1db8b89285d3ae111682f1210ad8049242dbb326 WHIRLPOOL 39268112363ec151c5938712c40895df5cb16994b2b0ac416f37fd517c3ec56595ff8893eaeedcfc99b25e647e1959bbb6da7d7ff1a18cde2946704d87144830 AUX xorg-server-1.12-disable-acpi.patch 275 SHA256 1d3878d44e2b8690bb7d1595960d06acee7f86a6a4724236a09a74900404e953 SHA512 ca52ce0931819acf46a066116b8485c3a398a56d79826a5cdb2b3b8c7809e5163e17a5954de370805dc51a3be3c75a0333d5c17c30bf99139105d705de2fff95 WHIRLPOOL 048be09bad947a5ef02d5935534c47d08439f0ceccddcdb017908bf73aa0484a69b0e42e8e6630393323305b31a8008ef8a0f4655556082245bc5fcde254aa5b AUX xorg-server-1.12-ia64-fix_inx_outx.patch 1737 SHA256 bf996a01faf3d1e6f00f12b17373a2530e7e433d3e6c4cac8935ebddc91cd089 SHA512 18bf9bbb973ae4e3f95ffafca8f82845f0c318c3b2dbf0cf9089a2614215ecf000b9037bfed7d80d9367be01247bf316ba2f6e16aa04fe79c54d81441c962bcd WHIRLPOOL cd133d58fc74de9d49773fe2a570d023cea38d09d7550fb9097a8c83a8393e8fc829ffaac566eee732475410e5d8063d0f99d437a68a67e8d3f65d012522240e AUX xorg-server-1.12-unloadsubmodule.patch 1373 SHA256 c68c4c0749b9229c3ca11c72b5ca98b58c7dbaf5c7311ce45890204bdc637c3c SHA512 a6a8ebbb1005f2ea9cfdfc928209a23fe213caab31a889c3290f14bcae0a9afd40176330e2e56cb5ff986d522505e7fb98fa0c71187f403e2afd33c9c919780e WHIRLPOOL 7e9dce7dc4e064567e68697a2966f87cef756670db7e49da50c8d9a5379d7930c3f9642913b8482b8c7597067ef9098e1989284986b5ec605aca6a536329c05c @@ -23,26 +24,32 @@ DIST xorg-server-1.16-cve-2014-8091..8103.patches.tar.xz 27892 SHA256 47d8c9bb79 DIST xorg-server-1.16.4.tar.bz2 5817330 SHA256 abb6e1cc9213a9915a121f48576ff6739a0b8cdb3d32796f9a7743c9a6efc871 SHA512 f756fca65535aa921a85d8d8eb36ea2ba5b7af90a46d640b0ca76259a9abd9d323885087e11156528d95240937c70373045001ae20266a1b9e89909f007e9e74 WHIRLPOOL 63980a3e2b57d2860998344f21a6524598b3dc135c277e5a868e34b57ab5060681ae7137358b3ba8b9ca5fd622a91aeb06bd0ac9e3e5ce1f4dc55df2b2dc0e33 DIST xorg-server-1.17.1.tar.bz2 5852385 SHA256 2bf8e9f6f0a710dec1d2472467bff1f4e247cb6dcd76eb469aafdc8a2d7db2ab SHA512 195a0e0a6bd9c7655e62dd40dfbd7dea77d10f1143d4fd6154e8bdbb463d3729f81ecd1e379d66f68e828d4f4583782c15ce260de24444802076844aec552c4f WHIRLPOOL a8a78b0bfa6137941e3434f083319a827f0332fd9c190922bb0a33381e86173868d236c96a89ee3049400f37521fe052838416f009713f004227f05b8717d776 EBUILD xorg-server-1.12.4-r4.ebuild 7249 SHA256 fce2621cda7c9836217c0ccd7752f3c339cafb04bc16ce697c84d5d5d2b9270c SHA512 de63e39d6a0fd2daf5544773050e39417d40c8297e2e70081cc88a9486a128d0fa7a11c755c60272268a6667a6dbe2f785aff0c257835b98e3da7057632ea55a WHIRLPOOL 267997b9084aed0a3c76b82b8c4be8f8e9743288a7e8dd6f8d6ff28f1d0a94a75f369dc30a5acad2e3c0e54d4098348ebe4b40c0cc14d4ff3b89f9c6d46ddea9 +EBUILD xorg-server-1.12.4-r5.ebuild 7307 SHA256 799e8a518b2732369a423eae97c0fe04ce27ca07559ba68e0331dc067e3d9692 SHA512 89fcaa3ae2776cfcaa20a95a70691ad521cfca13fe1322b91ab1994bc00f83cb7329ab010bd8c171ffa80792c439b3fe467118ff828cec501b15f32496941b68 WHIRLPOOL 38b1954b8ed488a200187f1fc6511d4808b1c3b73cf535e8774cd59413d1039d1ee2ac2abc15e7ff1d4b3a4dda4f86a5ee4f19fd8af213d36c578ce4fe7ccec9 EBUILD xorg-server-1.15.2-r2.ebuild 7379 SHA256 e848a433ad697f0537e2b092f4ed3bee51d31cd4d2a8e7c554fece9b8240d4c7 SHA512 e318666d68eb694210ebc65c1b5bb2804aeddfafc69ad5b9abc95f78843fec3ad385304280eecbb9af74c2cde5e6a8f600afc29e10705f82b3f439ce7a81a529 WHIRLPOOL 6b50bf1f1358d9f1507b3d26aef32bd5cf052ccfee4b394452bece06bc244b80fed6d2558fa3a07c694aefd4969f48f09805f842711e30750089cd5ef6a798bd EBUILD xorg-server-1.16.4-r1.ebuild 6037 SHA256 315b5da049cadf129ded553493adbc4dc7838e0c34a813e1c801bc96a53f4096 SHA512 93b1f3fbb08bcbfa3bbc9ff7652db671fbc93784deabd04cd92a879d43e8ff06820503594a0cc35f097c6bc601d78718a87122d721328cdb6dec3c44f6e35429 WHIRLPOOL e99201503b3ae801cabef57b7cca1465390b63015807563721fea10fa50c52b87bbc1c5700bc01cfe7110267d866520527833bdc406b1cdf65ad6e316c5efbf0 EBUILD xorg-server-1.16.4-r2.ebuild 6147 SHA256 8f7622700516d49974565ece81fbc019761fe75862916d09910a5f5f6467846a SHA512 a45971228c89e8675c5a03e59f0713bef1ad6c488e27467ac25c29605de19b5fcdeab4e0483bf6ab97068acfec4b1e697684723b28a5c97c7a5da39886e11ec2 WHIRLPOOL e7d408ebea2b6489e2fe392eb9356f736458a3b13a13be35845fe08e51e75d623a78422471dcd37a8e95724a6adf179f53186f8582e77c984252085176646925 EBUILD xorg-server-1.16.4.ebuild 6932 SHA256 c8fb69be28fc621fafefa98f63e166404771a185bdb3ca511e899fcec58d8cdc SHA512 e6fca3348ae29b3a774ae86da0c0bdc2387eabcfced47861555482976b12f1bc886d58e7bf836c6cc9812e87a06a8a7ec45524893f02f5645430083d54ca0294 WHIRLPOOL 6543e9229ab05a3e2400e00e1d6499b4f95e233851c444d27eec329080cf5d9933e8b29cda1d5e8ad629921e76ffe112b6e8d60ce83e634edef540ad4a98c93a EBUILD xorg-server-1.17.1-r1.ebuild 6405 SHA256 eaa922f868f1b7c4df332ced44d75c31bb92a347535706ff8fad7eaaceccd67d SHA512 b4eda85bfb93e30a367a874ea3e1752671614631968256a5566664fedfd2a391215bc04e8c8439eb66b17301d943de8a0028da50d0fb2fb16b959777048341dd WHIRLPOOL 7236e4eb472e0e7581aab58eb9cb840a3cb510eff7ecfdf1ccb2eb63b5f94515f8d324d3926973b3a44d5de14ac86e42beb2794a4d85b5088772233099ec1428 EBUILD xorg-server-1.17.1.ebuild 6292 SHA256 fd97b96778ef24a674d0c73c12611a430cdc6be041b287061f8a83ac673f424a SHA512 f69acaeba70b6a2c58106fef7b4f8ab825e5626013408fdbac94ad316bcbaab0b0cc7580c6cd83491ca5b0eee4cd8a69603983ff152b90cfeec34224923cb662 WHIRLPOOL 454ee70083dec42c4f93bbae6e9fb9e611882b6fd5de43b5aa7dff9c0fe1f6f8c7e2ada52031c3754026c5f68173734b86cd0ffe3e2108913d17ab7f58e52997 -MISC ChangeLog 66464 SHA256 c2dcfbaa2fc2e380717c111aca00414152692d846eb20801d1cbeb56257b731e SHA512 929a13fe3c7f3133beb07451d79a6d215efd03e17fc1fe266859817da961e3594905df39d10000e10a8f601e974f6ae7338dca96a4abc238093d76346e33f8de WHIRLPOOL 1c2cda35f281d3cabd185ce0c7a5e5f648429b9dcf3f270080c76c418de7606777337f26ec4e39d68301e25ad2431526e532c6a4175ba4a7f3d1942297cca4a2 +MISC ChangeLog 66691 SHA256 e5a02ec2ee01199d56a2dc3bc8048a0e3db2cfe5a19986d45baa6a70024c9e51 SHA512 693297195828e98f4834b8c656ec52105d9c2aff1566e8648a6d2e90f267dc22ffebfa744bcf2602466c21767ae5d7be5b347bf44f63d3f97414bff3821c7d5b WHIRLPOOL bec7143d2a66ed0c249cfb057f803d7cb55ac5fe8fa4611672bba24211081d3305bd6e3a41afbc46e777815cb7672a19c5636ed4fd31b77259708de67b81f6f0 MISC ChangeLog-2009 109242 SHA256 76119bd85f64b74b4f8129911eef944e8f1baa3ae38bbfb65bcd6197a6f58c88 SHA512 200b2a1f8d66bc4461de84a5b675ae9bdc1fd38ffea339cdc69afdb613d7a6d6ffe29175fba62b10c4f9d95e050035933f59e21172bf9c545d7a70137c8d04f4 WHIRLPOOL 1c084a461e803c1a6627986cb2444cd7a23743f409df5bb1ca5f55d1e7c3106670cfc2cd4f875a479e0c75513b7937ee35b591b4016b715f7fa45209e098cece MISC metadata.xml 803 SHA256 11ce7d6b3d1a4b32ac268d791e3e9fc1a47e579fb0587f87caf4c064c1abc355 SHA512 73fee10d52b8012ee64bdb789d0ecc0368c418822ec823ad22c1eac3c7c4af37c561a58599db68a6638059624e6f37e7d3cb5f3fd363255a372a9614c1deaf75 WHIRLPOOL f26245d7f8c9bf8c653730e1e832781289e06e43dc6cbc1efc422b6e8e3f7342e5a94f8cb731b4c2193c40af6087048da0ca384e4f13e697f86098296936e2e2 -----BEGIN PGP SIGNATURE----- -Version: GnuPG v2 +Version: GnuPG v2.0 -iQGcBAEBCAAGBQJVGuLAAAoJEJQzkH1pP7W4kjUL/RFa3MOu8C5hLeGj5bMsfUMU -T07tCSv3jMyiIJN8ANYD4wlqGhcJLDYfyiDYySvbspe4ldYegn6RIrk3hJG4pFE7 -t8HFyAI+DVOCvERqUk8Gg/wOM6FeREZRWYENcdMqIco//B+jbbcrFJ/wiWBTejiO -L/pTB9rz2ne8GFvLS7+B4hiSNi+H5c7sygi0lSMbPpeDeAtB8olDjY6tyxh1VfOu -cmrHH8br2poxTfiybZgVHU/43bDz53g1ALS9eOqHQIqO7G0LSLHcQGm0MKL+wQZ+ -Vv025bpIDtmtyxO/sXcYjlj9P9etWzC0oi27ifOO67DjuYRgBucokN4TWu0YdmJF -3mjZVyFDC+7mMS6JlsqB1YvH1G2xMTGjtdsH/fGVh0WDr+qAQVFGh/rJB8Q+/9TX -LRS0jj8xI1bE/bF8308eJ/bPstY9d2iOdf3skvPgDOmwDvece8JjPer06ActfcRt -PZW1s1ebEzQeF1ZHl1bonN3a+GuH1Lh8eE8Pe3Vb5w== -=JO04 +iQJ8BAEBCABmBQJVP6mKXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1RDFCODdDQUUxMkUwNkJCNjUyMDMxOEIy +MzI0RTdCNTY2REYyNjExAAoJECMk57Vm3yYRdeAP+wVI4WGu91Mk56XFF6XkjyN4 +HjIR03MxfHaXXYbShVVnkBRWhLvJYVAMXR+ZTFj8mdhqAhpyoJJU/g2ywx2+5+wu +jJdSjZifXXW4Nw6o4NhecjIWqQqTq3cFkMeMqzgWTss5rHlnCR8IpeXIrbrE4nxq +mbh0ZdksmA+qX/olIGE5y2uzajr+8N/3UkjG84Wg47jBt+tZ6tdUXHwRs8khNy1A +xArCgWXdU2HDpLcGid1dBMluRcdXsd+toLJ9WO/bfhfq1WxoMp8rYj9vaY74wnVY +Bvp++xTeyMo2FtMpRWqQnre+w98Auoq8otQept5aOnf2NGjxuJBk5Ege1BZax0PJ +ajn4dIUgGOKDP542PWJ6Ob01bGTbIp7jT5WT8RMrHYb5AeWjWkDeQ5wnB5yJwVXq +pCPSeromXfDd0Ja2DRj4zFYUSqiCVILvW2Igvtb/f201wicw0tXa30UPrHb+JAvS +fwXKR9vwq6taKi+p/4AqfipDDfEB0wX11VkCEqb4ycY5kiRWZqAVuiopH2tEBqWZ +P8+YhALyLOwLBJH8ZHvd5ZNk2xkXx9Xbr6d0whyWm2JyZeH3tnTDXOE25Pc8xkRM +cqIe3sm6+4uJnx6RoxK/jLW0O7tJ2Kx34R0zvieBitGOZkjPj+PTj29TBUBRyHde +NaaCMXjZVQj++6vb9TJd +=C+AR -----END PGP SIGNATURE----- diff --git a/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch b/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch new file mode 100644 index 000000000000..4b6a6aeab29e --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.12-cve-2015-3418.patch @@ -0,0 +1,29 @@ +From dc777c346d5d452a53b13b917c45f6a1bad2f20b Mon Sep 17 00:00:00 2001 +From: Keith Packard <keithp@keithp.com> +Date: Sat, 3 Jan 2015 08:46:45 -0800 +Subject: dix: Allow zero-height PutImage requests + +The length checking code validates PutImage height and byte width by +making sure that byte-width >= INT32_MAX / height. If height is zero, +this generates a divide by zero exception. Allow zero height requests +explicitly, bypassing the INT32_MAX check. + +Signed-off-by: Keith Packard <keithp@keithp.com> +Reviewed-by: Alan Coopersmith <alan.coopersmith@oracle.com> + +diff --git a/dix/dispatch.c b/dix/dispatch.c +index 55b978d..9044ac7 100644 +--- a/dix/dispatch.c ++++ b/dix/dispatch.c +@@ -2000,7 +2000,7 @@ ProcPutImage(ClientPtr client) + tmpImage = (char *) &stuff[1]; + lengthProto = length; + +- if (lengthProto >= (INT32_MAX / stuff->height)) ++ if (stuff->height != 0 && lengthProto >= (INT32_MAX / stuff->height)) + return BadLength; + + if ((bytes_to_int32(lengthProto * stuff->height) + +-- +cgit v0.10.2 + diff --git a/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild b/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild new file mode 100644 index 000000000000..32d08098a0b6 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild @@ -0,0 +1,252 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.12.4-r5.ebuild,v 1.1 2015/04/28 15:38:07 chithanh Exp $ + +EAPI=5 + +XORG_DOC=doc +inherit xorg-2 multilib versionator flag-o-matic +EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver" + +DESCRIPTION="X.Org X servers" +SLOT="0/${PV}" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd" + +SRC_URI="${SRC_URI} mirror://gentoo/${PN}-1.12-cve-2014-8091..8103.patches.tar.xz" + +IUSE_SERVERS="dmx kdrive xnest xorg xvfb" +IUSE="${IUSE_SERVERS} ipv6 minimal nptl selinux tslib +udev" + +RDEPEND=">=app-eselect/eselect-opengl-1.0.8 + dev-libs/openssl + media-libs/freetype + >=x11-apps/iceauth-1.0.2 + >=x11-apps/rgb-1.0.3 + >=x11-apps/xauth-1.0.3 + x11-apps/xkbcomp + >=x11-libs/libpciaccess-0.12.901 + >=x11-libs/libXau-1.0.4 + >=x11-libs/libXdmcp-1.0.2 + >=x11-libs/libXfont-1.4.2 + <x11-libs/libXfont-1.5.0 + >=x11-libs/libxkbfile-1.0.4 + >=x11-libs/pixman-0.21.8 + >=x11-libs/xtrans-1.2.2 + >=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 + ) + kdrive? ( + >=x11-libs/libXext-1.0.5 + x11-libs/libXv + ) + !minimal? ( + >=x11-libs/libX11-1.1.5 + >=x11-libs/libXext-1.0.5 + >=media-libs/mesa-7.8_rc[nptl=] + ) + tslib? ( >=x11-libs/tslib-1.0 ) + udev? ( >=virtual/udev-150 ) + >=x11-apps/xinit-1.3 + selinux? ( sec-policy/selinux-xserver )" + +DEPEND="${RDEPEND} + 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.0.2 + <x11-proto/fontsproto-2.1.3 + >=x11-proto/glproto-1.4.14 + >=x11-proto/inputproto-2.1.99.3 + >=x11-proto/kbproto-1.0.3 + >=x11-proto/randrproto-1.2.99.3 + >=x11-proto/recordproto-1.13.99.1 + >=x11-proto/renderproto-0.11 + >=x11-proto/resourceproto-1.0.2 + >=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.1.99 + >=x11-proto/xf86dgaproto-2.0.99.1 + >=x11-proto/xf86rushproto-1.1.2 + >=x11-proto/xf86vidmodeproto-2.2.99.1 + >=x11-proto/xineramaproto-1.1.3 + >=x11-proto/xproto-7.0.22 + 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 + >=x11-proto/dri2proto-2.6 + >=x11-libs/libdrm-2.4.20 + )" + +PDEPEND=" + xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )" + +REQUIRED_USE="!minimal? ( + || ( ${IUSE_SERVERS} ) + )" + +# Security patches taken from Debian from their 1.12 package +UPSTREAMED_PATCHES=( + "${WORKDIR}"/patches/${PN}-1.12-cve-2014-8091..8103.patch +) + +PATCHES=( + "${UPSTREAMED_PATCHES[@]}" + "${FILESDIR}"/${PN}-1.12-disable-acpi.patch + "${FILESDIR}"/${PN}-1.12-cve-2013-1940.patch + "${FILESDIR}"/${PN}-1.12-cve-2013-4396.patch + "${FILESDIR}"/${PN}-1.17-cve-2015-0255-0.patch + "${FILESDIR}"/${PN}-1.17-cve-2015-0255-1.patch + "${FILESDIR}"/${PN}-1.12-cve-2015-3418.patch +) + +pkg_pretend() { + # older gcc is not supported + [[ "${MERGE_TYPE}" != "binary" && $(gcc-major-version) -lt 4 ]] && \ + die "Sorry, but gcc earlier than 4.0 wont work for xorg-server." +} + +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 + # --enable-install-setuid needed because sparcs default off + # 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 dmx) + $(use_enable kdrive) + $(use_enable kdrive kdrive-kbd) + $(use_enable kdrive kdrive-mouse) + $(use_enable kdrive kdrive-evdev) + $(use_enable tslib) + $(use_enable !minimal record) + $(use_enable !minimal xfree86-utils) + $(use_enable !minimal install-libxf86config) + $(use_enable !minimal dri) + $(use_enable !minimal dri2) + $(use_enable !minimal glx) + $(use_enable xnest) + $(use_enable xorg) + $(use_enable xvfb) + $(use_enable nptl glx-tls) + $(use_enable udev config-udev) + $(use_with doc doxygen) + $(use_with doc xmlto) + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontrootdir=/usr/share/fonts + --with-xkb-output=/var/lib/xkb + --disable-config-hal + --without-dtrace + --without-fop + --with-os-vendor=Gentoo + ) + + # Xorg-server requires includes from OS mesa which are not visible for + # users of binary drivers. + mkdir -p "${T}/mesa-symlinks/GL" + for i in gl glx glxmd glxproto glxtokens; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + for i in glext glxext; do + ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die + done + append-cppflags "-I${T}/mesa-symlinks" + + xorg-2_src_configure +} + +src_install() { + xorg-2_src_install + + dynamic_libgl_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-9 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 + + if [[ ${PV} != 9999 && $(get_version_component_range 2 ${REPLACING_VERSIONS}) != $(get_version_component_range 2 ${PV}) ]]; then + ewarn "You must rebuild all drivers if upgrading from <xorg-server-$(get_version_component_range 1-2)" + ewarn "because the ABI changed. If you cannot start X because" + ewarn "of module version mismatch errors, this is your problem." + + echo + ewarn "You can generate a list of all installed packages in the x11-drivers" + ewarn "category using this command:" + ewarn " emerge portage-utils; qlist -I -C x11-drivers/" + ewarn "or using sets from portage-2.2:" + ewarn " emerge @x11-module-rebuild" + fi +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if [[ -z ${REPLACED_BY_VERSION} && -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then + rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/xorg-x11/extensions + local x="" + for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/lib{glx,dri,dri2}*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/xorg-x11/extensions + fi + done + eend 0 +} + +server_based_install() { + if ! use xorg; then + rm "${D}"/usr/share/man/man1/Xserver.1x \ + "${D}"/usr/$(get_libdir)/xserver/SecurityPolicy \ + "${D}"/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + "${D}"/usr/share/man/man1/Xserver.1x + fi +} |