From df665ca51eebd771c1fd3f0b69d822776c900bc3 Mon Sep 17 00:00:00 2001 From: Mart Raudsepp Date: Fri, 9 Mar 2012 02:17:18 +0200 Subject: xorg-server: Sync 1.9 with portage until we can move to 1.10 and beyond This version bumps to 1.9.5 from portage, and includes the security fix in portage -r1. The immediate benefits are the syncing the USE flags, so that virtualx.eclass based test USE dependencies can be met, and the version bump to 1.9.5 itself with the security fix. For upgrading to the 1.10 and 1.11 series need to first test the loongson patches --- x11-base/xorg-server/Manifest | 7 +- .../files/xorg-cve-2011-4028+4029.patch | 22 ++ .../files/xorg-server-1.9.4-loongson.patch | 53 ---- .../files/xorg-server-1.9.5-loongson.patch | 53 ++++ x11-base/xorg-server/xorg-server-1.9.4.ebuild | 271 -------------------- x11-base/xorg-server/xorg-server-1.9.5-r1.ebuild | 272 +++++++++++++++++++++ 6 files changed, 351 insertions(+), 327 deletions(-) create mode 100644 x11-base/xorg-server/files/xorg-cve-2011-4028+4029.patch delete mode 100644 x11-base/xorg-server/files/xorg-server-1.9.4-loongson.patch create mode 100644 x11-base/xorg-server/files/xorg-server-1.9.5-loongson.patch delete mode 100644 x11-base/xorg-server/xorg-server-1.9.4.ebuild create mode 100644 x11-base/xorg-server/xorg-server-1.9.5-r1.ebuild diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest index 908871f..79e0d21 100644 --- a/x11-base/xorg-server/Manifest +++ b/x11-base/xorg-server/Manifest @@ -1,13 +1,14 @@ AUX xdm-setup.initd-1 346 RMD160 e68512e71adbf15743f789bb6b5587b07a9812a3 SHA1 f25303b8bcef0c5d2eb61517d5347b4b88736cd4 SHA256 942ce5e8d1a0770543b683dcc388bae7619a24eb9741c1cd678ed3df97c01406 AUX xdm.confd-3 853 RMD160 363cd18f760650923e16579bf55f661e93dad63b SHA1 0027b98f2aeb5c43219fa4f9b7d81a05101bec6f SHA256 00af0d957ff1b4f31c1aa4701d93a54080408548792deafac5414cbfa13b89ec AUX xdm.initd-3 5396 RMD160 eb1741ec3a80f83948150610a595115ff96d4833 SHA1 788097c7b72ae7c3df2348b2b503405b50046156 SHA256 10181710766bac1dc33093ee2775d63f58a43d2d9ffcc709d0b9181749912b70 +AUX xorg-cve-2011-4028+4029.patch 671 RMD160 f9c607b5bfe20259f2adb320b6a1a0819f59f7ab SHA1 84797b66434aa05acc9f6881050d1b46487caf77 SHA256 76b9bb4a928fa7179eb52ab3b2bd2ef6d7db83e0543ba80de37cdab05efa601c AUX xorg-server-1.9-nouveau-default.patch 916 RMD160 0ebdf0fb76364b7fd0c520c3a2f7cc2cc1a83446 SHA1 daddde0f4f4276e12b87354d2e6825ed5c74c6eb SHA256 a7ff421dd928e3025194279f9afb7cc033a896b3417abe339741e9c6ed4b54ea -AUX xorg-server-1.9.4-loongson.patch 1899 RMD160 5705d24c037697d7c8f4eed53e6fd0c6b0962040 SHA1 27b6440970ffcceec5bb45c09de16a8ee8a6ef1e SHA256 fa2b1769ff6d5b1879053d64328bd1a08f9ead1b676ceda06a897d1f7c509552 +AUX xorg-server-1.9.5-loongson.patch 1899 RMD160 5705d24c037697d7c8f4eed53e6fd0c6b0962040 SHA1 27b6440970ffcceec5bb45c09de16a8ee8a6ef1e SHA256 fa2b1769ff6d5b1879053d64328bd1a08f9ead1b676ceda06a897d1f7c509552 AUX xorg-server-9999-loongson.patch 4107 RMD160 19aed186ec0163a4a1a81574040592ab8d8e1a06 SHA1 a39df02932f9d24693e79bbcbb80e7e6a5c74fa0 SHA256 a19a28c5f4930348e7e4ed471d3d0e53f9d936e7a4c756281ada480b63ecc039 AUX xorg-server-disable-acpi.patch 663 RMD160 7074ca5276369b746ea7606a0795232aafe07c90 SHA1 d300a37dd2e0a8aa3965948c13f6995e6767841d SHA256 5b3cc7c8bea18fe3ba81851d2846d19ffd8fab9cdf5d8f3a274846847e734200 AUX xorg-server-loongson-fix-smi-16bpp.patch 478 RMD160 bc4383c3ce55e051e255cd972d496542ac9a5eb5 SHA1 e020301ec281e8fdd4bf9d05f8d62448ae4ac20a SHA256 39d65416a4a8f8db3c73165109c265c92c7977b4b54f9092cf2551a855e392ca AUX xorg-sets.conf 199 RMD160 33815115b6e8b8360af4f0778b0e2c5fb1a9aaee SHA1 b5a2fd01a97558fa909c67f510d8a59b55e20f57 SHA256 1201d0337ac69d9715f4454a86dfb8a7bd1ae6f4c2578042fc08f283a997597c -DIST xorg-server-1.9.4.tar.bz2 5191944 RMD160 1a5531de1eba9939b012e0c7f5628f2ffa553273 SHA1 e8d5776fe973f15c0e907fd827106f8d296acf7e SHA256 ad11047ebba58f2e37b03c70c986db3ea0cc0f1a19d2d3612713ab77b8ec2458 -EBUILD xorg-server-1.9.4.ebuild 7969 RMD160 dcc813a298974013c0fcc41643cbbdcca89fb54e SHA1 1d735aad993099fd3b813335882345c4343d0846 SHA256 1784ccb94d1596190e2d9ffc47788c2de10db989d870d4316472c982f3abbf0d +DIST xorg-server-1.9.5.tar.bz2 5172054 RMD160 6383b126ed313943fc5cb0939fdae4a737aabb70 SHA1 03be24d6906f3ed3237057a5a7df2b02723c9749 SHA256 3fc775097c4f0e8f731447d0183ee709ae37c44c0c286ba00a4b028274e029dc +EBUILD xorg-server-1.9.5-r1.ebuild 8011 RMD160 4db5d07629aa985fa58f7274985a669ed437ef3d SHA1 32207cbd09f746e7e87d2483ef416002fcfa8b3e SHA256 9eb896d532a72a4962cc085ada9889f63fceb5f34c1df351ed5e9f229b224839 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/xorg-cve-2011-4028+4029.patch b/x11-base/xorg-server/files/xorg-cve-2011-4028+4029.patch new file mode 100644 index 0000000..66e77f6 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-cve-2011-4028+4029.patch @@ -0,0 +1,22 @@ +diff --git a/os/utils.c b/os/utils.c +index e8ecb71..18ff1ca 100644 +--- a/os/utils.c ++++ b/os/utils.c +@@ -297,7 +297,7 @@ LockServer(void) + FatalError("Could not create lock file in %s\n", tmp); + (void) sprintf(pid_str, "%10ld\n", (long)getpid()); + (void) write(lfd, pid_str, 11); +- (void) chmod(tmp, 0444); ++ (void) fchmod(lfd, 0444); + (void) close(lfd); + + /* +@@ -318,7 +318,7 @@ LockServer(void) + /* + * Read the pid from the existing file + */ +- lfd = open(LockFile, O_RDONLY); ++ lfd = open(LockFile, O_RDONLY|O_NOFOLLOW); + if (lfd < 0) { + unlink(tmp); + FatalError("Can't read lock file %s\n", LockFile); diff --git a/x11-base/xorg-server/files/xorg-server-1.9.4-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.9.4-loongson.patch deleted file mode 100644 index 4351f28..0000000 --- a/x11-base/xorg-server/files/xorg-server-1.9.4-loongson.patch +++ /dev/null @@ -1,53 +0,0 @@ -diff --git a/hw/xfree86/dri/sarea.h b/hw/xfree86/dri/sarea.h -index 1528cc1..6be12b9 100644 ---- a/hw/xfree86/dri/sarea.h -+++ b/hw/xfree86/dri/sarea.h -@@ -42,6 +42,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 --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c -index 688106a..1552860 100644 ---- a/hw/xfree86/os-support/linux/lnx_video.c -+++ b/hw/xfree86/os-support/linux/lnx_video.c -@@ -505,9 +505,10 @@ _X_EXPORT volatile unsigned char *ioBase = NULL; - _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) -@@ -532,7 +533,22 @@ xf86EnableIO(void) - #endif - } - close(fd); --#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) -+#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__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) - 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.9.5-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.9.5-loongson.patch new file mode 100644 index 0000000..4351f28 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.9.5-loongson.patch @@ -0,0 +1,53 @@ +diff --git a/hw/xfree86/dri/sarea.h b/hw/xfree86/dri/sarea.h +index 1528cc1..6be12b9 100644 +--- a/hw/xfree86/dri/sarea.h ++++ b/hw/xfree86/dri/sarea.h +@@ -42,6 +42,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 --git a/hw/xfree86/os-support/linux/lnx_video.c b/hw/xfree86/os-support/linux/lnx_video.c +index 688106a..1552860 100644 +--- a/hw/xfree86/os-support/linux/lnx_video.c ++++ b/hw/xfree86/os-support/linux/lnx_video.c +@@ -505,9 +505,10 @@ _X_EXPORT volatile unsigned char *ioBase = NULL; + _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) +@@ -532,7 +533,22 @@ xf86EnableIO(void) + #endif + } + close(fd); +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) ++#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__) && !defined(__s390__) && !defined(__arm__) && !defined(__m32r__) + 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/xorg-server-1.9.4.ebuild b/x11-base/xorg-server/xorg-server-1.9.4.ebuild deleted file mode 100644 index 308a237..0000000 --- a/x11-base/xorg-server/xorg-server-1.9.4.ebuild +++ /dev/null @@ -1,271 +0,0 @@ -# Copyright 1999-2011 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.9.4.ebuild,v 1.6 2011/03/01 10:07:11 chithanh Exp $ - -EAPI=3 -inherit xorg-2 multilib versionator - -EGIT_REPO_URI="git://anongit.freedesktop.org/git/xorg/xserver" - -OPENGL_DIR="xorg-x11" - -DESCRIPTION="X.Org X servers" -KEYWORDS="~alpha amd64 ~arm hppa ~ia64 ~mips ppc ~ppc64 ~sh ~sparc x86 ~x86-fbsd" - -IUSE_SERVERS="dmx kdrive xorg" -IUSE="${IUSE_SERVERS} doc ipv6 minimal nptl tslib +udev" -RDEPEND=">=app-admin/eselect-opengl-1.0.8 - dev-libs/openssl - media-libs/freetype - >=x11-apps/iceauth-1.0.2 - >=x11-apps/rgb-1.0.3 - >=x11-apps/xauth-1.0.3 - x11-apps/xkbcomp - >=x11-libs/libpciaccess-0.10.3 - >=x11-libs/libXau-1.0.4 - >=x11-libs/libXdmcp-1.0.2 - >=x11-libs/libXfont-1.4.2 - >=x11-libs/libxkbfile-1.0.4 - >=x11-libs/pixman-0.15.20 - >=x11-libs/xtrans-1.2.2 - >=x11-misc/xbitmaps-1.0.1 - >=x11-misc/xkeyboard-config-1.4 - dmx? ( - x11-libs/libXt - >=x11-libs/libdmx-1.0.99.1 - >=x11-libs/libX11-1.1.5 - >=x11-libs/libXaw-1.0.4 - >=x11-libs/libXext-1.0.5 - >=x11-libs/libXfixes-4.0.3 - >=x11-libs/libXi-1.2.99.1 - >=x11-libs/libXmu-1.0.3 - >=x11-libs/libXres-1.0.3 - >=x11-libs/libXtst-1.0.3 - ) - kdrive? ( - >=x11-libs/libXext-1.0.5 - x11-libs/libXv - ) - !minimal? ( - >=x11-libs/libX11-1.1.5 - >=x11-libs/libXext-1.0.5 - >=media-libs/mesa-7.8_rc[nptl=] - ) - tslib? ( >=x11-libs/tslib-1.0 x11-proto/xcalibrateproto ) - udev? ( >=sys-fs/udev-150 )" - -DEPEND="${RDEPEND} - sys-devel/flex - >=x11-proto/bigreqsproto-1.1.0 - >=x11-proto/compositeproto-0.4 - >=x11-proto/damageproto-1.1 - >=x11-proto/fixesproto-4.1 - >=x11-proto/fontsproto-2.0.2 - >=x11-proto/glproto-1.4.11 - >=x11-proto/inputproto-1.9.99.902 - >=x11-proto/kbproto-1.0.3 - >=x11-proto/randrproto-1.2.99.3 - >=x11-proto/recordproto-1.13.99.1 - >=x11-proto/renderproto-0.11 - >=x11-proto/resourceproto-1.0.2 - >=x11-proto/scrnsaverproto-1.1 - >=x11-proto/trapproto-3.4.3 - >=x11-proto/videoproto-2.2.2 - >=x11-proto/xcmiscproto-1.2.0 - >=x11-proto/xextproto-7.0.99.3 - >=x11-proto/xf86dgaproto-2.0.99.1 - >=x11-proto/xf86rushproto-1.1.2 - >=x11-proto/xf86vidmodeproto-2.2.99.1 - >=x11-proto/xineramaproto-1.1.3 - >=x11-proto/xproto-7.0.17 - dmx? ( >=x11-proto/dmxproto-2.2.99.1 ) - doc? ( - >=app-doc/doxygen-1.6.1 - app-text/xmlto - ) - !minimal? ( - >=x11-proto/xf86driproto-2.1.0 - >=x11-proto/dri2proto-2.3 - >=x11-libs/libdrm-2.4.20 - ) - >=x11-apps/xinit-1.3" - -PDEPEND=" - xorg? ( >=x11-base/xorg-drivers-$(get_version_component_range 1-2) )" - -EPATCH_FORCE="yes" -EPATCH_SUFFIX="patch" - -# These have been sent upstream -UPSTREAMED_PATCHES=( -# "${WORKDIR}/patches/" - ) - -PATCHES=( - "${UPSTREAMED_PATCHES[@]}" - "${FILESDIR}"/${PN}-disable-acpi.patch - "${FILESDIR}"/${PN}-1.9-nouveau-default.patch - # A workaround for http://bugs.freedesktop.org/show_bug.cgi?id=21622 - "${FILESDIR}/xorg-server-loongson-fix-smi-16bpp.patch" - "${FILESDIR}/${P}-loongson.patch" - ) - -pkg_setup() { - xorg-2_pkg_setup - - use minimal || ensure_a_server_is_building - - # localstatedir is used for the log location; we need to override the default - # from ebuild.sh - # sysconfdir is used for the xorg.conf location; same applies - # --enable-install-setuid needed because sparcs default off - # NOTE: fop is used for doc generating ; and i have no idea if gentoo - # package it somewhere - CONFIGURE_OPTIONS=" - $(use_enable ipv6) - $(use_enable dmx) - $(use_enable kdrive) - $(use_enable kdrive kdrive-kbd) - $(use_enable kdrive kdrive-mouse) - $(use_enable kdrive kdrive-evdev) - $(use_enable tslib) - $(use_enable tslib xcalibrate) - $(use_enable !minimal xvfb) - $(use_enable !minimal xnest) - $(use_enable !minimal record) - $(use_enable !minimal xfree86-utils) - $(use_enable !minimal install-libxf86config) - $(use_enable !minimal dri) - $(use_enable !minimal dri2) - $(use_enable !minimal glx) - $(use_enable xorg) - $(use_enable nptl glx-tls) - $(use_enable udev config-udev) - $(use_with doc doxygen) - $(use_with doc xmlto) - --sysconfdir=/etc/X11 - --localstatedir=/var - --enable-install-setuid - --with-fontrootdir=/usr/share/fonts - --with-xkb-output=/var/lib/xkb - --disable-config-hal - --without-dtrace - --without-fop - --with-os-vendor=Gentoo - ${conf_opts}" - - # Xorg-server requires includes from OS mesa which are not visible for - # users of binary drivers. - # Due to the limitations of CONFIGURE_OPTIONS, we have to export this - mkdir -p "${T}/mesa-symlinks/GL" - for i in gl glx glxmd glxproto glxtokens; do - ln -s "${EROOT}usr/$(get_libdir)/opengl/xorg-x11/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die - done - for i in glext glxext; do - ln -s "${EROOT}usr/$(get_libdir)/opengl/global/include/$i.h" "${T}/mesa-symlinks/GL/$i.h" || die - done - append-cppflags "-I${T}/mesa-symlinks" - - # (#121394) Causes window corruption - filter-flags -fweb - - # Incompatible with GCC 3.x SSP on x86, bug #244352 - if use x86 ; then - if [[ $(gcc-major-version) -lt 4 ]]; then - filter-flags -fstack-protector - fi - fi - - # Incompatible with GCC 3.x CPP, bug #314615 - if [[ $(gcc-major-version) -lt 4 ]]; then - ewarn "GCC 3.x C preprocessor may cause build failures. Use GCC 4.x" - ewarn "or set CPP=cpp-4.3.4 (replace with the actual installed version)" - fi - - # detect if we should inform user about ebuild breakage - if ! has_version "x11-base/xorg-server" || - has_version "