--- a/open-src/lib/libxtrans/Makefile Tue Jul 05 13:41:14 2011 -0700
+++ b/open-src/lib/libxtrans/Makefile Thu Jul 07 08:33:27 2011 -0700
@@ -44,8 +44,8 @@
# Patches to apply to source after unpacking, in order
SOURCE_PATCHES = inetv6.patch \
- tsol-unix-domain.patch
-
+ tsol-unix-domain.patch \
+ Xtranslc-7053010.patch
# Library name (used for specfiles/mapfiles)
LIBNAME=xtrans
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/open-src/lib/libxtrans/Xtranslc-7053010.patch Thu Jul 07 08:33:27 2011 -0700
@@ -0,0 +1,18 @@
+--- Xtranslcl.c_org Wed Jun 22 03:03:46 2011
++++ Xtranslcl.c Wed Jun 22 03:04:33 2011
+@@ -742,15 +742,11 @@
+ struct stat sbuf;
+ int mode;
+
+-#if defined(sun) && defined(X11_t)
+- mode = 0775; /* Solaris requires uid or gid 0 to create X11 pipes */
+-#else
+ #ifdef HAS_STICKY_DIR_BIT
+ mode = 01777;
+ #else
+ mode = 0777;
+ #endif
+-#endif
+ if (trans_mkdir(X_STREAMS_DIR, mode) == -1) {
+ PRMSG (1, "NAMEDOpenPipe: mkdir(%s) failed, errno = %d\n",
+ X_STREAMS_DIR, errno, 0);
--- a/open-src/xserver/xorg/make_xkm_output_dir.patch Tue Jul 05 13:41:14 2011 -0700
+++ b/open-src/xserver/xorg/make_xkm_output_dir.patch Thu Jul 07 08:33:27 2011 -0700
@@ -54,7 +54,7 @@
- if (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0 && (strlen(XKM_OUTPUT_DIR) < size))
+ if ( ( (access(XKM_OUTPUT_DIR, W_OK | X_OK) == 0)
+#ifdef MAKE_XKM_OUTPUT_DIR
-+ || (trans_mkdir(XKM_OUTPUT_DIR, XKM_OUTPUT_DIR_MODE) == 0)
++ || (getuid() == 0 && (trans_mkdir(XKM_OUTPUT_DIR, XKM_OUTPUT_DIR_MODE) == 0))
+#endif
+ ) && (strlen(XKM_OUTPUT_DIR) < size))
{