diff options
author | Zhang Le <robert.zhangle@gmail.com> | 2008-02-18 17:32:30 +0800 |
---|---|---|
committer | Zhang Le <robert.zhangle@gmail.com> | 2008-02-18 17:32:30 +0800 |
commit | da89d3e3526bb72ded0cf7f2e5fcc30d8a18c77e (patch) | |
tree | f9f024d21c37cca098ddcca7a9e062208dd3a2ee | |
parent | re-generate binutils' manifest (diff) | |
download | loongson-da89d3e3526bb72ded0cf7f2e5fcc30d8a18c77e.tar.gz loongson-da89d3e3526bb72ded0cf7f2e5fcc30d8a18c77e.tar.bz2 loongson-da89d3e3526bb72ded0cf7f2e5fcc30d8a18c77e.zip |
added xorg-server-1.3.0.0-r5.ebuild
Signed-off-by: Zhang Le <robert.zhangle@gmail.com>
46 files changed, 1508 insertions, 2876 deletions
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index c72aa19..81fc38e 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -1,55 +1,48 @@ -AUX 01-no-move-damage.patch 1149 RMD160 f40d73e020376e1b9603dfa5ceb2fd0b48b45e31 SHA1 b8adef394d05a8769627d71b8da302f7fc3622d5 SHA256 9396f282e3d62927e86c4aa38b0d6245b83ca8e2ea48624f22c3c6d35751d997 -AUX 02-dont-backfill-bg-none.patch 581 RMD160 b38e5b7c945434e6b60748a5f853d7eb773f3427 SHA1 862c2435249d475dd7fdd229449a89b8e2f2207b SHA256 fe5e71b9b5cb7ea4b484e76015bf364e7e1e307c1d35ed3497dc30c9b75dc7ea -AUX 03-tfp-damage.patch 5982 RMD160 7b044a9d151bdd573c80b93b7249888184fad782 SHA1 30c64426cb9db4e1fbabbd8bb8af92b3f7ed682d SHA256 dcc6fe0f6d4031b345e8f3a5a0f5bfbbf43db9ce972fb4ca7b58961fb178da59 -AUX 04-mesa-copy-sub-buffer.patch 11609 RMD160 d525afd68510bed628742c28d29eec7c47e0592b SHA1 c9a654962fa930b3cced371ba9737f140c46612e SHA256 daeef79d8bd3ae91f2906f7fa62f15892307bfb5f1650ef832bd490a2d6606f5 -AUX 05-offscreen-pixmaps.patch 1548 RMD160 e0f87c88379861340524847a57bf72119256a610 SHA1 c57a9aafec35b8158098751028a76a2979379625 SHA256 73be09f2f3756021bd6261fc05733eb39084c2190e7ca107bfa01c7d447a34a6 -AUX 06-aiglx-happy-vt-switch.patch 6043 RMD160 fce467afaa3988b511b9796af164f36172bf6b7b SHA1 ad8eaa9c48699501145a15cc22b98e88a2c4a0f2 SHA256 112f1cccc0f3e1af1d76109e845c0e89462b6e95c2fd1cc80ca9370806a617dc -AUX 1.1.1-dbe-render.diff 5323 RMD160 cbddae4efaa558f3c4ea0b256bd14cc005251493 SHA1 67cfe51fdf314db3cf712cb180bdc7635788ffa3 SHA256 0c0e0c6c8e7f1928d595c90cccfa2dacdcdf52656271b2fea52f202597e5d7ab -AUX 1.1.1-fix-xrandr-zoom-keys.patch 6332 RMD160 cec1b86e0a6ea88e1e65543046fd1b91ab112b04 SHA1 ebaea3bdff2564d898fe0f1bcacdafcbcfe4b9f6 SHA256 b7bb87d2170f2dd369a8b3a496dae0e93792419ccc7c78449e9affc8f07650ac -AUX 1.1.1-fix_acpi_tokenize.patch 737 RMD160 23e67ce9e8122c163b9baa78ee517abd382e46a9 SHA1 4c0a41a8dc060442fdfbc35f05e58134bd5c2eb0 SHA256 f3ed429b3b5c36f0efa06c11ddbd1dfbf929f031ec6365c5f47a75f7a182367b -AUX 1.1.1-fix_big_endian_glx.patch 655 RMD160 aa6377a33c015af994053add2c5571a13bd0658a SHA1 9133c745ebe3b1dd39518b245c4836c9a53f40d6 SHA256 2b9f53f31fe9f4e36db01fcbf74745fddfa70a28e41614da608c53af81993dbf -AUX 1.1.1-fixdualhead.patch 625 RMD160 2b91d2feb1605c7fb7731e888f391e07ac6d6c67 SHA1 364b7d6ec0bb55547d81ff3ccbd84b41f5b537dd SHA256 e16f498897e470dbefb6ac38f73393b091b9bdd2f306f0441502eaaaa0d3bd61 -AUX 1.1.1-sparc-includes.patch 1216 RMD160 fcfe14696821581f316413564c6a3f787dae3937 SHA1 55270574dbbc95cac7d8102a7a855e5c8800439f SHA256 1b80656cf450f0df3d25cda3e57909ff71834ad489d6033f9d16e2d6d76e34d4 -AUX 1.1.1-sparc64-ati-lockups.patch 652 RMD160 7d642aa1c0153a4c48b8d2338b1afafdbc130852 SHA1 31f3b422d4dc621a7638cf4f9b388ce6a5cccec4 SHA256 0db8886c157b253449057865c938b63aa8a4f11d746e5df4ed2a12b75d718c51 -AUX 1.2.0-client-leak.patch 363 RMD160 788a7468df4305319ee3a05137ce0b90e76b982a SHA1 67ee249858947cea7fcd9a08db3ff3e81cd0036e SHA256 5969bf63e88ab4030c6913237379b76fb55e9e1f249a058eb17487a4b7103b87 AUX 1.2.0-fix-amd-cpu-detection.patch 1715 RMD160 7290fd57dc2a9e2dd8edbe08da5074a30815486c SHA1 b749e5ac35fad295fd7a1f13cfee2e42a2a06035 SHA256 0126a880eb5f21eb8dbbd119a425e7412b37689e1321c2b9ff63c5dc8de47f6a AUX 1.2.0-properly-free-device-devprivates-memory-leak-fix.patch 1199 RMD160 c55891ff6797d1b161524cd5c3e9a4382ec0bcad SHA1 98e07d5a542bc1e990921234f8f6399120ae5a63 SHA256 ba60d2fbb7944da45344f5ffc1431bf0e812ab861f4455522592ecb0c475138c -AUX 1.2.0-server-damage-version.patch 1322 RMD160 25ba5ce01bc338d3a906ec959a0f1ad3303c5dd2 SHA1 129565a0151d42b85c43f273da507396111bdc9b SHA256 28a049c39e7995f7768eed34993f12252da416093e2f919c1ae84cb2dfee9f09 -AUX 1.2.0-server-randr-version.patch 444 RMD160 05a4c38c141bf5dddd1f94eb61dba62b79f17658 SHA1 5faef7578c55439433b10731c87d82536db7232b SHA256 226560c2d5c0c76987e2e315c2eef805e96ee9189aa3394148968fa13392f17e AUX 1.2.0-typo-fix.patch 1321 RMD160 237c072869df15afbc2b35dfd8cc6e5143cb59f9 SHA1 3a22190fde5487b84c0d9a8862421f102bf41c63 SHA256 9dbf526f9cb3bf2596ffdc1795eda16181384db33562daf4fd1ddb359b5a77bd AUX 1.2.0-zero-out-client-devprivates-on-allocation.patch 1284 RMD160 28bdf0c7b868736a788da69b8f4c6b1e0a88f425 SHA1 0cfd5dcb57c42197e39e5469032833ea932c0b4f SHA256 55cda19958996c484f4713ed022d6d9e80a4ab7e2f2f59ee26019d291a433a34 -AUX 1.2.99.0-fix-sysconfdir-references.patch 421 RMD160 4af58784b1af8c02ebe395530da3e0a3f619c9a9 SHA1 3c836428f18aa6e42a8ab243c59c9693af57100e SHA256 216905a6ac45ae01cbec53c5a8a5ebd53e9c8f647e91d57d926f9109a73cef24 +AUX 1.3-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch 7656 RMD160 2989af909eeec8c2e04126e5eaf34ac5f2b5449d SHA1 1dfe79a470b64f9981982216a3ec52e7b46dddff SHA256 09eeefa3b891fc7d860fff1dce485cc73278eee07a8494751b75df6fbdd66482 +AUX 1.3-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch 622 RMD160 e3d8a3f8ad55bf4c9da7736019255d00ecd07836 SHA1 3da82b9a81995b31ad84ccb376a619953837edb5 SHA256 ca0a6dca401ac9dd17d87866dc0d70ca02d8f9a18cfeafe7998af56b75148162 AUX 1.3-alpha-build-fix.patch 1151 RMD160 b7eda6096e95835d998731c97aa70f13ec0c771c SHA1 210ef43db8ad8080db21a86c31f7744dbdb7e439 SHA256 4242b7679c24005c3a06ec1b37d98ce6b339724067876cf43ed05429f8f07186 +AUX 1.3.0.0-fix-dual-head-screen-resolutions.patch 1542 RMD160 b09e29247cc11e94a028596bebd9ee8237cbb490 SHA1 eb416bed3c6eb8323a6305ca0576ca94b667205f SHA256 c944c684fe6cfb115f1c4ce1fb5b291ca82d6f44ce9a5381d711414c72c1ed70 +AUX 1.3.0.0-fix-randr-resizing.patch 1986 RMD160 7fe971a41e5659876596b921d33d316c7a22f6fa SHA1 6f8c41b3f25dbb58a050929d6af03778d0b15c26 SHA256 f9a489027004c9e62a76b431344a6f5936989b8161dc5a51018070e3d59e015e +AUX 1.3.0.0-fix-xephyr-amd64-segfault.patch 1382 RMD160 03595cb965623383f8429560c551e13f882bf1b9 SHA1 693e64678100480135c3853590481b20342e9eae SHA256 32cd35d353ba2568d98125328574a0d2c021637a367dd3de616e02a2f8fdd4b9 +AUX 1.3.0.0-fix-xkb-openoffice-hangs.patch 1671 RMD160 6fcee07ea40289b40c43bce5bee88b282ae536f4 SHA1 34535d5dc17cf96a4605a82105ec41e27c97c94c SHA256 e9cbb4c9c58689116d09827a5a50f38a7e24e735277dd595d3ffa981c24e6c7d +AUX 1.3.0.0-ramdac.patch 2736 RMD160 6a57be8c314989c110f1dd82563fa730512b6a5f SHA1 5da7c2caecd8c47e77d10c3967bcc22c481087fe SHA256 29dd3f3de269b1d9d24628dab293246f2deda4e8bd4018f20adf74584d2ca92f AUX 1.3.0.0-use-proc-instead-of-sys.patch 686 RMD160 26e9bee2d1be197fa456efdd5be16a8087b947cb SHA1 44112c3643d026f318850f2b763f3ca3952bb686 SHA256 12a737b236e90f2ca2a1cdb86ac87caec4a5bc38441dd72bb3628ef950e53f54 AUX 1.3.0.0-xephyr_crash_at_exit.patch 1039 RMD160 595728d2bccd4c254e4ee8074da1fb8dde8f1e2e SHA1 080a7dbd301851b26b2d94c051a4a80b4998c814 SHA256 ed552e77d763b12b7d495ccf3966b4e6982dbf94b9ee508e07a708904a97661d +AUX 1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch 980 RMD160 0e7739e5aa846db9485a2e9c1a19a9b43770995a SHA1 5ffb6b3bcf5e40d3d51c466bf2c077673341793d SHA256 d8f41a4df64818fdc97db3f194e2fece32915f04b824efb96f577cdf31372a64 +AUX 1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch 747 RMD160 3e9c54bd0ca801a94540c069a09896538d79697e SHA1 894bce69645b8353e0386b26f594e0e3ccda7c9c SHA256 4fec6a5b20c35ac7a8a34bf9851fc760bedc27e3e83b9de57f0ac6b3c2766e9e +AUX 1.4-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch 7342 RMD160 cecc6e6cf0dfbdc1aa74149a7df307961fe77250 SHA1 e24460f9477072716083e6483deda46c0034ad8c SHA256 81538f7c1ebb3e002a5777e91aeff4befa51b5e659fcd91c9f23c68d62121336 +AUX 1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch 6830 RMD160 d5573b0af87a1b4fbea7e63fb1a161bfa56b1103 SHA1 8634b48c7a655a3ccd61fda78deaa54090c82ce3 SHA256 7f38a704931f515a68a460abccfd0fed15d51915cbef9f8ed9d1e0ccdd2cf14d +AUX 1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch 912 RMD160 c931db35d87a94a89db7fdfd9826565b94b8803f SHA1 e258c3f9c03fc92473daf8ae18ee0d0fa47e26ac SHA256 39ec99f6643b73951a5a5ed14c54c227885b7411da76ecec3c923fd8189c6364 +AUX 1.4-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch 870 RMD160 adbc9a110c0e7aef884f5ea9c61148688ac441e5 SHA1 a9c8e1bb513073304d465ad0079c1dd452d053d6 SHA256 d1545329c64f492acc9935df68b31d513d3f1ddcfc5f821224a33761cf4b5c81 +AUX 1.4-0007-CVE-2007-6429-Don-t-spuriously-reject-8bpp-shm-pix.patch 2594 RMD160 0197f2ef4e2734e3f82d94fb9aefd6b77b287c8a SHA1 d2d3666ac30bc5b541b8bf30fe5de157dbb79c9a SHA256 69c8eb09cbf978bbdaef1ae9537778bcf40c7c67bbfeab0b5753e5538147a4ce +AUX 1.4-0008-CVE-2007-6429-Always-test-for-size-offset-wrapping.patch 1332 RMD160 0dc6a97eb653306d4f454707f274644d8564fbf2 SHA1 295bd873f26d01094b458449a99ffa708b5cc45d SHA256 f6c5949c3843f2cda8eb19ec2cd252ee53a3868ab0bc886272b5e95db81d39c2 +AUX 1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch 1353 RMD160 31bc8d452d1959f80580555489007fcc77d8780b SHA1 1a1c33a8097e301623d6ec7abebb23b3ac87c570 SHA256 2641e629e83cfa536cc7e765fdcc79bae217deddf892349bbde17a4fb6c76059 AUX 1.4-document-new-font-catalogs.patch 4540 RMD160 92e450666e840fefb8604dc664ce0276e01c28d7 SHA1 6bf78fde99494b047658836adfa35b5d75224214 SHA256 8a73f0a01235c6cb1acefa09a726f68089fc10c1d68ffdf2e1b57091caafbbfd +AUX 1.4-dont-hang-openoffice.patch 2235 RMD160 cc208574ad07d806f71fc6be79796594601c0894 SHA1 f82487057211b699bdca0874f5ec9bbec9ccdf40 SHA256 bbd05d1ff0e7f97b7ec11c7ebdd32cdcf8984b69d1dc87b46cc66133895e2644 AUX 1.4-fix-dmx-build.patch 509 RMD160 699daf15f9ff4878a1583acaf5bc7c01afb5904c SHA1 0b627c0d98e50f0d29dacc3fa7e8e9d8b1ad3faf SHA256 4a01681656d09780dd15696804ce8210a4a5324bf63c33a7692e8971fbeb1843 AUX 1.4-fix-dmx-link.patch 363 RMD160 429ce2827b9a5047ea7ad5ca4ec93740e85099af SHA1 41f686ef462e179f6c7e73a1babb7c0f2312d337 SHA256 50fbbe7391a354de2fa321944b921193e1097eaed4d775e343687f4a1a33a002 +AUX 1.4-fix-kdrive-automake.patch 382 RMD160 78062824a416a2b452866d50592cc71bf34b13be SHA1 f21a54aed8eae1e718f2f0c262c37c36ccccd152 SHA256 126b67332c902802da506970acf253030004e4f7e17b3b6d2e68dd6b7bb0db81 AUX 1.4-fix-xephyr-link.patch 850 RMD160 574c9e4b38ceaf5964bfcd9020842b027f22cac1 SHA1 352c55be4b91b29c84b192d806a90834d887fc22 SHA256 89761f041d694db9891a5a72ff0ee1066d08c2d19a5cec448482fb2b427d2c10 AUX 1.4-fix-xprint-build.patch 413 RMD160 79275b83b2a41bd4a7488011a9d2b93d6ec0400f SHA1 e2611665d555d5dc93ede0ab4beb9acb16b6b5aa SHA256 183a6c7d6f506dcd637a10057421811901035ed802c27cdd6bc6869924337d40 AUX 1.4-fix-xprint-link.patch 588 RMD160 4a5ec1cd69047a94917c0bf29f1f557ec05059c6 SHA1 67f057700577562b6260d07a8e82ab2dad117a4c SHA256 f6f7a67c93dce63a6f16ccb2182fbd861c7627d071225251df4a733412eda7f0 AUX 1.4-fpic-libxf86config.patch 374 RMD160 614d69f83b7f4d4999efa906f2059b7f287e22c1 SHA1 1f113823c03f69e79b10965908945df629b73474 SHA256 017e7ba2954dcc2281f8626977d47fd8bd037f05e680e51b8e4ae7316455a237 AUX 1.4-ia64.patch 1872 RMD160 6bc82c87140ee81150c34df486b5b4d9620dde9c SHA1 b43aadafd7ce144790cf9eccf8a9840baf3205bd SHA256 950714ce230791ce9d54e21044961d9435e4eb774f82e5047f9adcd5fd4661ec +AUX 1.4.0.90-clean-generated-files.patch 595 RMD160 e4044e8c1f1b92db38a7e53b77109ff80fb4d22a SHA1 9eaf182c435946596462106547e9d52f819cb397 SHA256 8a57ddae701218b425bbe59c2d387c81d65af2d29c67ea9f8550c8201841f9a7 AUX avoid-crash-on-minimized-xv-window.patch 1970 RMD160 a41e37359a05b4dc4c796e569b3f00e9dcb210d4 SHA1 54447e96f4f10e2993e0e675091f6026e63b56b6 SHA256 6e1cbe4f588674d70d3564962a79b4b7d271162040f9a2390f29f03cfeac87bd AUX use-composite-for-unequal-depths.patch 3528 RMD160 be7b5b07e8c890d596c5e2c49152f7df833487ea SHA1 1ade1846c1549c5a7eb3775d86973eb87bdb48ff SHA256 b38c079aaac0d8168cd4b45d2c1b8020338918c96855989dce89324c800622c0 -AUX xorg-conf-example.patch 1924 RMD160 04325d6624ad01ee69702b069be3665b5e96b647 SHA1 2d7b8328c695dc179e4f6e1d0e4609bb449159ee SHA256 ceb0dd0ccc6b02a026b599f1c838fc0a0c3f789f58407e85ee783ddaf9989350 -AUX xorg-server-1.1.1-install-libxf86config-headers.patch 422 RMD160 297df8f5478195a8e0c0589436c9dad457c91539 SHA1 435f5d3c410a7e17b31c27c44a1f36145db626ea SHA256 85de5a76afb5a6c6ab0ac0d0f7d7decad99035cbbc04362e69a1627f04d86269 -AUX xorg-server-1.2.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 AUX xorg-server-1.3.0.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 -AUX xorg-server-1.4-loongson.patch 2039 RMD160 9ae834b71e29de0fd9698843833dcf967a4385f6 SHA1 828246c5fdd34f6018c3fab8654ce9e095142608 SHA256 c875ede2906969d0c6cb2f9b5548f9002a93f25f174d82e013c8310697265cf5 AUX xorg-server-sam225bw-quirks.patch 380 RMD160 c4f7729a9f042e881feafcb5b0f97b05c80ab667 SHA1 20bae2bbe682b23feec54fdca23dde3598bab423 SHA256 7ad46b36407256b426a22b78f1646ffbc4f0197af49b068fdb5e56455cae2517 AUX xorg-x11-server-1.0.1-fpic-libxf86config.patch 332 RMD160 3981b8fbb19142c7944f59237cf57394337ec952 SHA1 594aa3d30b51f6789d848f819c13737baff442d1 SHA256 65cc7942a8c7357c138c9c19c39a835720b13348e96a82c8925ccda82c1bcfb6 -AUX xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 RMD160 8a6142a781d0ee626b4569f2324c6884234c7856 SHA1 287d09b104826c0ac852d401457c230fa96f7296 SHA256 8428c09c0bd11e7db9fbf0807754312cfb7c2659b2c203f8ad9741fc35c356c0 -AUX xorg-xserver-1.2.0-xcmisc.diff 981 RMD160 66afbb0d9c6017795c8a7537bd1d8e6000ba67e9 SHA1 3557cbe23be6912106ed7220d95301311fb93a26 SHA256 cc98577740689020020794c322069a5e2520bca8c0998efdab149994773ebba5 AUX xprint.init 598 RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e SHA1 1590a29e11f813bb1353b4cc815708e97bfbb96b SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 DIST MesaLib-6.5.2.tar.bz2 3295166 RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 SHA1 ba860bb6ee57c02202342dfd5927464a068ea18f SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f DIST MesaLib-7.0.1.tar.bz2 3343538 RMD160 b44fd8ebffd17aa72c3b6cca1c2924e66787aa78 SHA1 deb1002cf377ba8bd9407bd3cf573f8c8be31671 SHA256 5190ffac157882d9129d31f262339512f4a45dcf95ccdad213760a7d54d82de7 -DIST xorg-server-1.2.0.tar.bz2 6014596 RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 SHA1 85fa0e8fa7d6bea6f1a73c66a57488ea68dffa17 SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 DIST xorg-server-1.3.0.0.tar.bz2 5968263 RMD160 1a4fecd73aed0d5adabe84066c24ce69dc2c2dc1 SHA1 6f9645fe70da5b6a121f3e8fa6c2fc1e4307390c SHA256 93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975 DIST xorg-server-1.4.tar.bz2 6179392 RMD160 74a274c880a9508be26b76acdb504a8e88b63a46 SHA1 3aa6327f4def4d33ce2a8d6d7587295db231ab6d SHA256 51b142df328d427143705371f139a08ff3bcd6efe0eab91f4178ca4017c0ebc2 -EBUILD xorg-server-1.2.0-r1.ebuild 16442 RMD160 ac4717116f699a89feb7070b57123cfc7bc2dc07 SHA1 8996dccbdbfe6c1a54122bf8ffc3a22886646c5b SHA256 becbdd3224bc6acc1cd1bf7933000d2a1f99042cb59ab074419b8057ee7f4e13 -EBUILD xorg-server-1.2.0-r2.ebuild 16479 RMD160 3274a5a2bcbb4c650642a692a6b0eb08707c2515 SHA1 2b0b7ce45032e44f6e4bdb699d9ced9839173ca0 SHA256 74009fe505532f613e8c3d609af91c1837822e9b4c1ac114a2c9ca9cf94ff536 -EBUILD xorg-server-1.3.0.0.ebuild 16332 RMD160 96f7260adacacec77d9eff7a1459c87a9b9d5ae8 SHA1 c10e6ea1dcab9e7a2f0231c4372aa065d1ec9fea SHA256 582a8abbfcd8962944b5a751a0ce385add7d33354e905b1ef52e6b55d747c7dc +EBUILD xorg-server-1.3.0.0-r5.ebuild 18071 RMD160 d89519122beabdbfe5427d0f7569e73d0b5a4e59 SHA1 de021e1ef196fe9d059d2f92fa2fefebbe616b0c SHA256 34c6127edd2ae61f787c738f3a088f82fd68e0c2e56f1f86e0d60ac4c5cb7606 EBUILD xorg-server-1.4-r2.ebuild 17876 RMD160 a83957b141d65c928d1cde23995f3e59f3591b1d SHA1 2e2ac24296c561be801bdba68e76e4c3dcf5a00d SHA256 adf50c200ccf2755ff6ac04a64ac946b75c0bf7a18fd8fd42719d2676450fa06 MISC ChangeLog 46548 RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed SHA1 c1c264afd91f7d13bd8c4cd5d8d03cc9327e1e14 SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7 MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 diff --git a/x11-base/xorg-server/files/01-no-move-damage.patch b/x11-base/xorg-server/files/01-no-move-damage.patch deleted file mode 100644 index 4278043..0000000 --- a/x11-base/xorg-server/files/01-no-move-damage.patch +++ /dev/null @@ -1,33 +0,0 @@ -Disable damage notifications on move for manually redirected windows. -The automatic compositor needs damage notification on move, but a -compositing manager doesn't. - ---- ./composite/compwindow.c.spiffiffity 2006-03-29 12:51:53.000000000 -0500 -+++ ./composite/compwindow.c 2006-04-13 23:18:42.000000000 -0400 -@@ -571,12 +571,15 @@ - } - else - { -+ CompWindowPtr cw = GetCompWindow (pWin); -+ - ptOldOrg.x -= dx; - ptOldOrg.y -= dy; - REGION_TRANSLATE (prgnSrc, prgnSrc, - pWin->drawable.x - ptOldOrg.x, - pWin->drawable.y - ptOldOrg.y); -- DamageDamageRegion (&pWin->drawable, prgnSrc); -+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, prgnSrc); - } - cs->CopyWindow = pScreen->CopyWindow; - pScreen->CopyWindow = compCopyWindow; -@@ -655,7 +658,8 @@ - /* - * Report that as damaged so it will be redrawn - */ -- DamageDamageRegion (&pWin->drawable, &damage); -+ if (cw->update == CompositeRedirectAutomatic) -+ DamageDamageRegion (&pWin->drawable, &damage); - REGION_UNINIT (pScreen, &damage); - /* - * Save the new border clip region diff --git a/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch b/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch deleted file mode 100644 index 9a5cacd..0000000 --- a/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch +++ /dev/null @@ -1,21 +0,0 @@ -Disable backfilling of windows created with bg=none, which otherwise -would force a framebuffer readback. - ---- ./composite/compalloc.c.spiffiffity 2006-03-13 16:59:55.000000000 -0500 -+++ ./composite/compalloc.c 2006-04-12 16:37:50.000000000 -0400 -@@ -478,6 +478,7 @@ - * Copy bits from the parent into the new pixmap so that it will - * have "reasonable" contents in case for background None areas. - */ -+#if 0 - if (pGC) - { - XID val = IncludeInferiors; -@@ -492,6 +493,7 @@ - w, h, 0, 0); - FreeScratchGC (pGC); - } -+#endif - return pPixmap; - } - diff --git a/x11-base/xorg-server/files/03-tfp-damage.patch b/x11-base/xorg-server/files/03-tfp-damage.patch deleted file mode 100644 index 942d44e..0000000 --- a/x11-base/xorg-server/files/03-tfp-damage.patch +++ /dev/null @@ -1,211 +0,0 @@ ---- ./GL/glx/glxdrawable.h.tfp-damage 2006-03-11 19:11:33.000000000 -0500 -+++ ./GL/glx/glxdrawable.h 2006-06-20 20:33:53.000000000 -0400 -@@ -41,6 +41,8 @@ - ** - */ - -+#include <damage.h> -+ - typedef struct { - - DrawablePtr pDraw; -@@ -49,7 +51,7 @@ - ScreenPtr pScreen; - Bool idExists; - int refcnt; -- -+ DamagePtr pDamage; - } __GLXpixmap; - - struct __GLXdrawable { ---- ./GL/glx/glxcmds.c.tfp-damage 2006-05-09 13:44:26.000000000 -0400 -+++ ./GL/glx/glxcmds.c 2006-06-20 20:33:53.000000000 -0400 -@@ -1271,6 +1271,7 @@ - pGlxPixmap->pGlxScreen = pGlxScreen; - pGlxPixmap->pScreen = pScreen; - pGlxPixmap->idExists = True; -+ pGlxPixmap->pDamage = NULL; - pGlxPixmap->refcnt = 0; - - pGlxPixmap->modes = modes; ---- ./GL/glx/glxdri.c.tfp-damage 2006-04-02 21:25:21.000000000 -0400 -+++ ./GL/glx/glxdri.c 2006-06-21 00:39:40.000000000 -0400 -@@ -296,24 +296,18 @@ - } - - static void --glxFillAlphaChannel (PixmapPtr pixmap) -+glxFillAlphaChannel (PixmapPtr pixmap, int x, int y, int width, int height) - { -- int i, j; -- CARD32 *pixels = (CARD32 *)pixmap->devPrivate.ptr; -+ int i; -+ CARD32 *p, *end, *pixels = (CARD32 *)pixmap->devPrivate.ptr; - CARD32 rowstride = pixmap->devKind / 4; -- CARD32 x, y; -- -- x = pixmap->drawable.x; -- y = pixmap->drawable.y; - -- for (i = y; i < pixmap->drawable.height + y; ++i) -+ for (i = y; i < y + height; i++) - { -- for (j = x; j < pixmap->drawable.width + x; ++j) -- { -- int index = i * rowstride + j; -- -- pixels[index] |= 0xFF000000; -- } -+ p = &pixels[i * rowstride + x]; -+ end = p + width; -+ while (p < end) -+ *p++ |= 0xFF000000; - } - } - -@@ -326,7 +320,6 @@ - * - No fbconfig handling for TEXTURE_TARGET - * - No fbconfig exposure of Y inversion state - * - No GenerateMipmapEXT support (due to no FBO support) -- * - No damage tracking between binds - * - No support for anything but 16bpp and 32bpp-sparse pixmaps - */ - -@@ -335,38 +328,97 @@ - int buffer, - __GLXpixmap *glxPixmap) - { -+ RegionPtr pRegion; - PixmapPtr pixmap; - int bpp; -- Bool npot; -+ GLenum target, format, type; - - pixmap = (PixmapPtr) glxPixmap->pDraw; -- bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */ -- -+ if (!glxPixmap->pDamage) { -+ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, -+ TRUE, glxPixmap->pScreen, NULL); -+ if (!glxPixmap->pDamage) -+ return BadAlloc; -+ -+ DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage); -+ pRegion = NULL; -+ } else { -+ pRegion = DamageRegion(glxPixmap->pDamage); -+ if (REGION_NIL(pRegion)) -+ return Success; -+ } -+ -+ /* XXX 24bpp packed, 8, etc */ -+ if (pixmap->drawable.depth >= 24) { -+ bpp = 4; -+ format = GL_BGRA; -+ type = GL_UNSIGNED_BYTE; -+ } else { -+ bpp = 2; -+ format = GL_RGB; -+ type = GL_UNSIGNED_SHORT_5_6_5; -+ } -+ -+ target = GL_TEXTURE_RECTANGLE_ARB; -+ - CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, -- pixmap->devKind / bpp) ); -- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, -- pixmap->drawable.y) ); -- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, -- pixmap->drawable.x) ); -- -- if (pixmap->drawable.depth == 24) -- glxFillAlphaChannel(pixmap); -- -- npot = !(glxCountBits(pixmap->drawable.width) == 1 && -- glxCountBits(pixmap->drawable.height) == 1) /* || -- strstr(CALL_GetString(GL_EXTENSIONS, -- "GL_ARB_texture_non_power_of_two")) */ ; -- -- CALL_TexImage2D( GET_DISPATCH(), -- ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D, -- 0, -- bpp == 4 ? 4 : 3, -- pixmap->drawable.width, -- pixmap->drawable.height, -- 0, -- bpp == 4 ? GL_BGRA : GL_RGB, -- bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5, -- pixmap->devPrivate.ptr ) ); -+ pixmap->devKind / bpp) ); -+ if (pRegion == NULL) -+ { -+ if (pixmap->drawable.depth == 24) -+ glxFillAlphaChannel(pixmap, -+ pixmap->drawable.x, -+ pixmap->drawable.y, -+ pixmap->drawable.width, -+ pixmap->drawable.height); -+ -+ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, -+ pixmap->drawable.x) ); -+ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, -+ pixmap->drawable.y) ); -+ -+ CALL_TexImage2D( GET_DISPATCH(), -+ (target, -+ 0, -+ bpp == 4 ? 4 : 3, -+ pixmap->drawable.width, -+ pixmap->drawable.height, -+ 0, -+ format, -+ type, -+ pixmap->devPrivate.ptr) ); -+ } else { -+ int i, numRects; -+ BoxPtr p; -+ -+ numRects = REGION_NUM_RECTS (pRegion); -+ p = REGION_RECTS (pRegion); -+ for (i = 0; i < numRects; i++) -+ { -+ if (pixmap->drawable.depth == 24) -+ glxFillAlphaChannel(pixmap, -+ pixmap->drawable.x + p[i].x1, -+ pixmap->drawable.y + p[i].y1, -+ p[i].x2 - p[i].x1, -+ p[i].y2 - p[i].y1); -+ -+ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, -+ pixmap->drawable.x + p[i].x1) ); -+ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, -+ pixmap->drawable.y + p[i].y1) ); -+ -+ CALL_TexSubImage2D( GET_DISPATCH(), -+ (target, -+ 0, -+ p[i].x1, p[i].y1, -+ p[i].x2 - p[i].x1, p[i].y2 - p[i].y1, -+ format, -+ type, -+ pixmap->devPrivate.ptr) ); -+ } -+ } -+ -+ DamageEmpty(glxPixmap->pDamage); - - return Success; - } ---- ./GL/glx/glxext.c.tfp-damage 2006-03-16 20:47:25.000000000 -0500 -+++ ./GL/glx/glxext.c 2006-06-20 20:33:53.000000000 -0400 -@@ -141,6 +141,10 @@ - - pGlxPixmap->idExists = False; - if (!pGlxPixmap->refcnt) { -+ if (pGlxPixmap->pDamage) { -+ DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage); -+ DamageDestroy(pGlxPixmap->pDamage); -+ } - /* - ** The DestroyPixmap routine should decrement the refcount and free - ** only if it's zero. diff --git a/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch b/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch deleted file mode 100644 index 2b62dad..0000000 --- a/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch +++ /dev/null @@ -1,361 +0,0 @@ ---- ./GL/glx/glxdrawable.h.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 -+++ ./GL/glx/glxdrawable.h 2006-07-06 21:56:33.000000000 -0400 -@@ -58,6 +58,8 @@ - void (*destroy)(__GLXdrawable *private); - GLboolean (*resize)(__GLXdrawable *private); - GLboolean (*swapBuffers)(__GLXdrawable *); -+ void (*copySubBuffer)(__GLXdrawable *drawable, -+ int x, int y, int w, int h); - - /* - ** list of drawable private structs ---- ./GL/glx/glxcmds.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 -+++ ./GL/glx/glxcmds.c 2006-07-06 22:30:01.000000000 -0400 -@@ -1331,21 +1331,14 @@ - - /*****************************************************************************/ - --/* --** NOTE: There is no portable implementation for swap buffers as of --** this time that is of value. Consequently, this code must be --** implemented by somebody other than SGI. --*/ --int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) -+static __GLXdrawable * -+SyncContextGetDrawable (__GLXclientState *cl, GLXContextTag tag, -+ XID drawId, int *status) - { - ClientPtr client = cl->client; - DrawablePtr pDraw; -- xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; -- GLXContextTag tag = req->contextTag; -- XID drawId = req->drawable; - __GLXpixmap *pGlxPixmap; - __GLXcontext *glxc = NULL; -- int error; - - /* - ** Check that the GLX drawable is valid. -@@ -1361,11 +1354,11 @@ - ** Drawable is an X pixmap, which is not allowed. - */ - client->errorValue = drawId; -- return __glXBadDrawable; -+ *status = __glXBadDrawable; -+ return NULL; - } - } else { -- pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId, -- __glXPixmapRes); -+ pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId, __glXPixmapRes); - if (pGlxPixmap) { - /* - ** Drawable is a GLX pixmap. -@@ -1375,21 +1368,23 @@ - ** Drawable is neither a X window nor a GLX pixmap. - */ - client->errorValue = drawId; -- return __glXBadDrawable; -+ *status = __glXBadDrawable; -+ return NULL; - } - } - - if (tag) { - glxc = __glXLookupContextByTag(cl, tag); - if (!glxc) { -- return __glXBadContextTag; -+ *status = __glXBadContextTag; -+ return NULL; - } - /* - ** The calling thread is swapping its current drawable. In this case, - ** glxSwapBuffers is in both GL and X streams, in terms of - ** sequentiality. - */ -- if (__glXForceCurrent(cl, tag, &error)) { -+ if (__glXForceCurrent(cl, tag, status)) { - /* - ** Do whatever is needed to make sure that all preceding requests - ** in both streams are completed before the swap is executed. -@@ -1397,33 +1392,53 @@ - CALL_Finish( GET_DISPATCH(), () ); - __GLX_NOTE_FLUSHED_CMDS(glxc); - } else { -- return error; -+ return NULL; - } - } - -+ *status = Success; - if (pDraw) { -- __GLXdrawable *glxPriv; -+ __GLXdrawable *glxPriv; - - if (glxc) { - glxPriv = __glXGetDrawable(glxc, pDraw, drawId); - if (glxPriv == NULL) { -- return __glXBadDrawable; -+ *status = __glXBadDrawable; -+ return NULL; - } - } - else { - glxPriv = __glXFindDrawable(drawId); - if (glxPriv == NULL) { - /* This is a window we've never seen before, do nothing */ -- return Success; -+ return NULL; - } - } - -- if ((*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) { -- return __glXBadDrawable; -- } -+ return glxPriv; - } - -- return Success; -+ return NULL; -+} -+ -+/* -+** NOTE: There is no portable implementation for swap buffers as of -+** this time that is of value. Consequently, this code must be -+** implemented by somebody other than SGI. -+*/ -+int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) -+{ -+ xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; -+ GLXContextTag tag = req->contextTag; -+ __GLXdrawable *glxPriv; -+ int status; -+ -+ glxPriv = SyncContextGetDrawable (cl, tag, req->drawable, &status); -+ if (glxPriv && (*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) { -+ return __glXBadDrawable; -+ } -+ -+ return status; - } - - -@@ -1544,6 +1559,30 @@ - pGlxPixmap); - } - -+int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) -+{ -+ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; -+ GLXContextTag tag = req->contextTag; -+ __GLXdrawable *glxPriv; -+ GLXDrawable drawId; -+ int x, y, width, height; -+ int status; -+ -+ pc += __GLX_VENDPRIV_HDR_SIZE; -+ -+ drawId = *((CARD32 *) (pc)); -+ x = *((INT32 *) (pc + 4)); -+ y = *((INT32 *) (pc + 8)); -+ width = *((INT32 *) (pc + 12)); -+ height = *((INT32 *) (pc + 16)); -+ -+ glxPriv = SyncContextGetDrawable (cl, tag, drawId, &status); -+ if (glxPriv) -+ (*glxPriv->copySubBuffer)(glxPriv, x, y, width, height); -+ -+ return status; -+} -+ - /* - ** Get drawable attributes - */ -@@ -2173,7 +2212,9 @@ - case X_GLXvop_BindTexImageEXT: - return __glXBindTexImageEXT(cl, pc); - case X_GLXvop_ReleaseTexImageEXT: -- return __glXReleaseTexImageEXT(cl, pc); -+ return __glXReleaseTexImageEXT(cl, pc); -+ case X_GLXvop_CopySubBufferMESA: -+ return __glXCopySubBufferMESA(cl, pc); - } - #endif - ---- ./GL/glx/glxdri.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 -+++ ./GL/glx/glxdri.c 2006-07-06 21:59:38.000000000 -0400 -@@ -112,12 +112,28 @@ - * months ago. :( - * 20050727 - Gut all the old interfaces. This breaks compatability with - * any DRI driver built to any previous version. -+ * 20060314 - Added support for GLX_MESA_copy_sub_buffer. - */ -+ - #define INTERNAL_VERSION 20050727 - - static const char CREATE_NEW_SCREEN_FUNC[] = - "__driCreateNewScreen_" STRINGIFY (INTERNAL_VERSION); - -+/* The DRI driver entry point version wasn't bumped when the -+ * copySubBuffer functionality was added to the DRI drivers, but the -+ * functionality is still conditional on the value of the -+ * internal_api_version passed to __driCreateNewScreen. However, the -+ * screen constructor doesn't fail for a DRI driver that's older than -+ * the passed in version number, so there's no way we can know for -+ * sure that we can actually use the copySubBuffer functionality. But -+ * since the earliest (and at this point only) released mesa version -+ * (6.5) that uses the 20050727 entry point does have copySubBuffer, -+ * we'll just settle for that. We still have to pass in a higher to -+ * the screen constructor to enable the functionality. -+ */ -+#define COPY_SUB_BUFFER_INTERNAL_VERSION 20060314 -+ - static void - __glXDRIleaveServer(void) - { -@@ -177,6 +193,27 @@ - return TRUE; - } - -+static void -+__glXDRIdrawableCopySubBuffer(__GLXdrawable *basePrivate, -+ int x, int y, int w, int h) -+{ -+ __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate; -+ __GLXDRIscreen *screen; -+ -+ /* FIXME: We're jumping through hoops here to get the DRIdrawable -+ * which the dri driver tries to keep to it self... cf. FIXME in -+ * createDrawable. */ -+ -+ screen = (__GLXDRIscreen *) __glXgetActiveScreen(private->base.pDraw->pScreen->myNum); -+ private->driDrawable = (screen->driScreen.getDrawable)(NULL, -+ private->base.drawId, -+ screen->driScreen.private); -+ -+ (*private->driDrawable->copySubBuffer)(NULL, -+ private->driDrawable->private, -+ x, y, w, h); -+} -+ - static __GLXdrawable * - __glXDRIcontextCreateDrawable(__GLXcontext *context, - DrawablePtr pDraw, -@@ -195,10 +232,11 @@ - return NULL; - } - -- private->base.destroy = __glXDRIdrawableDestroy; -- private->base.resize = __glXDRIdrawableResize; -- private->base.swapBuffers = __glXDRIdrawableSwapBuffers; -- -+ private->base.destroy = __glXDRIdrawableDestroy; -+ private->base.resize = __glXDRIdrawableResize; -+ private->base.swapBuffers = __glXDRIdrawableSwapBuffers; -+ private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer; -+ - #if 0 - /* FIXME: It would only be natural that we called - * driScreen->createNewDrawable here but the DRI drivers manage -@@ -218,7 +256,6 @@ - return &private->base; - } - -- - static void - __glXDRIcontextDestroy(__GLXcontext *baseContext) - { -@@ -770,7 +807,7 @@ - __DRIframebuffer framebuffer; - int fd = -1; - int status; -- int api_ver = INTERNAL_VERSION; -+ int api_ver = COPY_SUB_BUFFER_INTERNAL_VERSION; - drm_magic_t magic; - drmVersionPtr version; - char *driverName; ---- ./GL/glx/g_disptab.h.mesa-copy-sub-buffer 2006-03-11 19:11:33.000000000 -0500 -+++ ./GL/glx/g_disptab.h 2006-07-06 21:56:33.000000000 -0400 -@@ -48,6 +48,7 @@ - extern int __glXSwapBuffers(__GLXclientState*, GLbyte*); - extern int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc); - extern int __glXReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); -+extern int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc); - extern int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc); - extern int __glXUseXFont(__GLXclientState*, GLbyte*); - extern int __glXCreateGLXPixmap(__GLXclientState*, GLbyte*); -@@ -76,6 +77,7 @@ - extern int __glXSwapSwapBuffers(__GLXclientState*, GLbyte*); - extern int __glXSwapBindTexImageEXT(__GLXclientState *cl, GLbyte *pc); - extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); -+extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); - extern int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc); - extern int __glXSwapUseXFont(__GLXclientState*, GLbyte*); - extern int __glXSwapCreateGLXPixmap(__GLXclientState*, GLbyte*); -@@ -105,4 +107,11 @@ - extern __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE]; - extern __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE]; - extern __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE]; -+ -+/* Copied from mesa src/glx/x11/glxcmds.c -+ * -+ * Apparently there's no standardized opcode for this extension. -+ */ -+#define X_GLXvop_CopySubBufferMESA 5154 /* temporary */ -+ - #endif /* _GLX_g_disptab_h_ */ ---- ./GL/glx/glxscreens.c.mesa-copy-sub-buffer 2006-03-20 15:10:29.000000000 -0500 -+++ ./GL/glx/glxscreens.c 2006-07-06 21:56:33.000000000 -0400 -@@ -139,6 +139,7 @@ - "GLX_SGIX_swap_barrier " - #endif - "GLX_SGIX_fbconfig " -+ "GLX_MESA_copy_sub_buffer " - ; - - __GLXscreen **__glXActiveScreens; ---- ./GL/glx/glxcmdsswap.c.mesa-copy-sub-buffer 2006-04-02 22:09:15.000000000 -0400 -+++ ./GL/glx/glxcmdsswap.c 2006-07-06 21:56:33.000000000 -0400 -@@ -432,6 +432,31 @@ - return __glXReleaseTexImageEXT(cl, (GLbyte *)pc); - } - -+int __glXSwapCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) -+{ -+ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; -+ GLXDrawable *drawId; -+ int *buffer; -+ -+ (void) drawId; -+ (void) buffer; -+ -+ __GLX_DECLARE_SWAP_VARIABLES; -+ -+ pc += __GLX_VENDPRIV_HDR_SIZE; -+ -+ __GLX_SWAP_SHORT(&req->length); -+ __GLX_SWAP_INT(&req->contextTag); -+ __GLX_SWAP_INT(pc); -+ __GLX_SWAP_INT(pc + 4); -+ __GLX_SWAP_INT(pc + 8); -+ __GLX_SWAP_INT(pc + 12); -+ __GLX_SWAP_INT(pc + 16); -+ -+ return __glXCopySubBufferMESA(cl, pc); -+ -+} -+ - int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc) - { - xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc; -@@ -899,7 +924,9 @@ - case X_GLXvop_BindTexImageEXT: - return __glXSwapBindTexImageEXT(cl, pc); - case X_GLXvop_ReleaseTexImageEXT: -- return __glXSwapReleaseTexImageEXT(cl, pc); -+ return __glXSwapReleaseTexImageEXT(cl, pc); -+ case X_GLXvop_CopySubBufferMESA: -+ return __glXSwapCopySubBufferMESA(cl, pc); - } - #endif - diff --git a/x11-base/xorg-server/files/05-offscreen-pixmaps.patch b/x11-base/xorg-server/files/05-offscreen-pixmaps.patch deleted file mode 100644 index 3841b04..0000000 --- a/x11-base/xorg-server/files/05-offscreen-pixmaps.patch +++ /dev/null @@ -1,55 +0,0 @@ ---- ./hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-07-05 14:31:42.000000000 -0400 -+++ ./hw/xfree86/xaa/xaaInit.c 2006-08-30 16:47:29.000000000 -0400 -@@ -98,6 +98,30 @@ - xfree(infoRec); - } - -+void -+XAAEvictPixmaps(void) -+{ -+ XAAScreenPtr pScreenPriv; -+ XAAInfoRecPtr infoRec; -+ ScreenPtr pScreen; -+ int i; -+ -+ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n"); -+ -+ for (i = 0; i < screenInfo.numScreens; i++) { -+ pScreen = screenInfo.screens[i]; -+ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); -+ -+ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr; -+ infoRec = pScreenPriv->AccelInfoRec; -+ -+ infoRec->offscreenDepths = 0; -+ infoRec->Flags &= ~OFFSCREEN_PIXMAPS; -+ -+ XAAMoveOutOffscreenPixmaps(pScreen); -+ XAAInvalidatePixmapCache(pScreen); -+ } -+} - - Bool - XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec) ---- ./GL/glx/glxdri.c.offscreen-pixmaps 2006-08-30 16:46:45.000000000 -0400 -+++ ./GL/glx/glxdri.c 2006-08-30 16:45:52.000000000 -0400 -@@ -367,6 +367,19 @@ - int bpp; - GLenum target, format, type; - -+ /* When the GLX_EXT_texture_from_pixmap is used, as it's -+ * implemented here, we want to pull pixmap out of video memory -+ * and into host memory. */ -+ { -+ extern void XAAEvictPixmaps(void); -+ static int evictedPixmaps; -+ -+ if (!evictedPixmaps) { -+ XAAEvictPixmaps(); -+ evictedPixmaps = TRUE; -+ } -+ } -+ - pixmap = (PixmapPtr) glxPixmap->pDraw; - if (!glxPixmap->pDamage) { - glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, diff --git a/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch b/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch deleted file mode 100644 index 314f1f0..0000000 --- a/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch +++ /dev/null @@ -1,241 +0,0 @@ -diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c -index cfa9996..77fa4bf 100644 ---- a/GL/glx/glxdri.c -+++ b/GL/glx/glxdri.c -@@ -63,27 +63,30 @@ #include "dispatch.h" - #define STRINGIFY(macro_or_string) STRINGIFY_ARG (macro_or_string) - #define STRINGIFY_ARG(contents) #contents - --typedef struct __GLXDRIscreen __GLXDRIscreen; --typedef struct __GLXDRIcontext __GLXDRIcontext; -+typedef struct __GLXDRIscreen __GLXDRIscreen; -+typedef struct __GLXDRIcontext __GLXDRIcontext; - typedef struct __GLXDRIdrawable __GLXDRIdrawable; - - struct __GLXDRIscreen { -- __GLXscreen base; -+ __GLXscreen base; - -- __DRIscreen driScreen; -- void *driver; -+ xf86EnterVTProc *enterVT; -+ xf86LeaveVTProc *leaveVT; -+ -+ __DRIscreen driScreen; -+ void *driver; - }; - - struct __GLXDRIcontext { -- __GLXcontext base; -+ __GLXcontext base; - -- __DRIcontext driContext; -+ __DRIcontext driContext; - }; - - struct __GLXDRIdrawable { -- __GLXdrawable base; -+ __GLXdrawable base; - -- __DRIdrawable *driDrawable; -+ __DRIdrawable *driDrawable; - }; - - /* History: -@@ -594,8 +597,7 @@ static __DRIfuncPtr getProcAddress(const - - static __DRIscreen *findScreen(__DRInativeDisplay *dpy, int scrn) - { -- __GLXDRIscreen *screen = -- (__GLXDRIscreen *) __glXgetActiveScreen(scrn); -+ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(scrn); - - return &screen->driScreen; - } -@@ -789,6 +791,30 @@ static const __DRIinterfaceMethods inter - - static const char dri_driver_path[] = DRI_DRIVER_PATH; - -+static Bool -+glxDRIEnterVT (int index, int flags) -+{ -+ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index); -+ -+ LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n"); -+ -+ glxResumeClients(); -+ -+ return (*screen->enterVT) (index, flags); -+} -+ -+static void -+glxDRILeaveVT (int index, int flags) -+{ -+ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index); -+ -+ LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n"); -+ -+ glxSuspendClients(); -+ -+ return (*screen->leaveVT) (index, flags); -+} -+ - static __GLXscreen * - __glXDRIscreenProbe(ScreenPtr pScreen) - { -@@ -813,6 +839,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - void *dev_priv = NULL; - char filename[128]; - Bool isCapable; -+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; - - if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) { - LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n"); -@@ -983,6 +1010,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) - - __glXsetEnterLeaveServerFuncs(__glXDRIenterServer, __glXDRIleaveServer); - -+ screen->enterVT = pScrn->EnterVT; -+ pScrn->EnterVT = glxDRIEnterVT; -+ screen->leaveVT = pScrn->LeaveVT; -+ pScrn->LeaveVT = glxDRILeaveVT; -+ - LogMessage(X_INFO, - "AIGLX: Loaded and initialized %s\n", filename); - -diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c -index 8bbb83f..edc257c 100644 ---- a/GL/glx/glxext.c -+++ b/GL/glx/glxext.c -@@ -234,13 +231,11 @@ GLboolean __glXFreeContext(__GLXcontext - * __glXDispatch() or as a callback from the resource manager. In - * the latter case we need to lift the DRI lock manually. */ - -- if (!inDispatch) -- __glXleaveServer(); -+ __glXleaveServer(); - - cx->destroy(cx); - -- if (!inDispatch) -- __glXenterServer(); -+ __glXenterServer(); - - return GL_TRUE; - } -@@ -336,7 +331,7 @@ void GlxExtensionInit(void) - /* - ** Initialize table of client state. There is never a client 0. - */ -- for (i=1; i <= MAXCLIENTS; i++) { -+ for (i = 1; i <= MAXCLIENTS; i++) { - __glXClients[i] = 0; - } - -@@ -407,11 +402,36 @@ __GLXcontext *__glXForceCurrent(__GLXcli - - /************************************************************************/ - --/* --** Top level dispatcher; all commands are executed from here down. --*/ -+static int glxServerLeaveCount; -+static int glxBlockClients; - --/* I cried when I wrote this. Damn you XAA! */ -+void glxSuspendClients(void) -+{ -+ int i; -+ -+ for (i = 1; i <= MAXCLIENTS; i++) { -+ if (__glXClients[i] == NULL || !__glXClients[i]->inUse) -+ continue; -+ -+ IgnoreClient(__glXClients[i]->client); -+ } -+ -+ glxBlockClients = TRUE; -+} -+ -+void glxResumeClients(void) -+{ -+ int i; -+ -+ glxBlockClients = FALSE; -+ -+ for (i = 1; i <= MAXCLIENTS; i++) { -+ if (__glXClients[i] == NULL || !__glXClients[i]->inUse) -+ continue; -+ -+ AttendClient(__glXClients[i]->client); -+ } -+} - - static void - __glXnopEnterServer(void) -@@ -436,14 +456,19 @@ void __glXsetEnterLeaveServerFuncs(void - - void __glXenterServer(void) - { -- (*__glXenterServerFunc)(); -+ glxServerLeaveCount--; -+ -+ if (glxServerLeaveCount == 0) -+ (*__glXenterServerFunc)(); - } - - void __glXleaveServer(void) - { -- (*__glXleaveServerFunc)(); --} -+ if (glxServerLeaveCount == 0) -+ (*__glXleaveServerFunc)(); - -+ glxServerLeaveCount++; -+} - - /* - ** Top level dispatcher; all commands are executed from here down. -@@ -496,6 +521,15 @@ static int __glXDispatch(ClientPtr clien - return __glXError(GLXBadLargeRequest); - } - -+ /* If we're currently blocking GLX clients, just put this guy to -+ * sleep, reset the request and return. */ -+ if (glxBlockClients) { -+ ResetCurrentRequest(client); -+ client->sequence--; -+ IgnoreClient(client); -+ return(client->noClientException); -+ } -+ - /* - ** Use the opcode to index into the procedure table. - */ -@@ -506,12 +540,8 @@ static int __glXDispatch(ClientPtr clien - - __glXleaveServer(); - -- inDispatch = True; -- - retval = proc(cl, (GLbyte *) stuff); - -- inDispatch = False; -- - __glXenterServer(); - - return retval; -diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h -index 8ece1e2..9eed1bc 100644 ---- a/GL/glx/glxserver.h -+++ b/GL/glx/glxserver.h -@@ -136,6 +136,9 @@ void __glXsetEnterLeaveServerFuncs(void - void __glXenterServer(void); - void __glXleaveServer(void); - -+void glxSuspendClients(void); -+void glxResumeClients(void); -+ - /* - ** State kept per client. - */ diff --git a/x11-base/xorg-server/files/1.1.1-dbe-render.diff b/x11-base/xorg-server/files/1.1.1-dbe-render.diff deleted file mode 100644 index d2f27e5..0000000 --- a/x11-base/xorg-server/files/1.1.1-dbe-render.diff +++ /dev/null @@ -1,183 +0,0 @@ -diff --git a/dbe/dbe.c b/dbe/dbe.c -index 5b43dd1..6a2ed6a 100644 ---- a/dbe/dbe.c -+++ b/dbe/dbe.c -@@ -39,6 +39,11 @@ - #endif - - #include <string.h> -+#if HAVE_STDINT_T -+#include <stdint.h> -+#elif !defined(UINT32_MAX) -+#define UINT32_MAX 0xffffffffU -+#endif - - #include <X11/X.h> - #include <X11/Xproto.h> -@@ -713,11 +718,14 @@ ProcDbeSwapBuffers(ClientPtr client) - return(Success); - } - -+ if (nStuff > UINT32_MAX / sizeof(DbeSwapInfoRec)) -+ return BadAlloc; -+ - /* Get to the swap info appended to the end of the request. */ - dbeSwapInfo = (xDbeSwapInfo *)&stuff[1]; - - /* Allocate array to record swap information. */ -- swapInfo = (DbeSwapInfoPtr)ALLOCATE_LOCAL(nStuff * sizeof(DbeSwapInfoRec)); -+ swapInfo = (DbeSwapInfoPtr)Xalloc(nStuff * sizeof(DbeSwapInfoRec)); - if (swapInfo == NULL) - { - return(BadAlloc); -@@ -732,14 +740,14 @@ ProcDbeSwapBuffers(ClientPtr client) - if (!(pWin = SecurityLookupWindow(dbeSwapInfo[i].window, client, - SecurityWriteAccess))) - { -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(BadWindow); - } - - /* Each window must be double-buffered - BadMatch. */ - if (DBE_WINDOW_PRIV(pWin) == NULL) - { -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(BadMatch); - } - -@@ -748,7 +756,7 @@ ProcDbeSwapBuffers(ClientPtr client) - { - if (dbeSwapInfo[i].window == dbeSwapInfo[j].window) - { -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(BadMatch); - } - } -@@ -759,7 +767,7 @@ ProcDbeSwapBuffers(ClientPtr client) - (dbeSwapInfo[i].swapAction != XdbeUntouched ) && - (dbeSwapInfo[i].swapAction != XdbeCopied )) - { -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(BadValue); - } - -@@ -789,12 +797,12 @@ ProcDbeSwapBuffers(ClientPtr client) - error = (*pDbeScreenPriv->SwapBuffers)(client, &nStuff, swapInfo); - if (error != Success) - { -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(error); - } - } - -- DEALLOCATE_LOCAL(swapInfo); -+ Xfree(swapInfo); - return(Success); - - } /* ProcDbeSwapBuffers() */ -@@ -876,10 +884,12 @@ ProcDbeGetVisualInfo(ClientPtr client) - - REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq); - -+ if (stuff->n > UINT32_MAX / sizeof(DrawablePtr)) -+ return BadAlloc; - /* Make sure any specified drawables are valid. */ - if (stuff->n != 0) - { -- if (!(pDrawables = (DrawablePtr *)ALLOCATE_LOCAL(stuff->n * -+ if (!(pDrawables = (DrawablePtr *)Xalloc(stuff->n * - sizeof(DrawablePtr)))) - { - return(BadAlloc); -@@ -892,7 +902,7 @@ ProcDbeGetVisualInfo(ClientPtr client) - if (!(pDrawables[i] = (DrawablePtr)SecurityLookupDrawable( - drawables[i], client, SecurityReadAccess))) - { -- DEALLOCATE_LOCAL(pDrawables); -+ Xfree(pDrawables); - return(BadDrawable); - } - } -@@ -904,7 +914,7 @@ ProcDbeGetVisualInfo(ClientPtr client) - { - if (pDrawables) - { -- DEALLOCATE_LOCAL(pDrawables); -+ Xfree(pDrawables); - } - - return(BadAlloc); -@@ -931,7 +941,7 @@ ProcDbeGetVisualInfo(ClientPtr client) - /* Free pDrawables if we needed to allocate it above. */ - if (pDrawables) - { -- DEALLOCATE_LOCAL(pDrawables); -+ Xfree(pDrawables); - } - - return(BadAlloc); -@@ -1012,7 +1022,7 @@ ProcDbeGetVisualInfo(ClientPtr client) - - if (pDrawables) - { -- DEALLOCATE_LOCAL(pDrawables); -+ Xfree(pDrawables); - } - - return(client->noClientException); -diff --git a/render/render.c b/render/render.c -index e4d8d6b..55f360a 100644 ---- a/render/render.c -+++ b/render/render.c -@@ -47,6 +47,12 @@ - #include <X11/Xfuncproto.h> - #include "cursorstr.h" - -+#if HAVE_STDINT_H -+#include <stdint.h> -+#elif !defined(UINT32_MAX) -+#define UINT32_MAX 0xffffffffU -+#endif -+ - static int ProcRenderQueryVersion (ClientPtr pClient); - static int ProcRenderQueryPictFormats (ClientPtr pClient); - static int ProcRenderQueryPictIndexValues (ClientPtr pClient); -@@ -1103,11 +1109,14 @@ ProcRenderAddGlyphs (ClientPtr client) - } - - nglyphs = stuff->nglyphs; -+ if (nglyphs > UINT32_MAX / sizeof(GlyphNewRec)) -+ return BadAlloc; -+ - if (nglyphs <= NLOCALGLYPH) - glyphsBase = glyphsLocal; - else - { -- glyphsBase = (GlyphNewPtr) ALLOCATE_LOCAL (nglyphs * sizeof (GlyphNewRec)); -+ glyphsBase = (GlyphNewPtr) Xalloc (nglyphs * sizeof (GlyphNewRec)); - if (!glyphsBase) - return BadAlloc; - } -@@ -1164,7 +1173,7 @@ ProcRenderAddGlyphs (ClientPtr client) - } - - if (glyphsBase != glyphsLocal) -- DEALLOCATE_LOCAL (glyphsBase); -+ Xfree (glyphsBase); - return client->noClientException; - bail: - while (glyphs != glyphsBase) -@@ -1173,7 +1182,7 @@ bail: - xfree (glyphs->glyph); - } - if (glyphsBase != glyphsLocal) -- DEALLOCATE_LOCAL (glyphsBase); -+ Xfree (glyphsBase); - return err; - } - diff --git a/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch b/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch deleted file mode 100644 index fc9bd8d..0000000 --- a/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch +++ /dev/null @@ -1,186 +0,0 @@ -diff --git a/dix/Makefile.am b/dix/Makefile.am -index c9a19f7..414f125 100644 ---- a/dix/Makefile.am -+++ b/dix/Makefile.am -@@ -29,7 +29,8 @@ libdix_la_SOURCES = \ - swaprep.c \ - swapreq.c \ - tables.c \ -- window.c -+ window.c \ -+ strcasecmp.c - - libxpstubs_la_SOURCES = \ - xpstubs.c -diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am -index d1b806a..9023a0c 100644 ---- a/hw/xfree86/dixmods/Makefile.am -+++ b/hw/xfree86/dixmods/Makefile.am -@@ -95,6 +95,7 @@ libtype1_la_SOURCES = type1mod.c - libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c - - libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c -+libxorgxkb_la_LIBADD = $(top_builddir)/dix/libdix.la - - libxtrap_la_LDFLAGS = -avoid-version - libxtrap_la_LIBADD = $(top_builddir)/XTrap/libxtrap.la -diff --git a/hw/xfree86/dixmods/xkbPrivate.c b/hw/xfree86/dixmods/xkbPrivate.c -index 0479bca..b986432 100644 ---- a/hw/xfree86/dixmods/xkbPrivate.c -+++ b/hw/xfree86/dixmods/xkbPrivate.c -@@ -26,13 +26,13 @@ XkbDDXPrivate(DeviceIntPtr dev,KeyCode k - if (xf86act->type == XkbSA_XFree86Private) { - memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize); - msgbuf[XkbAnyActionDataSize]= '\0'; -- if (strcmp(msgbuf, "-vmode")==0) -+ if (strcasecmp(msgbuf, "-vmode")==0) - xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); -- else if (strcmp(msgbuf, "+vmode")==0) -+ else if (strcasecmp(msgbuf, "+vmode")==0) - xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); -- else if (strcmp(msgbuf, "ungrab")==0) -+ else if (strcasecmp(msgbuf, "ungrab")==0) - xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL); -- else if (strcmp(msgbuf, "clsgrb")==0) -+ else if (strcasecmp(msgbuf, "clsgrb")==0) - xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL); - else - xf86ProcessActionEvent(ACTION_MESSAGE, (void *) msgbuf); -diff --git a/include/dix.h b/include/dix.h -index 0177721..84fc849 100644 ---- a/include/dix.h -+++ b/include/dix.h -@@ -820,4 +820,10 @@ typedef struct { - SelectionCallbackKind kind; - } SelectionInfoRec; - -+/* strcasecmp.c */ -+#if NEED_STRCASECMP -+#define strcasecmp xstrcasecmp -+extern int xstrcasecmp(char *s1, char *s2); -+#endif -+ - #endif /* DIX_H */ -diff --git a/xkb/maprules.c b/xkb/maprules.c -index d4e9829..eff02ad 100644 ---- a/xkb/maprules.c -+++ b/xkb/maprules.c -@@ -62,12 +62,6 @@ #define PR_DEBUG1(s,a) - #define PR_DEBUG2(s,a,b) - #endif - --#ifdef NEED_STRCASECMP --extern int _XkbStrCaseCmp(char *s1, char *s2); --#else --#define _XkbStrCaseCmp strcasecmp --#endif -- - /***====================================================================***/ - - #define DFLT_LINE_SIZE 128 -@@ -1092,20 +1086,20 @@ int len,headingtype,extra_ndx = 0; - for ( ; GetInputLine(file,&line,False); line.num_line= 0) { - if (line.line[0]=='!') { - tok = strtok(&(line.line[1]), " \t"); -- if (_XkbStrCaseCmp(tolower(tok),"model") == 0) -+ if (strcasecmp(tok,"model") == 0) - headingtype = HEAD_MODEL; -- else if (_XkbStrCaseCmp(tok,"layout") == 0) -+ else if (strcasecmp(tok,"layout") == 0) - headingtype = HEAD_LAYOUT; -- else if (_XkbStrCaseCmp(tok,"variant") == 0) -+ else if (strcasecmp(tok,"variant") == 0) - headingtype = HEAD_VARIANT; -- else if (_XkbStrCaseCmp(tok,"option") == 0) -+ else if (strcasecmp(tok,"option") == 0) - headingtype = HEAD_OPTION; - else { - int i; - headingtype = HEAD_EXTRA; - extra_ndx= -1; - for (i=0;(i<rules->num_extra)&&(extra_ndx<0);i++) { -- if (!_XkbStrCaseCmp(tok,rules->extra_names[i])) -+ if (!strcasecmp(tok,rules->extra_names[i])) - extra_ndx= i; - } - if (extra_ndx<0) { -diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c -index 3389ba8..3ed68c2 100644 ---- a/xkb/xkbfmisc.c -+++ b/xkb/xkbfmisc.c -@@ -247,19 +247,3 @@ XkbNameMatchesPattern(char *name,char *p - /* if we get here, the pattern is exhausted (-:just like me:-) */ - return (name[0]=='\0'); - } -- --#ifdef NEED_STRCASECMP --_X_HIDDEN int --_XkbStrCaseCmp(char *str1,char *str2) --{ -- const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2; -- -- while (tolower(*us1) == tolower(*us2)) { -- if (*us1++ == '\0') -- return (0); -- us2++; -- } -- -- return (tolower(*us1) - tolower(*us2)); --} --#endif -diff --git a/dix/strcasecmp.c b/dix/strcasecmp.c -new file mode 100644 -index 0000000..bf3f008 ---- /dev/null -+++ b/dix/strcasecmp.c -@@ -0,0 +1,50 @@ -+/* $Xorg: xkbmisc.c,v 1.4 2000/08/17 19:46:44 cpqbld Exp $ */ -+/************************************************************ -+ Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. -+ -+ Permission to use, copy, modify, and distribute this -+ software and its documentation for any purpose and without -+ fee is hereby granted, provided that the above copyright -+ notice appear in all copies and that both that copyright -+ notice and this permission notice appear in supporting -+ documentation, and that the name of Silicon Graphics not be -+ used in advertising or publicity pertaining to distribution -+ of the software without specific prior written permission. -+ Silicon Graphics makes no representation about the suitability -+ of this software for any purpose. It is provided "as is" -+ without any express or implied warranty. -+ -+ SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS -+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -+ AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON -+ GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL -+ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, -+ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE -+ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH -+ THE USE OR PERFORMANCE OF THIS SOFTWARE. -+ -+ ********************************************************/ -+/* $XFree86: xc/lib/xkbfile/xkbmisc.c,v 1.7 2003/07/16 02:31:10 dawes Exp $ */ -+ -+#ifdef HAVE_DIX_CONFIG_H -+#include <dix-config.h> -+#endif -+ -+#include <ctype.h> -+#include "dix.h" -+ -+#ifdef NEED_STRCASECMP -+int -+xstrcasecmp(char *str1,char *str2) -+{ -+ const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2; -+ -+ while (tolower(*us1) == tolower(*us2)) { -+ if (*us1++ == '\0') -+ return (0); -+ us2++; -+ } -+ -+ return (tolower(*us1) - tolower(*us2)); -+} -+#endif diff --git a/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch b/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch deleted file mode 100644 index 407617f..0000000 --- a/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch +++ /dev/null @@ -1,21 +0,0 @@ -commit 0567a6337b84fa045b5732e98203f488274aa2a2 -Author: Bram Verweij <amverweij@gmail.com> -Date: Wed Nov 8 18:00:52 2006 +0200 - - xfree86/linux acpi: fix tokenising - Split on a space, rather on the 'video' string, as strtok takes a char, - not a string. - -diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c -index aa30e72..024e6ef 100644 ---- a/hw/xfree86/os-support/linux/lnx_acpi.c -+++ b/hw/xfree86/os-support/linux/lnx_acpi.c -@@ -78,7 +78,7 @@ lnxACPIGetEventFromOs(int fd, pmEvent *e - char *data = NULL; /* doesn't appear to be used in the kernel */ - unsigned long int notify_l, data_l; - -- video = strtok(ev, "video"); -+ video = strtok(ev, " "); - - GFX = strtok(NULL, " "); - #if 0 diff --git a/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch b/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch deleted file mode 100644 index 5bc902b..0000000 --- a/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch +++ /dev/null @@ -1,24 +0,0 @@ -commit 3ad1642f1bbaa5f96558cdf3384b40f7122f8781 -Author: Michel Dänzer <michel@tungstengraphics.com> -Date: Sun Oct 15 16:57:09 2006 +0200 - - Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms. - -diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c -index b572304..170662c 100644 ---- a/GL/glx/glxdri.c -+++ b/GL/glx/glxdri.c -@@ -359,7 +359,12 @@ __glXDRIbindTexImage(__GLXcontext *baseC - if (pixmap->drawable.depth >= 24) { - bpp = 4; - format = GL_BGRA; -- type = GL_UNSIGNED_BYTE; -+ type = -+#if X_BYTE_ORDER == X_LITTLE_ENDIAN -+ GL_UNSIGNED_BYTE; -+#else -+ GL_UNSIGNED_INT_8_8_8_8_REV; -+#endif - } else { - bpp = 2; - format = GL_RGB; diff --git a/x11-base/xorg-server/files/1.1.1-fixdualhead.patch b/x11-base/xorg-server/files/1.1.1-fixdualhead.patch deleted file mode 100644 index 7b0513d..0000000 --- a/x11-base/xorg-server/files/1.1.1-fixdualhead.patch +++ /dev/null @@ -1,28 +0,0 @@ -https://bugs.gentoo.org/show_bug.cgi?id=159375 - -diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c -index 4935b0a..9c3cac0 100644 ---- a/GL/glx/glxdri.c -+++ b/GL/glx/glxdri.c -@@ -121,19 +121,13 @@ static const char CREATE_NEW_SCREEN_FUNC - static void - __glXDRIleaveServer(void) - { -- int i; -- -- for (i = 0; i < screenInfo.numScreens; i++) -- DRIDoBlockHandler(i, NULL, NULL, NULL); -+ DRIBlockHandler(NULL, NULL, NULL); - } - - static void - __glXDRIenterServer(void) - { -- int i; -- -- for (i = 0; i < screenInfo.numScreens; i++) -- DRIDoWakeupHandler(i, NULL, 0, NULL); -+ DRIWakeupHandler(NULL, 0, NULL); - } - - static void diff --git a/x11-base/xorg-server/files/1.1.1-sparc-includes.patch b/x11-base/xorg-server/files/1.1.1-sparc-includes.patch deleted file mode 100644 index 3408d20..0000000 --- a/x11-base/xorg-server/files/1.1.1-sparc-includes.patch +++ /dev/null @@ -1,28 +0,0 @@ -diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c ---- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c 2006-07-05 15:31:41.000000000 -0300 -+++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c 2007-01-18 14:43:53.000000000 -0300 -@@ -72,10 +72,6 @@ - - #include <linux/kd.h> - #include <linux/version.h> --#ifdef __sparc__ --#include <asm/param.h> --#include <asm/kbio.h> --#endif - - /* Deal with spurious kernel header change in struct kbd_repeat. - We undo this define after the routine using that struct is over, -diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c ---- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c 2006-07-05 15:31:41.000000000 -0300 -+++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c 2007-01-18 14:44:55.000000000 -0300 -@@ -102,10 +102,6 @@ - - #include <linux/kd.h> - #include <linux/version.h> --#ifdef __sparc__ --#include <asm/param.h> --#include <asm/kbio.h> --#endif - - /* Deal with spurious kernel header change in struct kbd_repeat. - We undo this define after the routine using that struct is over, diff --git a/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch b/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch deleted file mode 100644 index d44d969..0000000 --- a/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c -index a3c07f3..a97e6f0 100644 ---- a/hw/xfree86/os-support/bus/linuxPci.c -+++ b/hw/xfree86/os-support/bus/linuxPci.c -@@ -83,7 +83,13 @@ #if defined(__powerpc__) - /* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr, - #else - /* pciAddrHostToBus */ pciAddrNOOP, -+/* linuxTransAddrBusToHost is busted on sparc64 but the PCI rework tree -+ * makes it all moot, so we kludge it for now */ -+#if defined(__sparc__) -+/* pciAddrBusToHost */ pciAddrNOOP, -+#else - /* pciAddrBusToHost */ linuxTransAddrBusToHost, -+#endif /* __sparc64__ */ - #endif - - /* pciControlBridge */ NULL, diff --git a/x11-base/xorg-server/files/1.2.0-client-leak.patch b/x11-base/xorg-server/files/1.2.0-client-leak.patch deleted file mode 100644 index 02e52db..0000000 --- a/x11-base/xorg-server/files/1.2.0-client-leak.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/os/connection.c -+++ b/os/connection.c -@@ -1066,6 +1066,8 @@ CloseDownConnection(ClientPtr client) - XdmcpCloseDisplay(oc->fd); - #endif - CloseDownFileDescriptor(oc); -+ FreeOsBuffers(oc); -+ xfree(client->osPrivate); - client->osPrivate = (pointer)NULL; - if (auditTrailLevel > 1) - AuditF("client %d disconnected\n", client->index); diff --git a/x11-base/xorg-server/files/1.2.0-server-damage-version.patch b/x11-base/xorg-server/files/1.2.0-server-damage-version.patch deleted file mode 100644 index e03ae0e..0000000 --- a/x11-base/xorg-server/files/1.2.0-server-damage-version.patch +++ /dev/null @@ -1,38 +0,0 @@ ---- a/damageext/damageext.c -+++ b/damageext/damageext.c -@@ -35,6 +35,13 @@ int DamageClientPrivateIndex; - RESTYPE DamageExtType; - RESTYPE DamageExtWinType; - -+/* Version of the damage extension supported by the server, as opposed to the -+ * DAMAGE_* defines from damageproto for what version the proto header -+ * supports. -+ */ -+#define SERVER_DAMAGE_MAJOR 1 -+#define SERVER_DAMAGE_MINOR 0 -+ - #define prScreen screenInfo.screens[0] - - static void -@@ -143,16 +150,16 @@ ProcDamageQueryVersion(ClientPtr client) - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -- if (stuff->majorVersion < DAMAGE_MAJOR) { -+ if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) { - rep.majorVersion = stuff->majorVersion; - rep.minorVersion = stuff->minorVersion; - } else { -- rep.majorVersion = DAMAGE_MAJOR; -- if (stuff->majorVersion == DAMAGE_MAJOR && -- stuff->minorVersion < DAMAGE_MINOR) -+ rep.majorVersion = SERVER_DAMAGE_MAJOR; -+ if (stuff->majorVersion == SERVER_DAMAGE_MAJOR && -+ stuff->minorVersion < SERVER_DAMAGE_MINOR) - rep.minorVersion = stuff->minorVersion; - else -- rep.minorVersion = DAMAGE_MINOR; -+ rep.minorVersion = SERVER_DAMAGE_MINOR; - } - pDamageClient->major_version = rep.majorVersion; - pDamageClient->minor_version = rep.minorVersion; diff --git a/x11-base/xorg-server/files/1.2.0-server-randr-version.patch b/x11-base/xorg-server/files/1.2.0-server-randr-version.patch deleted file mode 100644 index 05432b6..0000000 --- a/x11-base/xorg-server/files/1.2.0-server-randr-version.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- randr/randr.c.old 2007-02-19 14:01:55.000000000 -0700 -+++ randr/randr.c 2007-02-19 14:02:12.000000000 -0700 -@@ -472,8 +472,8 @@ - rep.type = X_Reply; - rep.length = 0; - rep.sequenceNumber = client->sequence; -- rep.majorVersion = RANDR_MAJOR; -- rep.minorVersion = RANDR_MINOR; -+ rep.majorVersion = 1; -+ rep.minorVersion = 1; - if (client->swapped) { - swaps(&rep.sequenceNumber, n); - swapl(&rep.length, n); diff --git a/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch b/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch deleted file mode 100644 index 7d5b8ab..0000000 --- a/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- configure.ac.old 2006-11-04 15:27:24.000000000 -0700 -+++ configure.ac 2006-11-04 15:28:32.000000000 -0700 -@@ -1342,7 +1342,7 @@ - - dnl these only go in xorg-config.h - XF86CONFIGFILE="xorg.conf" -- CONFIGFILE="$sysconfdir/$XF86CONFIGFILE" -+ CONFIGFILE="$sysconfdir/X11/$XF86CONFIGFILE" - LOGPREFIX="$logdir/Xorg." - AC_DEFINE(XORG_SERVER, 1, [Building Xorg server]) - AC_DEFINE(XORGSERVER, 1, [Building Xorg server]) diff --git a/x11-base/xorg-server/files/1.3-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch b/x11-base/xorg-server/files/1.3-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch new file mode 100644 index 0000000..18075a6 --- /dev/null +++ b/x11-base/xorg-server/files/1.3-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch @@ -0,0 +1,244 @@ +Index: xorg-server-1.3.0.0/Xi/chgfctl.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/chgfctl.c ++++ xorg-server-1.3.0.0/Xi/chgfctl.c +@@ -451,18 +451,13 @@ ChangeStringFeedback(ClientPtr client, D + xStringFeedbackCtl * f) + { + register char n; +- register long *p; + int i, j; + KeySym *syms, *sup_syms; + + syms = (KeySym *) (f + 1); + if (client->swapped) { + swaps(&f->length, n); /* swapped num_keysyms in calling proc */ +- p = (long *)(syms); +- for (i = 0; i < f->num_keysyms; i++) { +- swapl(p, n); +- p++; +- } ++ SwapLongs((CARD32 *) syms, f->num_keysyms); + } + + if (f->num_keysyms > s->ctrl.max_symbols) { +Index: xorg-server-1.3.0.0/Xi/chgkmap.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/chgkmap.c ++++ xorg-server-1.3.0.0/Xi/chgkmap.c +@@ -79,18 +79,14 @@ int + SProcXChangeDeviceKeyMapping(register ClientPtr client) + { + register char n; +- register long *p; +- register int i, count; ++ register unsigned int count; + + REQUEST(xChangeDeviceKeyMappingReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); +- p = (long *)&stuff[1]; + count = stuff->keyCodes * stuff->keySymsPerKeyCode; +- for (i = 0; i < count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), count); + return (ProcXChangeDeviceKeyMapping(client)); + } + +@@ -106,10 +102,14 @@ ProcXChangeDeviceKeyMapping(register Cli + int ret; + unsigned len; + DeviceIntPtr dev; ++ unsigned int count; + + REQUEST(xChangeDeviceKeyMappingReq); + REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); + ++ count = stuff->keyCodes * stuff->keySymsPerKeyCode; ++ REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); ++ + dev = LookupDeviceIntRec(stuff->deviceid); + if (dev == NULL) { + SendErrorToClient(client, IReqCode, X_ChangeDeviceKeyMapping, 0, +Index: xorg-server-1.3.0.0/Xi/chgprop.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/chgprop.c ++++ xorg-server-1.3.0.0/Xi/chgprop.c +@@ -81,19 +81,15 @@ int + SProcXChangeDeviceDontPropagateList(register ClientPtr client) + { + register char n; +- register long *p; +- register int i; + + REQUEST(xChangeDeviceDontPropagateListReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xChangeDeviceDontPropagateListReq); + swapl(&stuff->window, n); + swaps(&stuff->count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xChangeDeviceDontPropagateListReq, ++ stuff->count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->count); + return (ProcXChangeDeviceDontPropagateList(client)); + } + +Index: xorg-server-1.3.0.0/Xi/grabdev.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/grabdev.c ++++ xorg-server-1.3.0.0/Xi/grabdev.c +@@ -82,8 +82,6 @@ int + SProcXGrabDevice(register ClientPtr client) + { + register char n; +- register long *p; +- register int i; + + REQUEST(xGrabDeviceReq); + swaps(&stuff->length, n); +@@ -91,11 +89,11 @@ SProcXGrabDevice(register ClientPtr clie + swapl(&stuff->grabWindow, n); + swapl(&stuff->time, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ ++ if (stuff->length != (sizeof(xGrabDeviceReq) >> 2) + stuff->event_count) ++ return BadLength; ++ ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + + return (ProcXGrabDevice(client)); + } +Index: xorg-server-1.3.0.0/Xi/grabdevb.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/grabdevb.c ++++ xorg-server-1.3.0.0/Xi/grabdevb.c +@@ -80,8 +80,6 @@ int + SProcXGrabDeviceButton(register ClientPtr client) + { + register char n; +- register long *p; +- register int i; + + REQUEST(xGrabDeviceButtonReq); + swaps(&stuff->length, n); +@@ -89,11 +87,9 @@ SProcXGrabDeviceButton(register ClientPt + swapl(&stuff->grabWindow, n); + swaps(&stuff->modifiers, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xGrabDeviceButtonReq, ++ stuff->event_count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + + return (ProcXGrabDeviceButton(client)); + } +Index: xorg-server-1.3.0.0/Xi/grabdevk.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/grabdevk.c ++++ xorg-server-1.3.0.0/Xi/grabdevk.c +@@ -80,8 +80,6 @@ int + SProcXGrabDeviceKey(register ClientPtr client) + { + register char n; +- register long *p; +- register int i; + + REQUEST(xGrabDeviceKeyReq); + swaps(&stuff->length, n); +@@ -89,11 +87,8 @@ SProcXGrabDeviceKey(register ClientPtr c + swapl(&stuff->grabWindow, n); + swaps(&stuff->modifiers, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xGrabDeviceKeyReq, stuff->event_count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + return (ProcXGrabDeviceKey(client)); + } + +Index: xorg-server-1.3.0.0/Xi/selectev.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/selectev.c ++++ xorg-server-1.3.0.0/Xi/selectev.c +@@ -84,19 +84,16 @@ int + SProcXSelectExtensionEvent(register ClientPtr client) + { + register char n; +- register long *p; +- register int i; + + REQUEST(xSelectExtensionEventReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); + swapl(&stuff->window, n); + swaps(&stuff->count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xSelectExtensionEventReq, ++ stuff->count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->count); ++ + return (ProcXSelectExtensionEvent(client)); + } + +Index: xorg-server-1.3.0.0/Xi/sendexev.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xi/sendexev.c ++++ xorg-server-1.3.0.0/Xi/sendexev.c +@@ -83,7 +83,7 @@ int + SProcXSendExtensionEvent(register ClientPtr client) + { + register char n; +- register long *p; ++ register CARD32 *p; + register int i; + xEvent eventT; + xEvent *eventP; +@@ -94,6 +94,11 @@ SProcXSendExtensionEvent(register Client + REQUEST_AT_LEAST_SIZE(xSendExtensionEventReq); + swapl(&stuff->destination, n); + swaps(&stuff->count, n); ++ ++ if (stuff->length != (sizeof(xSendExtensionEventReq) >> 2) + stuff->count + ++ (stuff->num_events * (sizeof(xEvent) >> 2))) ++ return BadLength; ++ + eventP = (xEvent *) & stuff[1]; + for (i = 0; i < stuff->num_events; i++, eventP++) { + proc = EventSwapVector[eventP->u.u.type & 0177]; +@@ -103,11 +108,8 @@ SProcXSendExtensionEvent(register Client + *eventP = eventT; + } + +- p = (long *)(((xEvent *) & stuff[1]) + stuff->num_events); +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ p = (CARD32 *)(((xEvent *) & stuff[1]) + stuff->num_events); ++ SwapLongs(p, stuff->count); + return (ProcXSendExtensionEvent(client)); + } + diff --git a/x11-base/xorg-server/files/1.3-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch b/x11-base/xorg-server/files/1.3-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch new file mode 100644 index 0000000..b8e5178 --- /dev/null +++ b/x11-base/xorg-server/files/1.3-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch @@ -0,0 +1,22 @@ +Index: xorg-server-1.3.0.0/Xext/security.c +=================================================================== +--- xorg-server-1.3.0.0.orig/Xext/security.c ++++ xorg-server-1.3.0.0/Xext/security.c +@@ -1567,7 +1567,7 @@ SecurityLoadPropertyAccessList(void) + return; + + #ifndef __UNIXOS2__ +- f = fopen(SecurityPolicyFile, "r"); ++ f = Fopen(SecurityPolicyFile, "r"); + #else + f = fopen((char*)__XOS2RedirRoot(SecurityPolicyFile), "r"); + #endif +@@ -1653,7 +1653,7 @@ SecurityLoadPropertyAccessList(void) + } + #endif /* PROPDEBUG */ + +- fclose(f); ++ Fclose(f); + } /* SecurityLoadPropertyAccessList */ + + diff --git a/x11-base/xorg-server/files/1.3.0.0-fix-dual-head-screen-resolutions.patch b/x11-base/xorg-server/files/1.3.0.0-fix-dual-head-screen-resolutions.patch new file mode 100644 index 0000000..c5b9571 --- /dev/null +++ b/x11-base/xorg-server/files/1.3.0.0-fix-dual-head-screen-resolutions.patch @@ -0,0 +1,49 @@ +Title : x11-base/xorg-server-1.3.0.0 uses wrong screen resolutions on a dual-head systems +Assignee : x11@gentoo.org +Reported : 2007-05-23 16:53 0000 +Updated : 2007-10-02 19:39:28 0000 +Status : NEW +Severity : normal +Priority : P2 +Reporter : jouni.rinne@pp1.inet.fi +Product : Gentoo Linux +Component : Server +Keywords : Inclusion +CC : bas@lijer.nl +CC : daniel.pielmeier@googlemail.com +CC : frlinux@frlinux.net +CC : ml81@gmx.de +Comments : 14 +Attachments : 1 +URL : http://bugs.gentoo.org/show_bug.cgi?id=179545 + +commit 9c80eda826448822328bb678a7d284cc43fffb17 +Author: Adam Jackson <ajax@benzedrine.nwnk.net> +Date: Wed Apr 25 16:35:04 2007 -0400 + + Disable RANDR's fake Xinerama protocol when there's more than one screen. + + ... in the protocol sense. Xinerama doesn't have any provision for more + than one protocol screen each with its own geometry. + + Red Hat bug #231257. + +diff --git a/randr/rrxinerama.c b/randr/rrxinerama.c +index 1db27f1..2a57e4e 100644 +--- a/randr/rrxinerama.c ++++ b/randr/rrxinerama.c +@@ -428,6 +428,14 @@ RRXineramaExtensionInit(void) + return; + #endif + ++ /* ++ * Xinerama isn't capable enough to have multiple protocol screens each ++ * with their own output geometry. So if there's more than one protocol ++ * screen, just don't even try. ++ */ ++ if (screenInfo.numScreens > 1) ++ return; ++ + (void) AddExtension(PANORAMIX_PROTOCOL_NAME, 0,0, + ProcRRXineramaDispatch, + SProcRRXineramaDispatch, diff --git a/x11-base/xorg-server/files/1.3.0.0-fix-randr-resizing.patch b/x11-base/xorg-server/files/1.3.0.0-fix-randr-resizing.patch new file mode 100644 index 0000000..4828699 --- /dev/null +++ b/x11-base/xorg-server/files/1.3.0.0-fix-randr-resizing.patch @@ -0,0 +1,58 @@ +Title : xorg-server-1.3: desktop does not resize with RandR +Assignee : x11@gentoo.org +Reported : 2007-06-30 11:37 0000 +Updated : 2007-10-06 08:32:58 0000 +Status : ASSIGNED +Severity : normal +Priority : P2 +Reporter : sascha.lucas@rus.uni-stuttgart.de +Product : Gentoo Linux +Component : KDE +Keywords : Inclusion +CC : caster@gentoo.org +CC : chrschmitt@gmail.com +CC : gentoo@chlhp.de +CC : kde@gentoo.org +Comments : 14 +Attachments : 0 +URL : http://bugs.gentoo.org/show_bug.cgi?id=183721 + +commit c10df5b967d4da4e11786520317e2917de5541fa +Author: Aaron Plattner <aplattner@nvidia.com> +Date: Tue Apr 3 15:47:01 2007 -0700 + + Swap RRScreenChangeNotifyEvent dimensions when the screen has one crtc and it's rotated. + + RandR 1.1 clients expect the size fields in this event to be the unrotated + dimensions of the screen. This behavior is "weird", but that's the way the old + code worked so we need to be bug-compatible with it. + +diff --git a/randr/rrscreen.c b/randr/rrscreen.c +index ad74ac3..f83fce3 100644 +--- a/randr/rrscreen.c ++++ b/randr/rrscreen.c +@@ -116,11 +116,19 @@ RRDeliverScreenEvent (ClientPtr client, WindowPtr pWin, ScreenPtr pScreen) + + se.sequenceNumber = client->sequence; + se.sizeID = RR10CurrentSizeID (pScreen); +- +- se.widthInPixels = pScreen->width; +- se.heightInPixels = pScreen->height; +- se.widthInMillimeters = pScreen->mmWidth; +- se.heightInMillimeters = pScreen->mmHeight; ++ ++ if (se.rotation & (RR_Rotate_90 | RR_Rotate_270)) { ++ se.widthInPixels = pScreen->height; ++ se.heightInPixels = pScreen->width; ++ se.widthInMillimeters = pScreen->mmHeight; ++ se.heightInMillimeters = pScreen->mmWidth; ++ } else { ++ se.widthInPixels = pScreen->width; ++ se.heightInPixels = pScreen->height; ++ se.widthInMillimeters = pScreen->mmWidth; ++ se.heightInMillimeters = pScreen->mmHeight; ++ } ++ + WriteEventsToClient (client, 1, (xEvent *) &se); + } + diff --git a/x11-base/xorg-server/files/1.3.0.0-fix-xephyr-amd64-segfault.patch b/x11-base/xorg-server/files/1.3.0.0-fix-xephyr-amd64-segfault.patch new file mode 100644 index 0000000..c8fdfed --- /dev/null +++ b/x11-base/xorg-server/files/1.3.0.0-fix-xephyr-amd64-segfault.patch @@ -0,0 +1,45 @@ +Title : x11-base/xorg-server-1.3.0.0 Xephyr segfaults on startup on amd64 +Assignee : x11@gentoo.org +Reported : 2007-09-20 17:22 0000 +Updated : 2007-09-20 17:52:21 0000 +Status : NEW +URL : https://bugs.freedesktop.org/show_bug.cgi?id=11582 +Severity : normal +Priority : P2 +Reporter : chithanh@cs.tu-berlin.de +Product : Gentoo Linux +Component : Server +Keywords : Inclusion +Comments : 2 +Attachments : 1 +URL : http://bugs.gentoo.org/show_bug.cgi?id=193207 + +commit dcc3de91d2b80be98e4488df29ec6b551c7ff6d1 +Author: Alan Coopersmith <alan.coopersmith@sun.com> +Date: Sat Aug 18 11:50:33 2007 +0200 + + Xephyr: fix immediat segfault on amd64 + + This closes bug https://bugs.freedesktop.org/show_bug.cgi?id=11582 + +diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c +index d0a2f2f..12118da 100644 +--- a/hw/kdrive/ephyr/hostx.c ++++ b/hw/kdrive/ephyr/hostx.c +@@ -40,6 +40,7 @@ + #include <X11/Xatom.h> + #include <X11/keysym.h> + #include <X11/extensions/XShm.h> ++#include <X11/Xmd.h> + + /* + * All xlib calls go here, which gets built as its own .a . +@@ -79,7 +80,7 @@ static int HostXWantDamageDebug = 0; + + extern KeySym EphyrKeymap[]; + +-extern KeySym kdKeymap[]; ++extern CARD32 kdKeymap[]; + extern int kdMinScanCode; + extern int kdMaxScanCode; + extern int kdMinKeyCode; diff --git a/x11-base/xorg-server/files/1.3.0.0-fix-xkb-openoffice-hangs.patch b/x11-base/xorg-server/files/1.3.0.0-fix-xkb-openoffice-hangs.patch new file mode 100644 index 0000000..88df93b --- /dev/null +++ b/x11-base/xorg-server/files/1.3.0.0-fix-xkb-openoffice-hangs.patch @@ -0,0 +1,55 @@ +https://bugs.gentoo.org/show_bug.cgi?id=197104 + +commit a5b8053606d6e786cdcf6734f271acc05f9cc588 +Author: Adam Jackson <ajax@benzedrine.nwnk.net> +Date: Tue Sep 11 11:37:06 2007 -0400 + + Ignore - not just block - SIGALRM around Popen()/Pclose(). + + Because our "popen" implementation uses stdio, and because nobody's stdio + library is capable of surviving signals, we need to make absolutely sure + that we hide the SIGALRM from the smart scheduler. Otherwise, when you + open a menu in openoffice, and it recompiles XKB to deal with the + accelerators, and you popen xkbcomp because we suck, then the scheduler + will tell you you're taking forever doing something stupid, and the + wait() code will get confused, and input will hang and your CPU usage + slams to 100%. Down, not across. + +diff --git a/os/utils.c b/os/utils.c +index 3bb7dbe..afcaae4 100644 +--- a/os/utils.c ++++ b/os/utils.c +@@ -1720,6 +1720,8 @@ static struct pid { + int pid; + } *pidlist; + ++static sighandler_t old_alarm = NULL; /* XXX horrible awful hack */ ++ + pointer + Popen(char *command, char *type) + { +@@ -1741,11 +1743,15 @@ Popen(char *command, char *type) + return NULL; + } + ++ /* Ignore the smart scheduler while this is going on */ ++ old_alarm = signal(SIGALRM, SIG_IGN); ++ + switch (pid = fork()) { + case -1: /* error */ + close(pdes[0]); + close(pdes[1]); + xfree(cur); ++ signal(SIGALRM, old_alarm); + return NULL; + case 0: /* child */ + if (setgid(getgid()) == -1) +@@ -1921,6 +1927,8 @@ Pclose(pointer iop) + /* allow EINTR again */ + OsReleaseSignals (); + ++ signal(SIGALRM, old_alarm); ++ + return pid == -1 ? -1 : pstat; + } + diff --git a/x11-base/xorg-server/files/1.3.0.0-ramdac.patch b/x11-base/xorg-server/files/1.3.0.0-ramdac.patch new file mode 100644 index 0000000..37ab1b7 --- /dev/null +++ b/x11-base/xorg-server/files/1.3.0.0-ramdac.patch @@ -0,0 +1,91 @@ +Title : xorg-server-1.3: xf86-video-s3 - s3_drv.so: undefined symbol: RamDacInit +Assignee : x11@gentoo.org +Reported : 2007-09-12 15:53 0000 +Updated : 2007-10-06 08:34:19 0000 +Status : NEW +Severity : normal +Priority : P2 +Reporter : dpblnt@gmail.com +Product : Gentoo Linux +Component : Applications +Keywords : Inclusion +Comments : 3 +Attachments : 1 +URL : http://bugs.gentoo.org/show_bug.cgi?id=192312 + +commit 3c6f1428489c1f71acd41066ea73ef4ae7c60f17 +Author: Julien Cristau <jcristau@debian.org> +Date: Tue May 29 22:01:30 2007 -0400 + + Make sure that the ramdac symbols are present in the server + + The former ramdac module is now built into the server, so its symbols need to + be explicitly exported to drivers (Debian #423129). + +diff --git a/hw/xfree86/loader/xf86sym.c b/hw/xfree86/loader/xf86sym.c +index 5175f01..6535e4c 100644 +--- a/hw/xfree86/loader/xf86sym.c ++++ b/hw/xfree86/loader/xf86sym.c +@@ -96,6 +96,11 @@ + #endif + #include "xf86DDC.h" + #include "edid.h" ++#include "xf86Cursor.h" ++#include "xf86RamDac.h" ++#include "BT.h" ++#include "IBM.h" ++#include "TI.h" + + #ifndef HAS_GLIBC_SIGSETJMP + #if defined(setjmp) && defined(__GNU_LIBRARY__) && \ +@@ -1255,4 +1260,50 @@ _X_HIDDEN void *xfree86LookupTab[] = { + SYMFUNC(xf86I2CWriteRead) + SYMFUNC(xf86I2CWriteVec) + SYMFUNC(xf86I2CWriteWord) ++ ++ /* ramdac/xf86RamDac.c */ ++ SYMFUNC(RamDacCreateInfoRec) ++ SYMFUNC(RamDacHelperCreateInfoRec) ++ SYMFUNC(RamDacDestroyInfoRec) ++ SYMFUNC(RamDacHelperDestroyInfoRec) ++ SYMFUNC(RamDacInit) ++ SYMFUNC(RamDacHandleColormaps) ++ SYMFUNC(RamDacFreeRec) ++ SYMFUNC(RamDacGetHWIndex) ++ SYMVAR(RamDacHWPrivateIndex) ++ SYMVAR(RamDacScreenPrivateIndex) ++ ++ /* ramdac/xf86Cursor.c */ ++ SYMFUNC(xf86InitCursor) ++ SYMFUNC(xf86CreateCursorInfoRec) ++ SYMFUNC(xf86DestroyCursorInfoRec) ++ SYMFUNC(xf86ForceHWCursor) ++ ++ /* ramdac/BT.c */ ++ SYMFUNC(BTramdacProbe) ++ SYMFUNC(BTramdacSave) ++ SYMFUNC(BTramdacRestore) ++ SYMFUNC(BTramdacSetBpp) ++ ++ /* ramdac/IBM.c */ ++ SYMFUNC(IBMramdacProbe) ++ SYMFUNC(IBMramdacSave) ++ SYMFUNC(IBMramdacRestore) ++ SYMFUNC(IBMramdac526SetBpp) ++ SYMFUNC(IBMramdac640SetBpp) ++ SYMFUNC(IBMramdac526CalculateMNPCForClock) ++ SYMFUNC(IBMramdac640CalculateMNPCForClock) ++ SYMFUNC(IBMramdac526HWCursorInit) ++ SYMFUNC(IBMramdac640HWCursorInit) ++ SYMFUNC(IBMramdac526SetBppWeak) ++ ++ /* ramdac/TI.c */ ++ SYMFUNC(TIramdacCalculateMNPForClock) ++ SYMFUNC(TIramdacProbe) ++ SYMFUNC(TIramdacSave) ++ SYMFUNC(TIramdacRestore) ++ SYMFUNC(TIramdac3026SetBpp) ++ SYMFUNC(TIramdac3030SetBpp) ++ SYMFUNC(TIramdacHWCursorInit) ++ SYMFUNC(TIramdacLoadPalette) + }; diff --git a/x11-base/xorg-server/files/1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch b/x11-base/xorg-server/files/1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch new file mode 100644 index 0000000..54dead0 --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch @@ -0,0 +1,27 @@ +From 59a3b83922c810316a374a19484b24901c7437ae Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 15:26:41 +0100 +Subject: [PATCH] Fix for CVE-2007-5760 - XFree86 Misc extension out of bounds array index + +--- + hw/xfree86/common/xf86MiscExt.c | 4 ++++ + 1 files changed, 4 insertions(+), 0 deletions(-) + +diff --git a/hw/xfree86/common/xf86MiscExt.c b/hw/xfree86/common/xf86MiscExt.c +index c1b9c60..40c196a 100644 +--- a/hw/xfree86/common/xf86MiscExt.c ++++ b/hw/xfree86/common/xf86MiscExt.c +@@ -548,6 +548,10 @@ MiscExtPassMessage(int scrnIndex, const char *msgtype, const char *msgval, + { + ScrnInfoPtr pScr = xf86Screens[scrnIndex]; + ++ /* should check this in the protocol, but xf86NumScreens isn't exported */ ++ if (scrnIndex >= xf86NumScreens) ++ return BadValue; ++ + if (*pScr->HandleMessage == NULL) + return BadImplementation; + return (*pScr->HandleMessage)(scrnIndex, msgtype, msgval, retstr); +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch b/x11-base/xorg-server/files/1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch new file mode 100644 index 0000000..a72ce3c --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch @@ -0,0 +1,26 @@ +From 4848d49d05a318559afe7a17a19ba055947ee1f5 Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 15:28:03 +0100 +Subject: [PATCH] Fix for CVE-2007-6428 - TOG-cup extension memory corruption. + +--- + Xext/cup.c | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/Xext/cup.c b/Xext/cup.c +index 6bfa278..781b9ce 100644 +--- a/Xext/cup.c ++++ b/Xext/cup.c +@@ -196,6 +196,9 @@ int ProcGetReservedColormapEntries( + + REQUEST_SIZE_MATCH (xXcupGetReservedColormapEntriesReq); + ++ if (stuff->screen >= screenInfo.numScreens) ++ return BadValue; ++ + #ifndef HAVE_SPECIAL_DESKTOP_COLORS + citems[CUP_BLACK_PIXEL].pixel = + screenInfo.screens[stuff->screen]->blackPixel; +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch b/x11-base/xorg-server/files/1.4-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch new file mode 100644 index 0000000..ffbf8ac --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch @@ -0,0 +1,262 @@ +From d244c8272e0ac47c41a9416e37293903b842a78b Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 15:27:34 +0100 +Subject: [PATCH] Fix for CVE-2007-6427 - Xinput extension memory corruption. + +--- + Xi/chgfctl.c | 7 +------ + Xi/chgkmap.c | 13 ++++++------- + Xi/chgprop.c | 10 +++------- + Xi/grabdev.c | 12 +++++------- + Xi/grabdevb.c | 10 +++------- + Xi/grabdevk.c | 9 ++------- + Xi/selectev.c | 11 ++++------- + Xi/sendexev.c | 14 ++++++++------ + 8 files changed, 32 insertions(+), 54 deletions(-) + +diff --git a/Xi/chgfctl.c b/Xi/chgfctl.c +index 2e0e13c..235d659 100644 +--- a/Xi/chgfctl.c ++++ b/Xi/chgfctl.c +@@ -327,18 +327,13 @@ ChangeStringFeedback(ClientPtr client, DeviceIntPtr dev, + xStringFeedbackCtl * f) + { + char n; +- long *p; + int i, j; + KeySym *syms, *sup_syms; + + syms = (KeySym *) (f + 1); + if (client->swapped) { + swaps(&f->length, n); /* swapped num_keysyms in calling proc */ +- p = (long *)(syms); +- for (i = 0; i < f->num_keysyms; i++) { +- swapl(p, n); +- p++; +- } ++ SwapLongs((CARD32 *) syms, f->num_keysyms); + } + + if (f->num_keysyms > s->ctrl.max_symbols) { +diff --git a/Xi/chgkmap.c b/Xi/chgkmap.c +index eac520f..f8f85bc 100644 +--- a/Xi/chgkmap.c ++++ b/Xi/chgkmap.c +@@ -79,18 +79,14 @@ int + SProcXChangeDeviceKeyMapping(ClientPtr client) + { + char n; +- long *p; +- int i, count; ++ unsigned int count; + + REQUEST(xChangeDeviceKeyMappingReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); +- p = (long *)&stuff[1]; + count = stuff->keyCodes * stuff->keySymsPerKeyCode; +- for (i = 0; i < count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), count); + return (ProcXChangeDeviceKeyMapping(client)); + } + +@@ -106,10 +102,13 @@ ProcXChangeDeviceKeyMapping(ClientPtr client) + int ret; + unsigned len; + DeviceIntPtr dev; ++ unsigned int count; + + REQUEST(xChangeDeviceKeyMappingReq); + REQUEST_AT_LEAST_SIZE(xChangeDeviceKeyMappingReq); + ++ count = stuff->keyCodes * stuff->keySymsPerKeyCode; ++ REQUEST_FIXED_SIZE(xChangeDeviceKeyMappingReq, count * sizeof(CARD32)); + dev = LookupDeviceIntRec(stuff->deviceid); + if (dev == NULL) { + SendErrorToClient(client, IReqCode, X_ChangeDeviceKeyMapping, 0, +diff --git a/Xi/chgprop.c b/Xi/chgprop.c +index 59a93c6..21bda5b 100644 +--- a/Xi/chgprop.c ++++ b/Xi/chgprop.c +@@ -81,19 +81,15 @@ int + SProcXChangeDeviceDontPropagateList(ClientPtr client) + { + char n; +- long *p; +- int i; + + REQUEST(xChangeDeviceDontPropagateListReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xChangeDeviceDontPropagateListReq); + swapl(&stuff->window, n); + swaps(&stuff->count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xChangeDeviceDontPropagateListReq, ++ stuff->count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->count); + return (ProcXChangeDeviceDontPropagateList(client)); + } + +diff --git a/Xi/grabdev.c b/Xi/grabdev.c +index e2809ef..d0b4ae7 100644 +--- a/Xi/grabdev.c ++++ b/Xi/grabdev.c +@@ -82,8 +82,6 @@ int + SProcXGrabDevice(ClientPtr client) + { + char n; +- long *p; +- int i; + + REQUEST(xGrabDeviceReq); + swaps(&stuff->length, n); +@@ -91,11 +89,11 @@ SProcXGrabDevice(ClientPtr client) + swapl(&stuff->grabWindow, n); + swapl(&stuff->time, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ ++ if (stuff->length != (sizeof(xGrabDeviceReq) >> 2) + stuff->event_count) ++ return BadLength; ++ ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + + return (ProcXGrabDevice(client)); + } +diff --git a/Xi/grabdevb.c b/Xi/grabdevb.c +index df62d0c..18db1f7 100644 +--- a/Xi/grabdevb.c ++++ b/Xi/grabdevb.c +@@ -80,8 +80,6 @@ int + SProcXGrabDeviceButton(ClientPtr client) + { + char n; +- long *p; +- int i; + + REQUEST(xGrabDeviceButtonReq); + swaps(&stuff->length, n); +@@ -89,11 +87,9 @@ SProcXGrabDeviceButton(ClientPtr client) + swapl(&stuff->grabWindow, n); + swaps(&stuff->modifiers, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xGrabDeviceButtonReq, ++ stuff->event_count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + + return (ProcXGrabDeviceButton(client)); + } +diff --git a/Xi/grabdevk.c b/Xi/grabdevk.c +index b74592f..429b2f7 100644 +--- a/Xi/grabdevk.c ++++ b/Xi/grabdevk.c +@@ -80,8 +80,6 @@ int + SProcXGrabDeviceKey(ClientPtr client) + { + char n; +- long *p; +- int i; + + REQUEST(xGrabDeviceKeyReq); + swaps(&stuff->length, n); +@@ -89,11 +87,8 @@ SProcXGrabDeviceKey(ClientPtr client) + swapl(&stuff->grabWindow, n); + swaps(&stuff->modifiers, n); + swaps(&stuff->event_count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->event_count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xGrabDeviceKeyReq, stuff->event_count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->event_count); + return (ProcXGrabDeviceKey(client)); + } + +diff --git a/Xi/selectev.c b/Xi/selectev.c +index d52db1b..19415c5 100644 +--- a/Xi/selectev.c ++++ b/Xi/selectev.c +@@ -131,19 +131,16 @@ int + SProcXSelectExtensionEvent(ClientPtr client) + { + char n; +- long *p; +- int i; + + REQUEST(xSelectExtensionEventReq); + swaps(&stuff->length, n); + REQUEST_AT_LEAST_SIZE(xSelectExtensionEventReq); + swapl(&stuff->window, n); + swaps(&stuff->count, n); +- p = (long *)&stuff[1]; +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ REQUEST_FIXED_SIZE(xSelectExtensionEventReq, ++ stuff->count * sizeof(CARD32)); ++ SwapLongs((CARD32 *) (&stuff[1]), stuff->count); ++ + return (ProcXSelectExtensionEvent(client)); + } + +diff --git a/Xi/sendexev.c b/Xi/sendexev.c +index eac9abe..9803cf3 100644 +--- a/Xi/sendexev.c ++++ b/Xi/sendexev.c +@@ -83,7 +83,7 @@ int + SProcXSendExtensionEvent(ClientPtr client) + { + char n; +- long *p; ++ CARD32 *p; + int i; + xEvent eventT; + xEvent *eventP; +@@ -94,6 +94,11 @@ SProcXSendExtensionEvent(ClientPtr client) + REQUEST_AT_LEAST_SIZE(xSendExtensionEventReq); + swapl(&stuff->destination, n); + swaps(&stuff->count, n); ++ ++ if (stuff->length != (sizeof(xSendExtensionEventReq) >> 2) + stuff->count + ++ (stuff->num_events * (sizeof(xEvent) >> 2))) ++ return BadLength; ++ + eventP = (xEvent *) & stuff[1]; + for (i = 0; i < stuff->num_events; i++, eventP++) { + proc = EventSwapVector[eventP->u.u.type & 0177]; +@@ -103,11 +108,8 @@ SProcXSendExtensionEvent(ClientPtr client) + *eventP = eventT; + } + +- p = (long *)(((xEvent *) & stuff[1]) + stuff->num_events); +- for (i = 0; i < stuff->count; i++) { +- swapl(p, n); +- p++; +- } ++ p = (CARD32 *)(((xEvent *) & stuff[1]) + stuff->num_events); ++ SwapLongs(p, stuff->count); + return (ProcXSendExtensionEvent(client)); + } + +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch b/x11-base/xorg-server/files/1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch new file mode 100644 index 0000000..ac66b4d --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch @@ -0,0 +1,210 @@ +From 8b14f7b74284900b95a319ec80c4333e63af2296 Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 15:28:42 +0100 +Subject: [PATCH] Fix for CVE-2007-6429 - MIT-SHM and EVI extensions integer overflows. + +--- + Xext/EVI.c | 15 ++++++++++++++- + Xext/sampleEVI.c | 29 ++++++++++++++++++++++++----- + Xext/shm.c | 46 ++++++++++++++++++++++++++++++++++++++-------- + 3 files changed, 76 insertions(+), 14 deletions(-) + +diff --git a/Xext/EVI.c b/Xext/EVI.c +index 8fe3481..13bd32a 100644 +--- a/Xext/EVI.c ++++ b/Xext/EVI.c +@@ -34,6 +34,7 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. + #include <X11/extensions/XEVIstr.h> + #include "EVIstruct.h" + #include "modinit.h" ++#include "scrnintstr.h" + + #if 0 + static unsigned char XEVIReqCode = 0; +@@ -87,10 +88,22 @@ ProcEVIGetVisualInfo(ClientPtr client) + { + REQUEST(xEVIGetVisualInfoReq); + xEVIGetVisualInfoReply rep; +- int n, n_conflict, n_info, sz_info, sz_conflict; ++ int i, n, n_conflict, n_info, sz_info, sz_conflict; + VisualID32 *conflict; ++ unsigned int total_visuals = 0; + xExtendedVisualInfo *eviInfo; + int status; ++ ++ /* ++ * do this first, otherwise REQUEST_FIXED_SIZE can overflow. we assume ++ * here that you don't have more than 2^32 visuals over all your screens; ++ * this seems like a safe assumption. ++ */ ++ for (i = 0; i < screenInfo.numScreens; i++) ++ total_visuals += screenInfo.screens[i]->numVisuals; ++ if (stuff->n_visual > total_visuals) ++ return BadValue; ++ + REQUEST_FIXED_SIZE(xEVIGetVisualInfoReq, stuff->n_visual * sz_VisualID32); + status = eviPriv->getVisualInfo((VisualID32 *)&stuff[1], (int)stuff->n_visual, + &eviInfo, &n_info, &conflict, &n_conflict); +diff --git a/Xext/sampleEVI.c b/Xext/sampleEVI.c +index 7508aa7..b871bfd 100644 +--- a/Xext/sampleEVI.c ++++ b/Xext/sampleEVI.c +@@ -34,6 +34,13 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. + #include <X11/extensions/XEVIstr.h> + #include "EVIstruct.h" + #include "scrnintstr.h" ++ ++#if HAVE_STDINT_H ++#include <stdint.h> ++#elif !defined(UINT32_MAX) ++#define UINT32_MAX 0xffffffffU ++#endif ++ + static int sampleGetVisualInfo( + VisualID32 *visual, + int n_visual, +@@ -42,24 +49,36 @@ static int sampleGetVisualInfo( + VisualID32 **conflict_rn, + int *n_conflict_rn) + { +- int max_sz_evi = n_visual * sz_xExtendedVisualInfo * screenInfo.numScreens; ++ unsigned int max_sz_evi; + VisualID32 *temp_conflict; + xExtendedVisualInfo *evi; +- int max_visuals = 0, max_sz_conflict, sz_conflict = 0; ++ unsigned int max_visuals = 0, max_sz_conflict, sz_conflict = 0; + register int visualI, scrI, sz_evi = 0, conflictI, n_conflict; +- *evi_rn = evi = (xExtendedVisualInfo *)xalloc(max_sz_evi); +- if (!*evi_rn) +- return BadAlloc; ++ ++ if (n_visual > UINT32_MAX/(sz_xExtendedVisualInfo * screenInfo.numScreens)) ++ return BadAlloc; ++ max_sz_evi = n_visual * sz_xExtendedVisualInfo * screenInfo.numScreens; ++ + for (scrI = 0; scrI < screenInfo.numScreens; scrI++) { + if (screenInfo.screens[scrI]->numVisuals > max_visuals) + max_visuals = screenInfo.screens[scrI]->numVisuals; + } ++ ++ if (n_visual > UINT32_MAX/(sz_VisualID32 * screenInfo.numScreens ++ * max_visuals)) ++ return BadAlloc; + max_sz_conflict = n_visual * sz_VisualID32 * screenInfo.numScreens * max_visuals; ++ ++ *evi_rn = evi = (xExtendedVisualInfo *)xalloc(max_sz_evi); ++ if (!*evi_rn) ++ return BadAlloc; ++ + temp_conflict = (VisualID32 *)xalloc(max_sz_conflict); + if (!temp_conflict) { + xfree(*evi_rn); + return BadAlloc; + } ++ + for (scrI = 0; scrI < screenInfo.numScreens; scrI++) { + for (visualI = 0; visualI < n_visual; visualI++) { + evi[sz_evi].core_visual_id = visual[visualI]; +diff --git a/Xext/shm.c b/Xext/shm.c +index ac587be..5633be9 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -711,6 +711,8 @@ ProcPanoramiXShmCreatePixmap( + int i, j, result, rc; + ShmDescPtr shmdesc; + REQUEST(xShmCreatePixmapReq); ++ unsigned int width, height, depth; ++ unsigned long size; + PanoramiXRes *newPix; + + REQUEST_SIZE_MATCH(xShmCreatePixmapReq); +@@ -724,11 +726,26 @@ ProcPanoramiXShmCreatePixmap( + return rc; + + VERIFY_SHMPTR(stuff->shmseg, stuff->offset, TRUE, shmdesc, client); +- if (!stuff->width || !stuff->height) ++ ++ width = stuff->width; ++ height = stuff->height; ++ depth = stuff->depth; ++ if (!width || !height || !depth) + { + client->errorValue = 0; + return BadValue; + } ++ if (width > 32767 || height > 32767) ++ return BadAlloc; ++ size = PixmapBytePad(width, depth) * height; ++ if (sizeof(size) == 4) { ++ if (size < width * height) ++ return BadAlloc; ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; ++ } ++ + if (stuff->depth != 1) + { + pDepth = pDraw->pScreen->allowedDepths; +@@ -739,9 +756,7 @@ ProcPanoramiXShmCreatePixmap( + return BadValue; + } + CreatePmap: +- VERIFY_SHMSIZE(shmdesc, stuff->offset, +- PixmapBytePad(stuff->width, stuff->depth) * stuff->height, +- client); ++ VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + + if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)))) + return BadAlloc; +@@ -1040,6 +1055,8 @@ ProcShmCreatePixmap(client) + register int i, rc; + ShmDescPtr shmdesc; + REQUEST(xShmCreatePixmapReq); ++ unsigned int width, height, depth; ++ unsigned long size; + + REQUEST_SIZE_MATCH(xShmCreatePixmapReq); + client->errorValue = stuff->pid; +@@ -1052,11 +1069,26 @@ ProcShmCreatePixmap(client) + return rc; + + VERIFY_SHMPTR(stuff->shmseg, stuff->offset, TRUE, shmdesc, client); +- if (!stuff->width || !stuff->height) ++ ++ width = stuff->width; ++ height = stuff->height; ++ depth = stuff->depth; ++ if (!width || !height || !depth) + { + client->errorValue = 0; + return BadValue; + } ++ if (width > 32767 || height > 32767) ++ return BadAlloc; ++ size = PixmapBytePad(width, depth) * height; ++ if (sizeof(size) == 4) { ++ if (size < width * height) ++ return BadAlloc; ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; ++ } ++ + if (stuff->depth != 1) + { + pDepth = pDraw->pScreen->allowedDepths; +@@ -1067,9 +1099,7 @@ ProcShmCreatePixmap(client) + return BadValue; + } + CreatePmap: +- VERIFY_SHMSIZE(shmdesc, stuff->offset, +- PixmapBytePad(stuff->width, stuff->depth) * stuff->height, +- client); ++ VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + pMap = (*shmFuncs[pDraw->pScreen->myNum]->CreatePixmap)( + pDraw->pScreen, stuff->width, + stuff->height, stuff->depth, +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch b/x11-base/xorg-server/files/1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch new file mode 100644 index 0000000..bb09eb8 --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch @@ -0,0 +1,30 @@ +From f09b8007e7f6e60e0b9c9665ec632b578ae08b6f Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 15:29:06 +0100 +Subject: [PATCH] Fix for CVE-2008-0006 - PCF Font parser buffer overflow. + +--- + dix/dixfonts.c | 7 +++++++ + 1 files changed, 7 insertions(+), 0 deletions(-) + +diff --git a/dix/dixfonts.c b/dix/dixfonts.c +index c21b3ec..7bb2404 100644 +--- a/dix/dixfonts.c ++++ b/dix/dixfonts.c +@@ -325,6 +325,13 @@ doOpenFont(ClientPtr client, OFclosurePtr c) + err = BadFontName; + goto bail; + } ++ /* check values for firstCol, lastCol, firstRow, and lastRow */ ++ if (pfont->info.firstCol > pfont->info.lastCol || ++ pfont->info.firstRow > pfont->info.lastRow || ++ pfont->info.lastCol - pfont->info.firstCol > 255) { ++ err = AllocError; ++ goto bail; ++ } + if (!pfont->fpe) + pfont->fpe = fpe; + pfont->refcnt++; +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch b/x11-base/xorg-server/files/1.4-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch new file mode 100644 index 0000000..61cc4da --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch @@ -0,0 +1,34 @@ +From 19b95cdd1d14a1e7d1abba1880ab023c96f19bf5 Mon Sep 17 00:00:00 2001 +From: Matthieu Herrb <matthieu@bluenote.herrb.com> +Date: Thu, 17 Jan 2008 17:03:39 +0100 +Subject: [PATCH] Fix for CVE-2007-5958 - File existence disclosure. + +--- + Xext/security.c | 4 ++-- + 1 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Xext/security.c b/Xext/security.c +index ba057de..e9d48c9 100644 +--- a/Xext/security.c ++++ b/Xext/security.c +@@ -1563,7 +1563,7 @@ SecurityLoadPropertyAccessList(void) + if (!SecurityPolicyFile) + return; + +- f = fopen(SecurityPolicyFile, "r"); ++ f = Fopen(SecurityPolicyFile, "r"); + if (!f) + { + ErrorF("error opening security policy file %s\n", +@@ -1646,7 +1646,7 @@ SecurityLoadPropertyAccessList(void) + } + #endif /* PROPDEBUG */ + +- fclose(f); ++ Fclose(f); + } /* SecurityLoadPropertyAccessList */ + + +-- +1.5.3.5 + diff --git a/x11-base/xorg-server/files/1.4-0007-CVE-2007-6429-Don-t-spuriously-reject-8bpp-shm-pix.patch b/x11-base/xorg-server/files/1.4-0007-CVE-2007-6429-Don-t-spuriously-reject-8bpp-shm-pix.patch new file mode 100644 index 0000000..903f2be --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0007-CVE-2007-6429-Don-t-spuriously-reject-8bpp-shm-pix.patch @@ -0,0 +1,85 @@ +From e9fa7c1c88a8130a48f772c92b186b8b777986b5 Mon Sep 17 00:00:00 2001 +From: Adam Jackson <ajax@redhat.com> +Date: Fri, 18 Jan 2008 14:41:20 -0500 +Subject: [PATCH] CVE-2007-6429: Don't spuriously reject <8bpp shm pixmaps. + +Move size validation after depth validation, and only validate size if +the bpp of the pixmap format is > 8. If bpp < 8 then we're already +protected from overflow by the width and height checks. +--- + Xext/shm.c | 36 ++++++++++++++++++++---------------- + 1 files changed, 20 insertions(+), 16 deletions(-) + +diff --git a/Xext/shm.c b/Xext/shm.c +index c545e49..e46f6fc 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -783,14 +783,6 @@ ProcPanoramiXShmCreatePixmap( + } + if (width > 32767 || height > 32767) + return BadAlloc; +- size = PixmapBytePad(width, depth) * height; +- if (sizeof(size) == 4) { +- if (size < width * height) +- return BadAlloc; +- /* thankfully, offset is unsigned */ +- if (stuff->offset + size < size) +- return BadAlloc; +- } + + if (stuff->depth != 1) + { +@@ -801,7 +793,17 @@ ProcPanoramiXShmCreatePixmap( + client->errorValue = stuff->depth; + return BadValue; + } ++ + CreatePmap: ++ size = PixmapBytePad(width, depth) * height; ++ if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) { ++ if (size < width * height) ++ return BadAlloc; ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; ++ } ++ + VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + + if(!(newPix = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)))) +@@ -1126,14 +1128,6 @@ ProcShmCreatePixmap(client) + } + if (width > 32767 || height > 32767) + return BadAlloc; +- size = PixmapBytePad(width, depth) * height; +- if (sizeof(size) == 4) { +- if (size < width * height) +- return BadAlloc; +- /* thankfully, offset is unsigned */ +- if (stuff->offset + size < size) +- return BadAlloc; +- } + + if (stuff->depth != 1) + { +@@ -1144,7 +1138,17 @@ ProcShmCreatePixmap(client) + client->errorValue = stuff->depth; + return BadValue; + } ++ + CreatePmap: ++ size = PixmapBytePad(width, depth) * height; ++ if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) { ++ if (size < width * height) ++ return BadAlloc; ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; ++ } ++ + VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + pMap = (*shmFuncs[pDraw->pScreen->myNum]->CreatePixmap)( + pDraw->pScreen, stuff->width, +-- +1.5.3.8 + diff --git a/x11-base/xorg-server/files/1.4-0008-CVE-2007-6429-Always-test-for-size-offset-wrapping.patch b/x11-base/xorg-server/files/1.4-0008-CVE-2007-6429-Always-test-for-size-offset-wrapping.patch new file mode 100644 index 0000000..6e5baf1 --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0008-CVE-2007-6429-Always-test-for-size-offset-wrapping.patch @@ -0,0 +1,44 @@ +From be6c17fcf9efebc0bbcc3d9a25f8c5a2450c2161 Mon Sep 17 00:00:00 2001 +From: Matthias Hopf <mhopf@suse.de> +Date: Mon, 21 Jan 2008 16:13:21 +0100 +Subject: [PATCH] CVE-2007-6429: Always test for size+offset wrapping. + +--- + Xext/shm.c | 12 ++++++------ + 1 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Xext/shm.c b/Xext/shm.c +index e46f6fc..a7a1ecf 100644 +--- a/Xext/shm.c ++++ b/Xext/shm.c +@@ -799,10 +799,10 @@ CreatePmap: + if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) { + if (size < width * height) + return BadAlloc; +- /* thankfully, offset is unsigned */ +- if (stuff->offset + size < size) +- return BadAlloc; + } ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; + + VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + +@@ -1144,10 +1144,10 @@ CreatePmap: + if (sizeof(size) == 4 && BitsPerPixel(depth) > 8) { + if (size < width * height) + return BadAlloc; +- /* thankfully, offset is unsigned */ +- if (stuff->offset + size < size) +- return BadAlloc; + } ++ /* thankfully, offset is unsigned */ ++ if (stuff->offset + size < size) ++ return BadAlloc; + + VERIFY_SHMSIZE(shmdesc, stuff->offset, size, client); + pMap = (*shmFuncs[pDraw->pScreen->myNum]->CreatePixmap)( +-- +1.5.3.8 + diff --git a/x11-base/xorg-server/files/1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch b/x11-base/xorg-server/files/1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch new file mode 100644 index 0000000..3a8dbd9 --- /dev/null +++ b/x11-base/xorg-server/files/1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch @@ -0,0 +1,40 @@ +From a6a7fadbb03ee99312dfb15ac478ab3c414c1c0b Mon Sep 17 00:00:00 2001 +From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= <krh@redhat.com> +Date: Wed, 16 Jan 2008 20:24:11 -0500 +Subject: [PATCH] Don't break grab and focus state for a window when redirecting it. + +Composite uses an unmap/map cycle to trigger backing pixmap allocation +and cliprect recomputation when a window is redirected or unredirected. +To avoid protocol visible side effects, map and unmap events are +disabled temporarily. However, when a window is unmapped it is also +removed from grabs and loses focus, but these state changes are not +disabled. + +This change supresses the unmap side effects during the composite +unmap/map cycle and fixes this bug: + + http://bugzilla.gnome.org/show_bug.cgi?id=488264 + +where compiz would cause gnome-screensaver to lose its grab when +compiz unredirects the fullscreen lock window. +--- + dix/window.c | 3 ++- + 1 files changed, 2 insertions(+), 1 deletions(-) + +diff --git a/dix/window.c b/dix/window.c +index 33cf76b..1ccf126 100644 +--- a/dix/window.c ++++ b/dix/window.c +@@ -2993,7 +2993,8 @@ UnrealizeTree( + } + #endif + (* Unrealize)(pChild); +- DeleteWindowFromAnyEvents(pChild, FALSE); ++ if (MapUnmapEventsEnabled(pWin)) ++ DeleteWindowFromAnyEvents(pChild, FALSE); + if (pChild->viewable) + { + #ifdef DO_SAVE_UNDERS +-- +1.5.3.8 + diff --git a/x11-base/xorg-server/files/1.4-dont-hang-openoffice.patch b/x11-base/xorg-server/files/1.4-dont-hang-openoffice.patch new file mode 100644 index 0000000..9ec79fd --- /dev/null +++ b/x11-base/xorg-server/files/1.4-dont-hang-openoffice.patch @@ -0,0 +1,71 @@ +Title : x11-base/xorg-server-1.3 and 1.4 consumes 100% CPU, locking the ke +yboard, apparently triggered by opening an OpenOffice pulldown menu +Assignee : x11@gentoo.org +Reported : 2007-10-26 03:51 0000 +Updated : 2007-11-07 07:21:56 0000 +Status : NEW +URL : https://bugs.freedesktop.org/show_bug.cgi?id=10525 +Severity : critical +Priority : P2 +Reporter : smw@alcor.concordia.ca +Product : Gentoo Linux +Component : Server +Keywords : Inclusion +CC : tetromino@gmail.com +Comments : 3 +Attachments : 0 +URL : http://bugs.gentoo.org/show_bug.cgi?id=197104 + +commit a5b8053606d6e786cdcf6734f271acc05f9cc588 +Author: Adam Jackson <ajax@benzedrine.nwnk.net> +Date: Tue Sep 11 11:37:06 2007 -0400 + + Ignore - not just block - SIGALRM around Popen()/Pclose(). + + Because our "popen" implementation uses stdio, and because nobody's stdio + library is capable of surviving signals, we need to make absolutely sure + that we hide the SIGALRM from the smart scheduler. Otherwise, when you + open a menu in openoffice, and it recompiles XKB to deal with the + accelerators, and you popen xkbcomp because we suck, then the scheduler + will tell you you're taking forever doing something stupid, and the + wait() code will get confused, and input will hang and your CPU usage + slams to 100%. Down, not across. + +diff --git a/os/utils.c b/os/utils.c +index 3bb7dbe..afcaae4 100644 +--- a/os/utils.c ++++ b/os/utils.c +@@ -1720,6 +1720,8 @@ static struct pid { + int pid; + } *pidlist; + ++static sighandler_t old_alarm = NULL; /* XXX horrible awful hack */ ++ + pointer + Popen(char *command, char *type) + { +@@ -1741,11 +1743,15 @@ Popen(char *command, char *type) + return NULL; + } + ++ /* Ignore the smart scheduler while this is going on */ ++ old_alarm = signal(SIGALRM, SIG_IGN); ++ + switch (pid = fork()) { + case -1: /* error */ + close(pdes[0]); + close(pdes[1]); + xfree(cur); ++ signal(SIGALRM, old_alarm); + return NULL; + case 0: /* child */ + if (setgid(getgid()) == -1) +@@ -1921,6 +1927,8 @@ Pclose(pointer iop) + /* allow EINTR again */ + OsReleaseSignals (); + ++ signal(SIGALRM, old_alarm); ++ + return pid == -1 ? -1 : pstat; + } + diff --git a/x11-base/xorg-server/files/1.4-fix-kdrive-automake.patch b/x11-base/xorg-server/files/1.4-fix-kdrive-automake.patch new file mode 100644 index 0000000..cdc436e --- /dev/null +++ b/x11-base/xorg-server/files/1.4-fix-kdrive-automake.patch @@ -0,0 +1,12 @@ +diff --git a/hw/kdrive/Makefile.am b/hw/kdrive/Makefile.am +index 5803644..71d3403 100644 +--- a/hw/kdrive/Makefile.am ++++ b/hw/kdrive/Makefile.am +@@ -1,6 +1,5 @@ + if KDRIVEVESA +-VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 \ +- smi via ++VESA_SUBDIRS = vesa ati chips epson i810 mach64 mga nvidia pm2 r128 smi via + endif + + if BUILD_KDRIVEFBDEVLIB diff --git a/x11-base/xorg-server/files/1.4.0.90-clean-generated-files.patch b/x11-base/xorg-server/files/1.4.0.90-clean-generated-files.patch new file mode 100644 index 0000000..ece24eb --- /dev/null +++ b/x11-base/xorg-server/files/1.4.0.90-clean-generated-files.patch @@ -0,0 +1,19 @@ +commit d988da6eee8422774dff364050bf431b843a714a +Author: Arkadiusz Miskiewicz <arekm@maven.pl> +Date: Thu Dec 13 00:09:08 2007 +0200 + + Xprint: Clean up generated files + + Remember to clean generated wrapper files. + (cherry picked from commit 977fcdea8198906936a64b8117e6a6d027c617e3) + +diff --git a/hw/xprint/Makefile.am b/hw/xprint/Makefile.am +index dc8764a..f834966 100644 +--- a/hw/xprint/Makefile.am ++++ b/hw/xprint/Makefile.am +@@ -41,3 +41,5 @@ Xprt_SOURCES = \ + $(top_srcdir)/fb/fbcmap_mi.c + + EXTRA_DIST = ValTree.c ++ ++CLEANFILES = miinitext-wrapper.c dpmsstubs-wrapper.c diff --git a/x11-base/xorg-server/files/xorg-conf-example.patch b/x11-base/xorg-server/files/xorg-conf-example.patch deleted file mode 100644 index 8ec7476..0000000 --- a/x11-base/xorg-server/files/xorg-conf-example.patch +++ /dev/null @@ -1,56 +0,0 @@ ---- configure.ac.old 2006-09-24 11:30:40.000000000 -0600 -+++ configure.ac 2006-09-24 11:31:11.000000000 -0600 -@@ -806,6 +806,7 @@ - - AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path]) - AC_DEFINE_DIR(RGB_DB, RGBPATH, [Default RGB path]) -+AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path]) - AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path]) - AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_STRING"], [Vendor name]) - AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_STRING_SHORT"], [Short vendor name]) ---- hw/xfree86/xorgconf.cpp.old 2006-09-29 19:02:00.000000000 -0600 -+++ hw/xfree86/xorgconf.cpp 2006-09-29 19:02:07.000000000 -0600 -@@ -54,10 +54,7 @@ - - FontPath LOCALFONTPATH - FontPath MISCFONTPATH -- FontPath DPI75USFONTPATH -- FontPath DPI100USFONTPATH - FontPath T1FONTPATH -- FontPath TRUETYPEFONTPATH -+ FontPath TRUETYPEFONTPATH - FontPath CIDFONTPATH -- FontPath SPFONTPATH - FontPath DPI75FONTPATH ---- hw/xfree86/Makefile.am.old 2006-09-24 11:59:57.000000000 -0600 -+++ hw/xfree86/Makefile.am 2006-09-24 11:59:51.000000000 -0600 -@@ -1,3 +1,5 @@ -+include $(top_srcdir)/cpprules.in -+ - if DRI - DRI_SUBDIR = dri - endif -@@ -75,7 +77,23 @@ - optionsdir = $(libdir)/X11 - dist_options_DATA = Options - -+BUILT_SOURCES = xorg.conf.example -+CLEAN = xorg.conf.example xorg.conf.example.pre - EXTRA_DIST = xorgconf.cpp - -+CPP_FILES_FLAGS = \ -+ -DRGBPATH=\"$(RGB_DB)\" \ -+ -DLOCALFONTPATH="\"$(BASE_FONT_PATH)/local\"" \ -+ -DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc\"" \ -+ -DT1FONTPATH="\"$(BASE_FONT_PATH)/Type1\"" \ -+ -DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/TTF\"" \ -+ -DCIDFONTPATH="\"$(BASE_FONT_PATH)/CID\"" \ -+ -DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi\"" \ -+ -DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi\"" \ -+ -DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\" -+ - relink: - rm -f Xorg && $(MAKE) Xorg -+ -+xorg.conf.example.pre: xorgconf.cpp -+ cp $< $@ diff --git a/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch b/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch deleted file mode 100644 index 07b5219..0000000 --- a/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am -index acda83d..6b9b62a 100644 ---- a/hw/xfree86/parser/Makefile.am -+++ b/hw/xfree86/parser/Makefile.am -@@ -25,10 +25,12 @@ libxf86config_a_SOURCES = \ - - AM_CFLAGS = $(XORG_CFLAGS) - -+sdk_HEADERS = \ -+ xf86Optrec.h \ -+ xf86Parser.h -+ - EXTRA_DIST = \ - Configint.h \ - configProcs.h \ -- xf86Optrec.h \ -- xf86Parser.h \ - xf86tokens.h \ - cpconfig.c diff --git a/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch deleted file mode 100644 index 04ee66e..0000000 --- a/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h ---- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800 -+++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800 -@@ -44,6 +44,8 @@ - /* SAREA area needs to be at least a page */ - #if defined(__alpha__) - #define SAREA_MAX 0x2000 -+#elif defined(__mips__) -+#define SAREA_MAX 0x4000 - #elif defined(__ia64__) - #define SAREA_MAX 0x10000 /* 64kB */ - #else -diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c ---- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800 -+++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800 -@@ -540,9 +540,10 @@ - _X_EXPORT Bool - xf86EnableIO(void) - { --#if defined(__powerpc__) -+#if defined(__powerpc__) || defined(__mips__) - int fd; - unsigned int ioBase_phys; -+ extern unsigned int IOPortBase; - #endif - - if (ExtendedEnabled) -@@ -569,7 +570,22 @@ - #endif - } - close(fd); --#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) -+#elif defined(__mips__) -+ fd = open("/dev/mem", O_RDWR); -+ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, -+ PROT_READ | PROT_WRITE, MAP_SHARED, fd, -+ 0x1fd00000); -+ if (IOPortBase == MAP_FAILED) { -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: Failed to map iobase (%s)\n", -+ strerror(errno)); -+ return FALSE; -+ } -+ close(fd); -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: map iobase (%x)\n", -+ IOPortBase); -+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) - if (ioperm(0, 1024, 1) || iopl(3)) { - if (errno == ENODEV) - ErrorF("xf86EnableIOPorts: no I/O ports found\n"); diff --git a/x11-base/xorg-server/files/xorg-server-1.4-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.4-loongson.patch deleted file mode 100644 index 9c48b37..0000000 --- a/x11-base/xorg-server/files/xorg-server-1.4-loongson.patch +++ /dev/null @@ -1,51 +0,0 @@ -diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h ---- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800 -+++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800 -@@ -44,6 +44,8 @@ - /* SAREA area needs to be at least a page */ - #if defined(__alpha__) - #define SAREA_MAX 0x2000 -+#elif defined(__mips__) -+#define SAREA_MAX 0x4000 - #elif defined(__ia64__) - #define SAREA_MAX 0x10000 /* 64kB */ - #else -diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c ---- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800 -+++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800 -@@ -540,9 +540,10 @@ - _X_EXPORT Bool - xf86EnableIO(void) - { --#if defined(__powerpc__) -+#if defined(__powerpc__) || defined(__mips__) - int fd; - unsigned int ioBase_phys; -+ extern unsigned int IOPortBase; - #endif - - if (ExtendedEnabled) -@@ -569,7 +570,22 @@ - #endif - } - close(fd); --#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) -+#elif defined(__mips__) -+ fd = open("/dev/mem", O_RDWR); -+ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, -+ PROT_READ | PROT_WRITE, MAP_SHARED, fd, -+ 0x1fd00000); -+ if (IOPortBase == MAP_FAILED) { -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: Failed to map iobase (%s)\n", -+ strerror(errno)); -+ return FALSE; -+ } -+ close(fd); -+ xf86Msg(X_WARNING, -+ "xf86EnableIOPorts: map iobase (%x)\n", -+ IOPortBase); -+#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) - if (ioperm(0, 1024, 1) || iopl(3)) { - if (errno == ENODEV) - ErrorF("xf86EnableIOPorts: no I/O ports found\n"); diff --git a/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch b/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch deleted file mode 100644 index 48f4380..0000000 --- a/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch +++ /dev/null @@ -1,54 +0,0 @@ -diff --git a/GL/mesa/main/Makefile.am b/GL/mesa/main/Makefile.am -index 867fe57..4d5b0cd 100644 ---- a/GL/mesa/main/Makefile.am -+++ b/GL/mesa/main/Makefile.am -@@ -29,6 +27,7 @@ nodist_libmain_la_SOURCES = accum.c \ - api_loopback.c \ - api_noop.c \ - api_validate.c \ -+ arrayobj.c \ - attrib.c \ - blend.c \ - bufferobj.c \ -@@ -67,6 +66,7 @@ nodist_libmain_la_SOURCES = accum.c \ - points.c \ - polygon.c \ - rastpos.c \ -+ rbadaptors.c \ - renderbuffer.c \ - state.c \ - stencil.c \ -diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh -index ccaa2a9..32f839a 100755 ---- a/GL/symlink-mesa.sh -+++ b/GL/symlink-mesa.sh -@@ -88,8 +88,11 @@ symlink_mesa_main() { - action api_noop.h - action api_validate.c - action api_validate.h -+ action arrayobj.c -+ action arrayobj.h - action attrib.c - action attrib.h -+ action bitset.h - action blend.c - action blend.h - action bufferobj.c -@@ -168,6 +171,8 @@ symlink_mesa_main() { - action polygon.h - action rastpos.c - action rastpos.h -+ action rbadaptors.c -+ action rbadaptors.h - action renderbuffer.c - action renderbuffer.h - action simple_list.h -@@ -468,7 +468,7 @@ symlink_mesa_shader_slang_library() { - action slang_core_gc.h - action slang_fragment_builtin_gc.h - action slang_shader_syn.h -- action slang_version_syn.h -+ action slang_pp_version_syn.h - action slang_vertex_builtin_gc.h - } - diff --git a/x11-base/xorg-server/files/xorg-xserver-1.2.0-xcmisc.diff b/x11-base/xorg-server/files/xorg-xserver-1.2.0-xcmisc.diff deleted file mode 100644 index b67d2ee..0000000 --- a/x11-base/xorg-server/files/xorg-xserver-1.2.0-xcmisc.diff +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c -index f26218e..8c7a86e 100644 ---- a/Xext/xcmisc.c -+++ b/Xext/xcmisc.c -@@ -42,6 +42,12 @@ #include "swaprep.h" - #include <X11/extensions/xcmiscstr.h> - #include "modinit.h" - -+#if HAVE_STDINT_H -+#include <stdint.h> -+#elif !defined(UINT32_MAX) -+#define UINT32_MAX 0xffffffffU -+#endif -+ - #if 0 - static unsigned char XCMiscCode; - #endif -@@ -143,7 +149,10 @@ ProcXCMiscGetXIDList(client) - - REQUEST_SIZE_MATCH(xXCMiscGetXIDListReq); - -- pids = (XID *)ALLOCATE_LOCAL(stuff->count * sizeof(XID)); -+ if (stuff->count > UINT32_MAX / sizeof(XID)) -+ return BadAlloc; -+ -+ pids = (XID *)Xalloc(stuff->count * sizeof(XID)); - if (!pids) - { - return BadAlloc; -@@ -164,7 +173,7 @@ ProcXCMiscGetXIDList(client) - client->pSwapReplyFunc = (ReplySwapPtr) Swap32Write; - WriteSwappedDataToClient(client, count * sizeof(XID), pids); - } -- DEALLOCATE_LOCAL(pids); -+ Xfree(pids); - return(client->noClientException); - } - diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild deleted file mode 100644 index b51b108..0000000 --- a/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild +++ /dev/null @@ -1,530 +0,0 @@ -# Copyright 1999-2007 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.2.0-r1.ebuild,v 1.1 2007/02/19 21:34:17 joshuabaergen Exp $ - -# Must be before x-modular eclass is inherited -#SNAPSHOT="yes" - -inherit x-modular multilib - -OPENGL_DIR="xorg-x11" - -MESA_PN="Mesa" -MESA_PV="6.5.2" -MESA_P="${MESA_PN}-${MESA_PV}" -MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" - -SRC_URI="${SRC_URI} - mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 - http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" -DESCRIPTION="X.Org X servers" -# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work -RESTRICT="stricter" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE_INPUT_DEVICES=" - input_devices_acecad - input_devices_aiptek - input_devices_calcomp - input_devices_citron - input_devices_digitaledge - input_devices_dmc - input_devices_dynapro - input_devices_elo2300 - input_devices_elographics - input_devices_evdev - input_devices_fpit - input_devices_hyperpen - input_devices_jamstudio - input_devices_joystick - input_devices_keyboard - input_devices_magellan - input_devices_microtouch - input_devices_mouse - input_devices_mutouch - input_devices_palmax - input_devices_penmount - input_devices_spaceorb - input_devices_summa - input_devices_tek4957 - input_devices_ur98 - input_devices_vmmouse - input_devices_void - - input_devices_synaptics - input_devices_wacom" -IUSE_VIDEO_CARDS=" - video_cards_apm - video_cards_ark - video_cards_chips - video_cards_cirrus - video_cards_cyrix - video_cards_dummy - video_cards_epson - video_cards_fbdev - video_cards_glint - video_cards_i128 - video_cards_i740 - video_cards_i810 - video_cards_impact - video_cards_imstt - video_cards_mach64 - video_cards_mga - video_cards_neomagic - video_cards_newport - video_cards_nsc - video_cards_nv - video_cards_r128 - video_cards_radeon - video_cards_rendition - video_cards_s3 - video_cards_s3virge - video_cards_savage - video_cards_siliconmotion - video_cards_sis - video_cards_sisusb - video_cards_sunbw2 - video_cards_suncg14 - video_cards_suncg3 - video_cards_suncg6 - video_cards_sunffb - video_cards_sunleo - video_cards_suntcx - video_cards_tdfx - video_cards_tga - video_cards_trident - video_cards_tseng - video_cards_v4l - video_cards_vesa - video_cards_vga - video_cards_via - video_cards_vmware - video_cards_voodoo - - video_cards_fglrx - video_cards_nvidia" -IUSE_SERVERS="dmx kdrive xorg" -IUSE="${IUSE_VIDEO_CARDS} - ${IUSE_INPUT_DEVICES} - ${IUSE_SERVERS} - 3dfx - dri ipv6 minimal nptl sdl xprint" -RDEPEND=">=x11-libs/libXfont-1.2.5 - x11-libs/xtrans - x11-libs/libXau - x11-libs/libXext - x11-libs/libX11 - x11-libs/libxkbfile - x11-libs/libXdmcp - x11-libs/libXmu - x11-libs/libXrender - x11-libs/libXi - media-libs/freetype - >=media-libs/mesa-6.5.2 - media-fonts/font-adobe-75dpi - media-fonts/font-misc-misc - media-fonts/font-cursor-misc - x11-misc/xbitmaps - || ( x11-misc/xkeyboard-config x11-misc/xkbdata ) - x11-apps/iceauth - x11-apps/rgb - x11-apps/xauth - x11-apps/xinit - app-admin/eselect-opengl - x11-libs/libXaw - x11-libs/libXpm - x11-libs/libXxf86misc - x11-libs/libXxf86vm - dmx? ( x11-libs/libdmx ) - !minimal? ( x11-libs/libXtst - x11-libs/libXres ) - >=x11-libs/libxkbui-1.0.2 - x11-libs/liblbxutil - kdrive? ( sdl? ( media-libs/libsdl ) )" - # Xres is dmx-dependent, xkbui is xorgcfg-dependent - # Xaw is dmx- and xorgcfg-dependent - # Xpm is dmx- and xorgcfg-dependent, pulls in Xt - # Xxf86misc and Xxf86vm are xorgcfg-dependent - # liblbxutil is lbx- dependent -DEPEND="${RDEPEND} - x11-proto/randrproto - x11-proto/renderproto - >=x11-proto/fixesproto-4 - x11-proto/damageproto - x11-proto/xextproto - x11-proto/xproto - x11-proto/xf86dgaproto - x11-proto/xf86miscproto - x11-proto/xf86rushproto - x11-proto/xf86vidmodeproto - x11-proto/xf86bigfontproto - >=x11-proto/compositeproto-0.3 - x11-proto/recordproto - x11-proto/resourceproto - x11-proto/videoproto - >=x11-proto/scrnsaverproto-1.1.0 - x11-proto/evieext - x11-proto/trapproto - >=x11-proto/xineramaproto-1.1-r1 - x11-proto/fontsproto - >=x11-proto/kbproto-1.0.3 - x11-proto/inputproto - x11-proto/bigreqsproto - x11-proto/xcmiscproto - >=x11-proto/glproto-1.4.8 - dmx? ( x11-proto/dmxproto ) - dri? ( x11-proto/xf86driproto - >=x11-libs/libdrm-2.3 ) - xprint? ( x11-proto/printproto - x11-apps/mkfontdir - x11-apps/mkfontscale - x11-apps/xplsprinters )" - -# Drivers -PDEPEND=" - xorg? ( - input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) - input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) - input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) - input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) - input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) - input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) - input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) - input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) - input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) - input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) - input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) - input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) - input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) - input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) - input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) - input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) - input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) - input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) - input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) - input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) - input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) - input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) - input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) - input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) - input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) - input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) - input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) - - input_devices_synaptics? ( x11-drivers/synaptics ) - input_devices_wacom? ( x11-drivers/linuxwacom ) - - video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) - video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) - video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) - video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) - video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) - video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) - video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) - video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) - video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) - video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) - video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) - video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) - video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) - video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) - video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) - video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) - video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) - video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) - video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) - video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) - video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) - video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) - video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) - video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) - video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) - video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) - video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) - video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) - video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) - video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) - video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) - video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) - video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) - video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) - video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) - video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) - video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) - video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) - video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) - video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) - video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) - video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) - - video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) - video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 ) - video_cards_nvidia? ( || ( - >=x11-drivers/nvidia-drivers-1.0.8774 - >=x11-drivers/nvidia-legacy-drivers-1.0.7184 - ) - ) - )" -LICENSE="${LICENSE} MIT" - -PATCHES="${FILESDIR}/${PV}-server-damage-version.patch - ${FILESDIR}/${PV}-server-randr-version.patch - ${FILESDIR}/${P}-loongson.patch" - -pkg_setup() { - use minimal || ensure_a_server_is_building - - # SDL only available in kdrive build - if use kdrive && use sdl; then - conf_opts="${conf_opts} --enable-xsdl" - else - conf_opts="${conf_opts} --disable-xsdl" - fi - - # Only Xorg and Xgl support this, and we won't build Xgl - # until it merges to trunk - if use xorg; then - conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" - 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 - # --enable-install-setuid needed because sparcs default off - CONFIGURE_OPTIONS=" - $(use_enable ipv6) - $(use_enable dmx) - $(use_enable kdrive) - $(use_enable !minimal xvfb) - $(use_enable !minimal xnest) - $(use_enable !minimal install-libxf86config) - $(use_enable dri) - $(use_enable xorg) - $(use_enable xprint) - $(use_enable nptl glx-tls) - $(use_enable !minimal xorgcfg) - --sysconfdir=/etc/X11 - --localstatedir=/var - --enable-install-setuid - --with-fontdir=/usr/share/fonts - ${conf_opts}" - - local diemsg="You must build xorg-server and mesa with the same nptl USE setting." - if built_with_use media-libs/mesa nptl; then - use nptl || die "${diemsg}" - else - use nptl && die "${diemsg}" - fi - - # (#121394) Causes window corruption - filter-flags -fweb - - # Nothing else provides new enough glxtokens.h - ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." - OLD_IMPLEM="$(eselect opengl show)" - eselect opengl set --impl-headers ${OPENGL_DIR} -} - -src_unpack() { - x-modular_specs_check - x-modular_dri_check - x-modular_unpack_source - x-modular_patch_source - - # Set up kdrive servers to build - if use kdrive; then - kdrive_setup - fi - - # Make sure eautoreconf gets run if we need the autoconf/make - # changes. - if [[ ${SNAPSHOT} != "yes" ]]; then - if use kdrive; then - eautoreconf - fi - fi - x-modular_reconf_source -} - -src_install() { - x-modular_src_install - - dynamic_libgl_install - - server_based_install - - # Install video mode files for system-config-display - insinto /usr/share/xorg - doins hw/xfree86/common/{extra,vesa}modes \ - || die "couldn't install extra modes" - - # Bug #151421 - this file is not built with USE="minimal" - # Bug #151670 - this file is also not build if USE="-xorg" - if ! use minimal && use xorg; then - # Install xorg.conf.example - insinto /etc/X11 - doins hw/xfree86/xorg.conf.example \ - || die "couldn't install xorg.conf.example" - fi -} - -pkg_postinst() { - switch_opengl_implem - - # Bug #135544 - ewarn "Users of reduced blanking now need:" - ewarn " Option \"ReducedBlanking\"" - ewarn "In the relevant Monitor section(s)." - ewarn "Make sure your reduced blanking modelines are safe!" -} - -pkg_postrm() { - # Get rid of module dir to ensure opengl-update works properly - if ! has_version x11-base/xorg-server; then - if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then - rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules - fi - fi -} - -kdrive_setup() { - local card real_card disable_card kdrive_fbdev kdrive_vesa - - einfo "Removing unused kdrive drivers ..." - - # Some kdrive servers require fbdev and vesa - kdrive_fbdev="radeon neomagic sis siliconmotion" - # Some kdrive servers require just vesa - kdrive_vesa="chips mach64 mga nv glint r128 via" - - for card in ${IUSE_VIDEO_CARDS}; do - real_card=${card#video_cards_} - - # Differences between VIDEO_CARDS name and kdrive server name - real_card=${real_card/glint/pm2} - real_card=${real_card/radeon/ati} - real_card=${real_card/%nv/nvidia} - real_card=${real_card/siliconmotion/smi} - real_card=${real_card/%sis/sis300} - - disable_card=0 - - # Check whether it's a valid kdrive server before we waste time - # on the rest of this - if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then - continue - fi - - if ! use ${card}; then - if use x86; then - # Some kdrive servers require fbdev and vesa - for i in ${kdrive_fbdev}; do - if use video_cards_${i}; then - if [[ ${real_card} = fbdev ]] \ - || [[ ${real_card} = vesa ]]; then - continue 2 # Don't disable - fi - fi - done - - # Some kdrive servers require just vesa - for i in ${kdrive_vesa}; do - if use video_cards_${i}; then - if [[ ${real_card} = vesa ]]; then - continue 2 # Don't disable - fi - fi - done - fi - disable_card=1 - # Bug #150052 - # fbdev is the only VIDEO_CARDS setting that works on non-x86 - elif ! use x86 \ - && [[ ${real_card} != fbdev ]]; then - ewarn " $real_card does not work on your architecture; disabling." - disable_card=1 - fi - - if [[ $disable_card = 1 ]]; then - ebegin " ${real_card}" - sed -i \ - -e "s:\b${real_card}\b::g" \ - ${S}/hw/kdrive/Makefile.am \ - || die "sed of ${real_card} failed" - eend - fi - - done - - # smi and via are the only things on line 2. If line 2 ends up blank, - # we need to get rid of the backslash at the end of line 1. - if ! use video_cards_siliconmotion && ! use video_cards_via; then - sed -i \ - -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ - ${S}/hw/kdrive/Makefile.am - 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/${OPENGL_DIR}/extensions - local x="" - for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do - if [ -f ${x} -o -L ${x} ]; then - mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions - fi - done - eend 0 -} - -server_based_install() { - use xprint && xprint_src_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 -} - -switch_opengl_implem() { - # Switch to the xorg implementation. - # Use new opengl-update that will not reset user selected - # OpenGL interface ... - echo -# eselect opengl set --use-old ${OPENGL_DIR} - eselect opengl set ${OLD_IMPLEM} -} - -xprint_src_install() { - # RH-style init script, we provide a wrapper - exeinto /usr/$(get_libdir)/misc - doexe ${S}/hw/xprint/etc/init.d/xprint - # Install the wrapper - newinitd ${FILESDIR}/xprint.init xprint - # Install profile scripts - insinto /etc/profile.d - doins ${S}/hw/xprint/etc/profile.d/xprint* - insinto /etc/X11/xinit/xinitrc.d - doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist - # Patch profile scripts - sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ - get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ - ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist - # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo - dodoc ${D}/etc/profile.d/xprint* - rm -f ${D}/etc/profile.d/xprint* -} - -ensure_a_server_is_building() { - for server in ${IUSE_SERVERS}; do - use ${server} && return; - done - eerror "You need to specify at least one server to build." - eerror "Valid servers are: ${IUSE_SERVERS}." - die "No servers were specified to build." -} diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild deleted file mode 100644 index a55b6bb..0000000 --- a/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild +++ /dev/null @@ -1,531 +0,0 @@ -# Copyright 1999-2007 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.2.0-r2.ebuild,v 1.1 2007/03/17 00:04:21 joshuabaergen Exp $ - -# Must be before x-modular eclass is inherited -#SNAPSHOT="yes" - -inherit x-modular multilib - -OPENGL_DIR="xorg-x11" - -MESA_PN="Mesa" -MESA_PV="6.5.2" -MESA_P="${MESA_PN}-${MESA_PV}" -MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" - -SRC_URI="${SRC_URI} - mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 - http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" -DESCRIPTION="X.Org X servers" -# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work -RESTRICT="stricter" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" -IUSE_INPUT_DEVICES=" - input_devices_acecad - input_devices_aiptek - input_devices_calcomp - input_devices_citron - input_devices_digitaledge - input_devices_dmc - input_devices_dynapro - input_devices_elo2300 - input_devices_elographics - input_devices_evdev - input_devices_fpit - input_devices_hyperpen - input_devices_jamstudio - input_devices_joystick - input_devices_keyboard - input_devices_magellan - input_devices_microtouch - input_devices_mouse - input_devices_mutouch - input_devices_palmax - input_devices_penmount - input_devices_spaceorb - input_devices_summa - input_devices_tek4957 - input_devices_ur98 - input_devices_vmmouse - input_devices_void - - input_devices_synaptics - input_devices_wacom" -IUSE_VIDEO_CARDS=" - video_cards_apm - video_cards_ark - video_cards_chips - video_cards_cirrus - video_cards_cyrix - video_cards_dummy - video_cards_epson - video_cards_fbdev - video_cards_glint - video_cards_i128 - video_cards_i740 - video_cards_i810 - video_cards_impact - video_cards_imstt - video_cards_mach64 - video_cards_mga - video_cards_neomagic - video_cards_newport - video_cards_nsc - video_cards_nv - video_cards_r128 - video_cards_radeon - video_cards_rendition - video_cards_s3 - video_cards_s3virge - video_cards_savage - video_cards_siliconmotion - video_cards_sis - video_cards_sisusb - video_cards_sunbw2 - video_cards_suncg14 - video_cards_suncg3 - video_cards_suncg6 - video_cards_sunffb - video_cards_sunleo - video_cards_suntcx - video_cards_tdfx - video_cards_tga - video_cards_trident - video_cards_tseng - video_cards_v4l - video_cards_vesa - video_cards_vga - video_cards_via - video_cards_vmware - video_cards_voodoo - - video_cards_fglrx - video_cards_nvidia" -IUSE_SERVERS="dmx kdrive xorg" -IUSE="${IUSE_VIDEO_CARDS} - ${IUSE_INPUT_DEVICES} - ${IUSE_SERVERS} - 3dfx - dri ipv6 minimal nptl sdl xprint" -RDEPEND=">=x11-libs/libXfont-1.2.5 - x11-libs/xtrans - x11-libs/libXau - x11-libs/libXext - x11-libs/libX11 - x11-libs/libxkbfile - x11-libs/libXdmcp - x11-libs/libXmu - x11-libs/libXrender - x11-libs/libXi - media-libs/freetype - >=media-libs/mesa-6.5.2 - media-fonts/font-adobe-75dpi - media-fonts/font-misc-misc - media-fonts/font-cursor-misc - x11-misc/xbitmaps - || ( x11-misc/xkeyboard-config x11-misc/xkbdata ) - x11-apps/iceauth - x11-apps/rgb - x11-apps/xauth - x11-apps/xinit - app-admin/eselect-opengl - x11-libs/libXaw - x11-libs/libXpm - x11-libs/libXxf86misc - x11-libs/libXxf86vm - dmx? ( x11-libs/libdmx ) - !minimal? ( x11-libs/libXtst - x11-libs/libXres ) - >=x11-libs/libxkbui-1.0.2 - x11-libs/liblbxutil - kdrive? ( sdl? ( media-libs/libsdl ) )" - # Xres is dmx-dependent, xkbui is xorgcfg-dependent - # Xaw is dmx- and xorgcfg-dependent - # Xpm is dmx- and xorgcfg-dependent, pulls in Xt - # Xxf86misc and Xxf86vm are xorgcfg-dependent - # liblbxutil is lbx- dependent -DEPEND="${RDEPEND} - x11-proto/randrproto - x11-proto/renderproto - >=x11-proto/fixesproto-4 - x11-proto/damageproto - x11-proto/xextproto - x11-proto/xproto - x11-proto/xf86dgaproto - x11-proto/xf86miscproto - x11-proto/xf86rushproto - x11-proto/xf86vidmodeproto - x11-proto/xf86bigfontproto - >=x11-proto/compositeproto-0.3 - x11-proto/recordproto - x11-proto/resourceproto - x11-proto/videoproto - >=x11-proto/scrnsaverproto-1.1.0 - x11-proto/evieext - x11-proto/trapproto - >=x11-proto/xineramaproto-1.1-r1 - x11-proto/fontsproto - >=x11-proto/kbproto-1.0.3 - x11-proto/inputproto - x11-proto/bigreqsproto - x11-proto/xcmiscproto - >=x11-proto/glproto-1.4.8 - dmx? ( x11-proto/dmxproto ) - dri? ( x11-proto/xf86driproto - >=x11-libs/libdrm-2.3 ) - xprint? ( x11-proto/printproto - x11-apps/mkfontdir - x11-apps/mkfontscale - x11-apps/xplsprinters )" - -# Drivers -PDEPEND=" - xorg? ( - input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) - input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) - input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) - input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) - input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) - input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) - input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) - input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) - input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) - input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) - input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) - input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) - input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) - input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) - input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) - input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) - input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) - input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) - input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) - input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) - input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) - input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) - input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) - input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) - input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) - input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) - input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) - - input_devices_synaptics? ( x11-drivers/synaptics ) - input_devices_wacom? ( x11-drivers/linuxwacom ) - - video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) - video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) - video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) - video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) - video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) - video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) - video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) - video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) - video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) - video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) - video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) - video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) - video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) - video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) - video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) - video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) - video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) - video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) - video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) - video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) - video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) - video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) - video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) - video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) - video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) - video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) - video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) - video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) - video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) - video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) - video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) - video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) - video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) - video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) - video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) - video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) - video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) - video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) - video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) - video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) - video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) - video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) - video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) - - video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) - video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 ) - video_cards_nvidia? ( || ( - >=x11-drivers/nvidia-drivers-1.0.8774 - >=x11-drivers/nvidia-legacy-drivers-1.0.7184 - ) - ) - )" -LICENSE="${LICENSE} MIT" - -PATCHES="${FILESDIR}/${PV}-server-damage-version.patch - ${FILESDIR}/${PV}-server-randr-version.patch - ${FILESDIR}/${PV}-client-leak.patch - ${FILESDIR}/${P}-loongson.patch" - -pkg_setup() { - use minimal || ensure_a_server_is_building - - # SDL only available in kdrive build - if use kdrive && use sdl; then - conf_opts="${conf_opts} --enable-xsdl" - else - conf_opts="${conf_opts} --disable-xsdl" - fi - - # Only Xorg and Xgl support this, and we won't build Xgl - # until it merges to trunk - if use xorg; then - conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" - 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 - # --enable-install-setuid needed because sparcs default off - CONFIGURE_OPTIONS=" - $(use_enable ipv6) - $(use_enable dmx) - $(use_enable kdrive) - $(use_enable !minimal xvfb) - $(use_enable !minimal xnest) - $(use_enable !minimal install-libxf86config) - $(use_enable dri) - $(use_enable xorg) - $(use_enable xprint) - $(use_enable nptl glx-tls) - $(use_enable !minimal xorgcfg) - --sysconfdir=/etc/X11 - --localstatedir=/var - --enable-install-setuid - --with-fontdir=/usr/share/fonts - ${conf_opts}" - - local diemsg="You must build xorg-server and mesa with the same nptl USE setting." - if built_with_use media-libs/mesa nptl; then - use nptl || die "${diemsg}" - else - use nptl && die "${diemsg}" - fi - - # (#121394) Causes window corruption - filter-flags -fweb - - # Nothing else provides new enough glxtokens.h - ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." - OLD_IMPLEM="$(eselect opengl show)" - eselect opengl set --impl-headers ${OPENGL_DIR} -} - -src_unpack() { - x-modular_specs_check - x-modular_dri_check - x-modular_unpack_source - x-modular_patch_source - - # Set up kdrive servers to build - if use kdrive; then - kdrive_setup - fi - - # Make sure eautoreconf gets run if we need the autoconf/make - # changes. - if [[ ${SNAPSHOT} != "yes" ]]; then - if use kdrive; then - eautoreconf - fi - fi - x-modular_reconf_source -} - -src_install() { - x-modular_src_install - - dynamic_libgl_install - - server_based_install - - # Install video mode files for system-config-display - insinto /usr/share/xorg - doins hw/xfree86/common/{extra,vesa}modes \ - || die "couldn't install extra modes" - - # Bug #151421 - this file is not built with USE="minimal" - # Bug #151670 - this file is also not build if USE="-xorg" - if ! use minimal && use xorg; then - # Install xorg.conf.example - insinto /etc/X11 - doins hw/xfree86/xorg.conf.example \ - || die "couldn't install xorg.conf.example" - fi -} - -pkg_postinst() { - switch_opengl_implem - - # Bug #135544 - ewarn "Users of reduced blanking now need:" - ewarn " Option \"ReducedBlanking\"" - ewarn "In the relevant Monitor section(s)." - ewarn "Make sure your reduced blanking modelines are safe!" -} - -pkg_postrm() { - # Get rid of module dir to ensure opengl-update works properly - if ! has_version x11-base/xorg-server; then - if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then - rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules - fi - fi -} - -kdrive_setup() { - local card real_card disable_card kdrive_fbdev kdrive_vesa - - einfo "Removing unused kdrive drivers ..." - - # Some kdrive servers require fbdev and vesa - kdrive_fbdev="radeon neomagic sis siliconmotion" - # Some kdrive servers require just vesa - kdrive_vesa="chips mach64 mga nv glint r128 via" - - for card in ${IUSE_VIDEO_CARDS}; do - real_card=${card#video_cards_} - - # Differences between VIDEO_CARDS name and kdrive server name - real_card=${real_card/glint/pm2} - real_card=${real_card/radeon/ati} - real_card=${real_card/%nv/nvidia} - real_card=${real_card/siliconmotion/smi} - real_card=${real_card/%sis/sis300} - - disable_card=0 - - # Check whether it's a valid kdrive server before we waste time - # on the rest of this - if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then - continue - fi - - if ! use ${card}; then - if use x86; then - # Some kdrive servers require fbdev and vesa - for i in ${kdrive_fbdev}; do - if use video_cards_${i}; then - if [[ ${real_card} = fbdev ]] \ - || [[ ${real_card} = vesa ]]; then - continue 2 # Don't disable - fi - fi - done - - # Some kdrive servers require just vesa - for i in ${kdrive_vesa}; do - if use video_cards_${i}; then - if [[ ${real_card} = vesa ]]; then - continue 2 # Don't disable - fi - fi - done - fi - disable_card=1 - # Bug #150052 - # fbdev is the only VIDEO_CARDS setting that works on non-x86 - elif ! use x86 \ - && [[ ${real_card} != fbdev ]]; then - ewarn " $real_card does not work on your architecture; disabling." - disable_card=1 - fi - - if [[ $disable_card = 1 ]]; then - ebegin " ${real_card}" - sed -i \ - -e "s:\b${real_card}\b::g" \ - ${S}/hw/kdrive/Makefile.am \ - || die "sed of ${real_card} failed" - eend - fi - - done - - # smi and via are the only things on line 2. If line 2 ends up blank, - # we need to get rid of the backslash at the end of line 1. - if ! use video_cards_siliconmotion && ! use video_cards_via; then - sed -i \ - -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ - ${S}/hw/kdrive/Makefile.am - 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/${OPENGL_DIR}/extensions - local x="" - for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do - if [ -f ${x} -o -L ${x} ]; then - mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions - fi - done - eend 0 -} - -server_based_install() { - use xprint && xprint_src_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 -} - -switch_opengl_implem() { - # Switch to the xorg implementation. - # Use new opengl-update that will not reset user selected - # OpenGL interface ... - echo -# eselect opengl set --use-old ${OPENGL_DIR} - eselect opengl set ${OLD_IMPLEM} -} - -xprint_src_install() { - # RH-style init script, we provide a wrapper - exeinto /usr/$(get_libdir)/misc - doexe ${S}/hw/xprint/etc/init.d/xprint - # Install the wrapper - newinitd ${FILESDIR}/xprint.init xprint - # Install profile scripts - insinto /etc/profile.d - doins ${S}/hw/xprint/etc/profile.d/xprint* - insinto /etc/X11/xinit/xinitrc.d - doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist - # Patch profile scripts - sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ - get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ - ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist - # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo - dodoc ${D}/etc/profile.d/xprint* - rm -f ${D}/etc/profile.d/xprint* -} - -ensure_a_server_is_building() { - for server in ${IUSE_SERVERS}; do - use ${server} && return; - done - eerror "You need to specify at least one server to build." - eerror "Valid servers are: ${IUSE_SERVERS}." - die "No servers were specified to build." -} diff --git a/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild b/x11-base/xorg-server/xorg-server-1.3.0.0-r5.ebuild index 48e94c2..1cb4fac 100644 --- a/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild +++ b/x11-base/xorg-server/xorg-server-1.3.0.0-r5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2007 Gentoo Foundation +# Copyright 1999-2008 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.3.0.0.ebuild,v 1.7 2007/05/05 16:07:09 joshuabaergen Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.3.0.0-r5.ebuild,v 1.7 2008/02/11 06:04:07 philantrop Exp $ # Must be before x-modular eclass is inherited -#SNAPSHOT="yes" +SNAPSHOT="yes" inherit x-modular multilib @@ -18,9 +18,7 @@ SRC_URI="${SRC_URI} mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" DESCRIPTION="X.Org X servers" -# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work -RESTRICT="stricter" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +KEYWORDS="alpha amd64 ~arm hppa ia64 ~mips ppc ppc64 ~sh sparc x86 ~x86-fbsd" IUSE_INPUT_DEVICES=" input_devices_acecad input_devices_aiptek @@ -99,6 +97,7 @@ IUSE_VIDEO_CARDS=" video_cards_via video_cards_vmware video_cards_voodoo + video_cards_fglrx video_cards_nvidia" IUSE_SERVERS="dmx kdrive xorg" IUSE="${IUSE_VIDEO_CARDS} @@ -114,7 +113,7 @@ RDEPEND=">=x11-libs/libXfont-1.2.5 x11-libs/libxkbfile x11-libs/libXdmcp x11-libs/libXmu - x11-libs/libXrender + <x11-libs/libXrender-0.9.3 x11-libs/libXi media-libs/freetype >=media-libs/mesa-6.5.2 @@ -146,7 +145,7 @@ RDEPEND=">=x11-libs/libXfont-1.2.5 # liblbxutil is lbx- dependent DEPEND="${RDEPEND} >=x11-proto/randrproto-1.2.1 - x11-proto/renderproto + <x11-proto/renderproto-0.9.3 >=x11-proto/fixesproto-4 >=x11-proto/damageproto-1.1 x11-proto/xextproto @@ -195,7 +194,7 @@ PDEPEND=" input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) - input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) + input_devices_keyboard? ( =x11-drivers/xf86-input-keyboard-1.1* ) input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) @@ -257,18 +256,40 @@ PDEPEND=" video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) - video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) - video_cards_nvidia? ( || ( - >=x11-drivers/nvidia-drivers-1.0.8774 - >=x11-drivers/nvidia-legacy-drivers-1.0.7184 - ) - ) - !x11-drivers/ati-drivers + video_cards_nvidia? ( x11-drivers/nvidia-drivers ) + video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.37.6 ) )" LICENSE="${LICENSE} MIT" -PATCHES="${FILESDIR}/${P}-loongson.patch" +PATCHES=" + ${FILESDIR}/${P}-loongson.patch + ${FILESDIR}/${PV}-fix-xkb-openoffice-hangs.patch + ${FILESDIR}/${PV}-fix-dual-head-screen-resolutions.patch + ${FILESDIR}/${PV}-fix-randr-resizing.patch + ${FILESDIR}/${PV}-fix-xephyr-amd64-segfault.patch + ${FILESDIR}/${PV}-ramdac.patch + ${FILESDIR}/use-composite-for-unequal-depths.patch + ${FILESDIR}/1.2.0-fix-amd-cpu-detection.patch + ${FILESDIR}/1.2.0-properly-free-device-devprivates-memory-leak-fix.patch + ${FILESDIR}/1.2.0-typo-fix.patch + ${FILESDIR}/1.2.0-zero-out-client-devprivates-on-allocation.patch + ${FILESDIR}/${PV}-use-proc-instead-of-sys.patch + ${FILESDIR}/avoid-crash-on-minimized-xv-window.patch + ${FILESDIR}/xorg-server-sam225bw-quirks.patch + ${FILESDIR}/1.3-alpha-build-fix.patch + ${FILESDIR}/${PV}-xephyr_crash_at_exit.patch + ${FILESDIR}/xorg-x11-server-1.0.1-fpic-libxf86config.patch + ${FILESDIR}/1.4-0001-Fix-for-CVE-2007-5760-XFree86-Misc-extension-out-o.patch + ${FILESDIR}/1.4-0002-Fix-for-CVE-2007-6428-TOG-cup-extension-memory-cor.patch + ${FILESDIR}/1.3-0003-Fix-for-CVE-2007-6427-Xinput-extension-memory-corr.patch + ${FILESDIR}/1.4-0004-Fix-for-CVE-2007-6429-MIT-SHM-and-EVI-extensions-i.patch + ${FILESDIR}/1.4-0005-Fix-for-CVE-2008-0006-PCF-Font-parser-buffer-overf.patch + ${FILESDIR}/1.3-0006-Fix-for-CVE-2007-5958-File-existence-disclosure.patch + ${FILESDIR}/1.4-0007-CVE-2007-6429-Don-t-spuriously-reject-8bpp-shm-pix.patch + ${FILESDIR}/1.4-0008-CVE-2007-6429-Always-test-for-size-offset-wrapping.patch + ${FILESDIR}/1.4-0009-Don-t-break-grab-and-focus-state-for-a-window-when-r.patch + " pkg_setup() { use minimal || ensure_a_server_is_building @@ -306,6 +327,7 @@ pkg_setup() { --localstatedir=/var --enable-install-setuid --with-fontdir=/usr/share/fonts + --with-xkb-output=/var/lib/xkb ${conf_opts}" local diemsg="You must build xorg-server and mesa with the same nptl USE setting." @@ -343,6 +365,12 @@ src_unpack() { fi fi x-modular_reconf_source + #do not install xprint's Xsession.d files, we'll do it later + if use xprint; then + sed -e "s:install-data-am\: install-dist_xpcDATA:install-data-am\::g" \ + -i "${S}"/hw/xprint/etc/Xsession.d/Makefile.in \ + || die "sed of Xsession.d makefile failed" + fi } src_install() { @@ -380,8 +408,8 @@ pkg_postinst() { pkg_postrm() { # Get rid of module dir to ensure opengl-update works properly if ! has_version x11-base/xorg-server; then - if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then - rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules + if [[ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]]; then + rm -rf "${ROOT}"/usr/$(get_libdir)/xorg/modules fi fi } @@ -410,7 +438,7 @@ kdrive_setup() { # Check whether it's a valid kdrive server before we waste time # on the rest of this - if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then + if ! grep -q -o "\b${real_card}\b" "${S}"/hw/kdrive/Makefile.am; then continue fi @@ -448,7 +476,7 @@ kdrive_setup() { ebegin " ${real_card}" sed -i \ -e "s:\b${real_card}\b::g" \ - ${S}/hw/kdrive/Makefile.am \ + "${S}"/hw/kdrive/Makefile.am \ || die "sed of ${real_card} failed" eend fi @@ -460,7 +488,7 @@ kdrive_setup() { if ! use video_cards_siliconmotion && ! use video_cards_via; then sed -i \ -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ - ${S}/hw/kdrive/Makefile.am + "${S}"/hw/kdrive/Makefile.am fi } @@ -469,9 +497,9 @@ dynamic_libgl_install() { ebegin "Moving GL files for dynamic switching" dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions local x="" - for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do + for x in "${D}"/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do if [ -f ${x} -o -L ${x} ]; then - mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions fi done eend 0 @@ -481,10 +509,10 @@ server_based_install() { use xprint && xprint_src_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 + 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 } @@ -500,21 +528,21 @@ switch_opengl_implem() { xprint_src_install() { # RH-style init script, we provide a wrapper exeinto /usr/$(get_libdir)/misc - doexe ${S}/hw/xprint/etc/init.d/xprint + doexe "${S}"/hw/xprint/etc/init.d/xprint # Install the wrapper - newinitd ${FILESDIR}/xprint.init xprint + newinitd "${FILESDIR}"/xprint.init xprint # Install profile scripts insinto /etc/profile.d - doins ${S}/hw/xprint/etc/profile.d/xprint* + doins "${S}"/hw/xprint/etc/profile.d/xprint* insinto /etc/X11/xinit/xinitrc.d - doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist + doins "${S}"/hw/xprint/etc/Xsession.d/92xprint-xpserverlist # Patch profile scripts sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ - get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ - ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist + get_xpserverlist:g" -i "${D}"/etc/profile.d/xprint* \ + "${D}"/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo - dodoc ${D}/etc/profile.d/xprint* - rm -f ${D}/etc/profile.d/xprint* + dodoc "${D}"/etc/profile.d/xprint* + rm -f "${D}"/etc/profile.d/xprint* } ensure_a_server_is_building() { |