Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Apr 2014 11:43:12 +0000 (UTC)
From:      Koop Mast <kwm@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r351995 - in head/x11-servers/xorg-server: . files
Message-ID:  <201404241143.s3OBhC2Q002179@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kwm
Date: Thu Apr 24 11:43:11 2014
New Revision: 351995
URL: http://svnweb.freebsd.org/changeset/ports/351995
QAT: https://qat.redports.org/buildarchive/r351995/

Log:
  Fix BadImplemented errors that happen with gdk 3.12.x and GNOME 3. [1]
  Use INSTALL_TARGET=install-strip for stripping.
  Allow user to package xorg-server again.
  
  Obtained from:	debian [1]

Added:
  head/x11-servers/xorg-server/files/extra-new-bad-impl   (contents, props changed)
Modified:
  head/x11-servers/xorg-server/Makefile

Modified: head/x11-servers/xorg-server/Makefile
==============================================================================
--- head/x11-servers/xorg-server/Makefile	Thu Apr 24 11:28:11 2014	(r351994)
+++ head/x11-servers/xorg-server/Makefile	Thu Apr 24 11:43:11 2014	(r351995)
@@ -35,10 +35,11 @@ OPTIONS_EXCLUDE_sparc64=	HAL
 
 .if defined(WITH_NEW_XORG)
 XORG_VERSION=	1.12.4
-XORG_REVISION=	6
+XORG_REVISION=	7
 PLIST_SUB+=	OLD="@comment " NEW=""
 EXTRA_PATCHES+=	${FILESDIR}/extra-clang \
 		${FILESDIR}/extra-configure \
+		${FILESDIR}/extra-new-bad-impl \
 		${FILESDIR}/extra-new-dix_dixfonts.c
 .else
 XORG_VERSION=	1.7.7
@@ -69,6 +70,7 @@ CONFIGURE_ARGS?=--disable-dmx --disable-
 		--without-xmlto --disable-docs --disable-devel-docs \
 		--localstatedir=/var --without-dtrace --disable-xephyr \
 		--enable-record=yes
+INSTALL_TARGET=	install-strip
 
 .if ${SLAVE_PORT} == "no"
 SUB_FILES=	pkg-install pkg-deinstall
@@ -104,11 +106,11 @@ CONFIGURE_ARGS+=	--enable-aiglx=yes
 CONFIGURE_ARGS+=	--enable-aiglx=no
 .endif
 
+# We handle Xorg setuid in the plist. This allows to build xorg-server as a user
+CONFIGURE_ARGS+=--enable-install-setuid=no
 .if ${PORT_OPTIONS:MSUID}
-CONFIGURE_ARGS+=--enable-install-setuid=yes
 PLIST_SUB+=	SUID=""
 .else
-CONFIGURE_ARGS+=--enable-install-setuid=no
 PLIST_SUB+=	SUID="@comment "
 .endif
 
@@ -193,11 +195,6 @@ post-install:
 	${MKDIR} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg
 	${INSTALL_LIB} ${WRKSRC}/hw/xfree86/dixmods/.libs/libglx.so \
 		${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/.xorg/
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/*.so
-.if !defined(WITH_NEW_XORG)
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/extensions/*.so
-.endif
-	@${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/xorg/modules/multimedia/*.so
 
 .if defined(WITH_NEW_XORG)
 	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/X11/xorg.conf.d

Added: head/x11-servers/xorg-server/files/extra-new-bad-impl
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/x11-servers/xorg-server/files/extra-new-bad-impl	Thu Apr 24 11:43:11 2014	(r351995)
@@ -0,0 +1,38 @@
+Fix BadImplemented triggered in GDK 3
+
+Lead:
+https://bbs.archlinux.org/viewtopic.php?id=162012
+Debian bug:
+http://lists.debian.org/debian-x/2012/12/msg00133.html
+
+--- Xi/xiselectev.c.orig	2012-05-17 19:09:01.000000000 +0200
++++ Xi/xiselectev.c	2012-12-18 10:29:38.804469850 +0100
+@@ -175,17 +175,24 @@
+                 if (inputMasks)
+                     iclient = inputMasks->inputClients;
+                 for (; iclient; iclient = iclient->next) {
+-                    DeviceIntPtr dummy;
++                    DeviceIntPtr devTest;
++                    DeviceIntRec dummyTest;
+ 
+                     if (CLIENT_ID(iclient->resource) == client->index)
+                         continue;
+ 
+-                    dixLookupDevice(&dummy, evmask->deviceid, serverClient,
++                    if (evmask->deviceid == XIAllDevices ||
++                        evmask->deviceid == XIAllMasterDevices) {
++                        dummyTest.id = evmask->deviceid;
++                        devTest = &dummyTest;
++                    }
++                    else
++                        dixLookupDevice(&devTest, evmask->deviceid, serverClient,
+                                     DixReadAccess);
+-                    if (!dummy)
++                    if (!devTest)
+                         return BadImplementation;       /* this shouldn't happen */
+ 
+-                    if (xi2mask_isset(iclient->xi2mask, dummy, XI_TouchBegin))
++                    if (xi2mask_isset(iclient->xi2mask, devTest, XI_TouchBegin))
+                         return BadAccess;
+                 }
+             }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201404241143.s3OBhC2Q002179>