configure.ac | 10 ++++++---- launchd/user_startx/Makefile.am | 4 ++++ launchd/user_startx/launchd_startx.c | 22 +++++++++++++++++++++- launchd/user_startx/startx.plist.cpp | 4 ++++ startx.cpp | 34 ++++++++++++++++++++++------------ xinit.c | 2 -- 6 files changed, 57 insertions(+), 19 deletions(-)
New commits: commit f5ef7a3f8c1e8ac3f715e4059bf3b9a03aafd5a7 Author: Jeremy Huddleston <jerem...@apple.com> Date: Fri Jan 27 23:13:48 2012 -0800 configure.ac: 1.3.2 Signed-off-by: Jeremy Huddleston <jerem...@apple.com> diff --git a/configure.ac b/configure.ac index 4402ba5..d18c4b0 100644 --- a/configure.ac +++ b/configure.ac @@ -22,7 +22,7 @@ dnl Process this file with autoconf to create configure. # Initialize Autoconf AC_PREREQ([2.60]) -AC_INIT([xinit], [1.3.1], +AC_INIT([xinit], [1.3.2], [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], [xinit]) AC_CONFIG_SRCDIR([Makefile.am]) AC_CONFIG_HEADERS([config.h]) commit ec55c94dfe1bf43ece808d984c672602faddd91b Author: Jeremy Huddleston <jerem...@apple.com> Date: Tue Nov 8 14:14:19 2011 -0800 Use default clientargs, serverargs, and display if none were set Previously, we did not use the default values unless server or client weren't set, but we should still use the defaults if they were not set but the server was. This is most evident when you want to tell startx which server to use, but you want startx to figure out which display to use automatically. This fixes a regression introduced by the previous patch on XQuartz: http://xquartz.macosforge.org/trac/ticket/523 Signed-off-by: Jeremy Huddleston <jerem...@apple.com> diff --git a/startx.cpp b/startx.cpp index 9135da8..c92c51c 100644 --- a/startx.cpp +++ b/startx.cpp @@ -201,7 +201,7 @@ XCOMM process client arguments if [ x"$client" = x ]; then client=$defaultclient - XCOMM if no client arguments either, use rc file instead + XCOMM For compatibility reasons, only use startxrc if there were no client command line arguments if [ x"$clientargs" = x ]; then if [ -f "$userclientrc" ]; then client=$userclientrc @@ -214,29 +214,38 @@ if [ x"$client" = x ]; then client=$scosysclientrc #endif fi - - clientargs=$defaultclientargs fi fi +XCOMM if no client arguments, use defaults +if [ x"$clientargs" = x ]; then + clientargs=$defaultclientargs +fi + XCOMM process server arguments if [ x"$server" = x ]; then server=$defaultserver - XCOMM if no server arguments or display either, use defaults + XCOMM For compatibility reasons, only use xserverrc if there were no server command line arguments if [ x"$serverargs" = x -a x"$display" = x ]; then - XCOMM For compatibility reasons, only use xserverrc if there were no server command line arguments if [ -f "$userserverrc" ]; then server=$userserverrc elif [ -f "$sysserverrc" ]; then server=$sysserverrc fi - - serverargs=$defaultserverargs - display=$defaultdisplay fi fi +XCOMM if no server arguments, use defaults +if [ x"$serverargs" = x ]; then + serverargs=$defaultserverargs +fi + +XCOMM if no display, use default +if [ x"$display" = x ]; then + display=$defaultdisplay +fi + if [ x"$enable_xauth" = x1 ] ; then if [ x"$XAUTHORITY" = x ]; then XAUTHORITY=$HOME/.Xauthority commit 98b85a1ac235dbf421d1a49b41599e8bcaf490d3 Author: Jeremy Huddleston <jerem...@apple.com> Date: Wed Oct 19 23:00:56 2011 -0700 launchd: Add an option (--with-launchagent-xserver) to set the default X11 server This allows the LaunchAgent and startx to have different default servers which will be useful as the Xorg DDX becomes available on darwin. Signed-off-by: Jeremy Huddleston <jerem...@apple.com> diff --git a/configure.ac b/configure.ac index 4e808ec..4402ba5 100644 --- a/configure.ac +++ b/configure.ac @@ -101,6 +101,9 @@ AC_ARG_WITH(launchd, AS_HELP_STRING([--with-launchd], [Build with sup AC_ARG_WITH(launchagents-dir, AS_HELP_STRING([--with-launchagents-dir=PATH], [Path to launchd's LaunchAgents directory (default: /Library/LaunchAgents)]), [ launchagentsdir="${withval}" ], [ launchagentsdir="/Library/LaunchAgents" ]) +AC_ARG_WITH(launchagent-xserver, AS_HELP_STRING([--with-launchagent-xserver=PATH], [Path to the X server which the LaunchAgent should start (if not provided, let startx decide)"]), + [ launchagentxserver="${withval}" ], + [ launchagentxserver="no" ]) AC_ARG_WITH(launchdaemons-dir, AS_HELP_STRING([--with-launchdaemons-dir=PATH], [Path to launchd's LaunchDaemonss directory (default: /Library/LaunchDaemons)]), [ launchdaemonsdir="${withval}" ], [ launchdaemonsdir="/Library/LaunchDaemons" ]) @@ -126,17 +129,16 @@ if test "x$LAUNCHD" = "xyes" ; then AC_CHECK_FUNC(dispatch_async, AC_DEFINE([HAVE_LIBDISPATCH], 1, [Define to 1 if you have the libdispatch (GCD) available]), []) -else - launchagentsdir="" - launchdaemonsdir="" fi AC_DEFINE_UNQUOTED(BUNDLE_ID_PREFIX, "$bundleidprefix", [Prefix to use for launchd identifiers]) AC_SUBST([launchagentsdir]) AC_SUBST([launchdaemonsdir]) AC_SUBST([bundleidprefix]) +AC_SUBST([launchagentxserver]) AM_CONDITIONAL(LAUNCHD, [test "x$LAUNCHD" = "xyes"]) AM_CONDITIONAL(TIGER_LAUNCHD, [test "x$TIGER_LAUNCHD" = "xyes"]) +AM_CONDITIONAL(LAUNCHAGENT_XSERVER, [test "x$launchagentxserver" != "xno"]) # Checks for pkg-config packages PKG_CHECK_MODULES(XINIT, x11) diff --git a/launchd/user_startx/Makefile.am b/launchd/user_startx/Makefile.am index ce00e73..bf18fb0 100644 --- a/launchd/user_startx/Makefile.am +++ b/launchd/user_startx/Makefile.am @@ -36,6 +36,10 @@ CPP_FILES_FLAGS = \ -D__bindir__="$(bindir)" \ -DBUNDLE_ID_PREFIX="$(bundleidprefix)" +if LAUNCHAGENT_XSERVER +CPP_FILES_FLAGS += -DLAUNCHAGENT_XSERVER_PATH="$(launchagentxserver)" +endif + $(bundleidprefix).startx.plist.cpp: startx.plist.cpp cp $< $@ diff --git a/launchd/user_startx/startx.plist.cpp b/launchd/user_startx/startx.plist.cpp index 9d9c1a4..a43025f 100644 --- a/launchd/user_startx/startx.plist.cpp +++ b/launchd/user_startx/startx.plist.cpp @@ -8,6 +8,10 @@ <array> <string>__xinitrcdir__/launchd_startx</string> <string>__bindir__/startx</string> +#ifdef LAUNCHAGENT_XSERVER_PATH + <string>--</string> + <string>LAUNCHAGENT_XSERVER_PATH</string> +#endif </array> <key>Sockets</key> <dict> commit 27be391123f5143fdccdfe975bf18bbff7517537 Author: Jeremy Huddleston <jerem...@apple.com> Date: Mon Oct 17 03:53:17 2011 -0700 startx: Choose an unused $DISPLAY by default on all platforms Now everyone can benefit from this code that I previously added for darwin https://bugs.freedesktop.org/show_bug.cgi?id=1789 Signed-off-by: Jeremy Huddleston <jerem...@apple.com> diff --git a/startx.cpp b/startx.cpp index 9f6561d..9135da8 100644 --- a/startx.cpp +++ b/startx.cpp @@ -130,6 +130,11 @@ if defaults read $X11_PREFS_DOMAIN dpi > /dev/null 2>&1 ; then defaultserverargs="$defaultserverargs -dpi `defaults read $X11_PREFS_DOMAIN dpi`" fi +#else +enable_xauth=1 +#endif + +XCOMM Automatically determine an unused $DISPLAY d=0 while true ; do [ -e /tmp/.X$d-lock ] || break @@ -138,10 +143,6 @@ done defaultdisplay=":$d" unset d -#else -enable_xauth=1 -#endif - #if defined(__SCO__) || defined(__UNIXWARE__) XCOMM SCO -t option: do not start an X server commit 45cc81cd7abafe61bddb3ddce9f4fb8a9aa06c12 Author: Julien Cristau <jcris...@debian.org> Date: Thu Sep 8 22:11:15 2011 +0200 Include <sys/time.h> and <sys/resource.h> unconditionally Suggested by Mark Kettenis. X.Org bug#40632 <https://bugs.freedesktop.org/show_bug.cgi?id=40632> Signed-off-by: Julien Cristau <jcris...@debian.org> diff --git a/xinit.c b/xinit.c index 42ff008..2ab817f 100644 --- a/xinit.c +++ b/xinit.c @@ -49,10 +49,8 @@ in this Software without prior written authorization from The Open Group. #endif /* For PRIO_PROCESS and setpriority() */ -#ifdef __DragonFly__ #include <sys/time.h> #include <sys/resource.h> -#endif /* __DragonFly__ */ #include <stdlib.h> commit 727706ffda344a1a752df296cd230ff3fb3940a5 Author: Jeremy Huddleston <jerem...@apple.com> Date: Sun Jul 31 09:11:01 2011 -0700 darwin: Buildfix for Tiger which doesn't have posix_spawn Signed-off-by: Jeremy Huddleston <jerem...@apple.com> diff --git a/launchd/user_startx/launchd_startx.c b/launchd/user_startx/launchd_startx.c index e3fae76..f83cd61 100644 --- a/launchd/user_startx/launchd_startx.c +++ b/launchd/user_startx/launchd_startx.c @@ -34,11 +34,19 @@ #include <unistd.h> #include <stdio.h> #include <assert.h> -#include <spawn.h> #include <sys/wait.h> #include <string.h> #include <stdlib.h> +/* Using MIN_REQUIRED instead of MAX_ALLOWED logic due to posix_spawn not + * being marked with availability macros until 10.7 + */ +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 +#include <spawn.h> +#else +#include <errno.h> +#endif + #include "console_redirect.h" int main(int argc, char **argv, char **envp) { @@ -56,7 +64,19 @@ int main(int argc, char **argv, char **envp) { xi_asl_capture_fd(aslc, NULL, ASL_LEVEL_INFO, STDOUT_FILENO); xi_asl_capture_fd(aslc, NULL, ASL_LEVEL_NOTICE, STDERR_FILENO); +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1050 assert(posix_spawnp(&child, argv[1], NULL, NULL, &argv[1], envp) == 0); +#else + switch(child = fork()) { + case -1: + perror("fork"); + return errno; + case 0: + return execvp(argv[1], &argv[1]); + default: + break; + } +#endif wait4(child, &pstat, 0, (struct rusage *)0); -- To UNSUBSCRIBE, email to debian-x-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/e1sg0eq-0005tf...@vasks.debian.org