[launchd-changes] [23498] branches/SULeopard

source_changes at macosforge.org source_changes at macosforge.org
Mon Jan 28 10:20:29 PST 2008


Revision: 23498
          http://trac.macosforge.org/projects/launchd/changeset/23498
Author:   zarzycki at apple.com
Date:     2008-01-28 10:20:19 -0800 (Mon, 28 Jan 2008)

Log Message:
-----------
<rdar://problem/5706535> launchd uses distributed notifications, which aren't available
<rdar://problem/5702944> launchd does not get -isysroot

Modified Paths:
--------------
    branches/SULeopard/Makefile
    branches/SULeopard/launchd/configure
    branches/SULeopard/launchd/configure.ac
    branches/SULeopard/launchd/src/Makefile.am
    branches/SULeopard/launchd/src/Makefile.in
    branches/SULeopard/launchd/src/launchd_core_logic.c

Modified: branches/SULeopard/Makefile
===================================================================
--- branches/SULeopard/Makefile	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/Makefile	2008-01-28 18:20:19 UTC (rev 23498)
@@ -1,3 +1,7 @@
+ifndef SDKROOT
+export SDKROOT = /
+endif
+
 Project	= launchd
 Extra_Configure_Flags = --sbindir=/sbin --bindir=/bin --sysconfdir=/private/etc
 GnuAfterInstall = launchd_after_install
@@ -5,7 +9,7 @@
 Install_Flags = DESTDIR=$(DSTROOT)
 
 ifeq ($(shell tconf --test TARGET_OS_EMBEDDED),YES)
-	Extra_Configure_Flags += --host=none-apple-darwin
+Extra_Configure_Flags += --host=none-apple-darwin
 endif
 
 launchd_after_install::
@@ -14,10 +18,12 @@
 	-find -d $(DSTROOT) -type l | grep -v /usr/local/lib/system | xargs rm
 	-find -d $(DSTROOT) -type d | grep -v /usr/local/lib/system | xargs rmdir
 else
+ifeq ($(shell tconf --test TARGET_OS_EMBEDDED),NO)
 	mkdir -p $(DSTROOT)/Library/StartupItems
 	chmod 755 $(DSTROOT)/Library/StartupItems
 	mkdir -p $(DSTROOT)/System/Library/StartupItems
 	chmod 755 $(DSTROOT)/System/Library/StartupItems
+endif
 	rm -rf $(DSTROOT)/usr/local/lib/system
 	cp $(OBJROOT)/src/launchd $(SYMROOT)
 	cp $(OBJROOT)/src/launchctl $(SYMROOT)

Modified: branches/SULeopard/launchd/configure
===================================================================
--- branches/SULeopard/launchd/configure	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/launchd/configure	2008-01-28 18:20:19 UTC (rev 23498)
@@ -702,6 +702,8 @@
 WEAKLIBS_SECURITY
 LIBS_ONLY_TRUE
 LIBS_ONLY_FALSE
+DO_EMBEDDED_MAGIC_TRUE
+DO_EMBEDDED_MAGIC_FALSE
 LTLIBOBJS'
 ac_subst_files=''
       ac_precious_vars='build_alias
@@ -7861,7 +7863,16 @@
   LIBS_ONLY_FALSE=
 fi
 
+ if test $(tconf --test TARGET_OS_EMBEDDED) = YES; then
+  DO_EMBEDDED_MAGIC_TRUE=
+  DO_EMBEDDED_MAGIC_FALSE='#'
+else
+  DO_EMBEDDED_MAGIC_TRUE='#'
+  DO_EMBEDDED_MAGIC_FALSE=
+fi
 
+
+
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
 # tests run on this system so they can be shared between configure
@@ -7979,6 +7990,13 @@
 Usually this means the macro was only invoked conditionally." >&2;}
    { (exit 1); exit 1; }; }
 fi
+if test -z "${DO_EMBEDDED_MAGIC_TRUE}" && test -z "${DO_EMBEDDED_MAGIC_FALSE}"; then
+  { { echo "$as_me:$LINENO: error: conditional \"DO_EMBEDDED_MAGIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&5
+echo "$as_me: error: conditional \"DO_EMBEDDED_MAGIC\" was never defined.
+Usually this means the macro was only invoked conditionally." >&2;}
+   { (exit 1); exit 1; }; }
+fi
 
 : ${CONFIG_STATUS=./config.status}
 ac_clean_files_save=$ac_clean_files
@@ -8597,10 +8615,12 @@
 WEAKLIBS_SECURITY!$WEAKLIBS_SECURITY$ac_delim
 LIBS_ONLY_TRUE!$LIBS_ONLY_TRUE$ac_delim
 LIBS_ONLY_FALSE!$LIBS_ONLY_FALSE$ac_delim
+DO_EMBEDDED_MAGIC_TRUE!$DO_EMBEDDED_MAGIC_TRUE$ac_delim
+DO_EMBEDDED_MAGIC_FALSE!$DO_EMBEDDED_MAGIC_FALSE$ac_delim
 LTLIBOBJS!$LTLIBOBJS$ac_delim
 _ACEOF
 
-  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 86; then
+  if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 88; then
     break
   elif $ac_last_try; then
     { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5

Modified: branches/SULeopard/launchd/configure.ac
===================================================================
--- branches/SULeopard/launchd/configure.ac	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/launchd/configure.ac	2008-01-28 18:20:19 UTC (rev 23498)
@@ -62,5 +62,7 @@
                  src/Makefile])
 
 AM_CONDITIONAL(LIBS_ONLY, test "$RC_ProjectName" = launchd_libs)
+AM_CONDITIONAL(DO_EMBEDDED_MAGIC, test $(tconf --test TARGET_OS_EMBEDDED) = YES)
 
+
 AC_OUTPUT

Modified: branches/SULeopard/launchd/src/Makefile.am
===================================================================
--- branches/SULeopard/launchd/src/Makefile.am	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/launchd/src/Makefile.am	2008-01-28 18:20:19 UTC (rev 23498)
@@ -1,5 +1,7 @@
-AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
+AM_CFLAGS = -no-cpp-precomp -isysroot $(SDKROOT) -F$(SDKROOT)/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
 
+AM_LDFLAGS = -Wl,-syslibroot,$(SDKROOT)
+
 CLEANFILES = protocol_vproc.h protocol_vprocServer.c protocol_vprocUser.c protocol_vprocServer.h		\
 	     launchd_internal.h launchd_internalServer.h launchd_internalServer.c launchd_internalUser.c	\
 	     notifyServer.c notifyServer.h job_replyUser.c job_reply.h __version.c mach_excServer.c mach_excServer.h
@@ -34,26 +36,33 @@
 else
 
 bin_PROGRAMS = launchctl wait4path
+if DO_EMBEDDED_MAGIC
+sbin_PROGRAMS = launchd
+else
 sbin_PROGRAMS = launchd SystemStarter
+endif
 libexec_PROGRAMS = launchproxy
 
 sysconf_DATA = hostconfig rc.common rc.netboot
 
 launchctl_CFLAGS = $(AM_CFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
-launchctl_LDFLAGS = -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib
+launchctl_LDFLAGS = $(AM_LDFLAGS) -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib
 
+if DO_EMBEDDED_MAGIC
+else
 SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS)
-SystemStarter_LDFLAGS = -framework CoreFoundation -framework IOKit
+SystemStarter_LDFLAGS = $(AM_LDFLAGS) -framework CoreFoundation -framework IOKit
 SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c
+endif
 
 launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter
-launchd_LDFLAGS = -lbsm
+launchd_LDFLAGS = $(AM_LDFLAGS) -lbsm
 launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c protocol_vprocServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c launchd_runtime_kill.c mach_excServer.c
 
 launchd_runtime.c:: notifyServer.h launchd_internal.h mach_excServer.h
 launchd_core_logic.c:: protocol_vproc.h job_reply.h protocol_vprocServer.h
 
-launchproxy_LDFLAGS = $(WEAKLIBS_SECURITY)
+launchproxy_LDFLAGS = $(AM_LDFLAGS) $(WEAKLIBS_SECURITY)
 
 notifyServer.c notifyServer.h: /usr/include/mach/notify.defs
 	mig $(MIGFLAGS) -header /dev/null -user /dev/null -sheader notifyServer.h /usr/include/mach/notify.defs
@@ -72,7 +81,11 @@
 
 man5_MANS = launchd.plist.5 launchd.conf.5
 
+if DO_EMBEDDED_MAGIC
+man8_MANS = launchd.8 launchproxy.8
+else
 man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8
+endif
 
 install-data-hook:
 	mkdir -p $(DESTDIR)/usr/libexec
@@ -85,7 +98,6 @@
 	mkdir -p $(DESTDIR)/Library/LaunchAgents
 	mkdir -p $(DESTDIR)/System/Library/LaunchAgents
 	mkdir -p $(DESTDIR)/System/Library/LaunchDaemons
-	cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec
 	cp $(srcdir)/liblaunch_public.h $(DESTDIR)/usr/include/launch.h
 	cp $(srcdir)/libvproc_public.h $(DESTDIR)/usr/include/vproc.h
 	cp $(srcdir)/libbootstrap_public.h $(DESTDIR)/usr/include/servers/bootstrap.h
@@ -94,6 +106,10 @@
 	cp $(srcdir)/liblaunch_private.h $(DESTDIR)/usr/local/include/launch_priv.h
 	cp $(srcdir)/libvproc_private.h $(DESTDIR)/usr/local/include/vproc_priv.h
 	cp $(srcdir)/reboot2.h $(DESTDIR)/usr/local/include/reboot2.h
+if DO_EMBEDDED_MAGIC
+else
+	cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec
 	cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons
+endif
 
 endif

Modified: branches/SULeopard/launchd/src/Makefile.in
===================================================================
--- branches/SULeopard/launchd/src/Makefile.in	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/launchd/src/Makefile.in	2008-01-28 18:20:19 UTC (rev 23498)
@@ -33,8 +33,11 @@
 PRE_UNINSTALL = :
 POST_UNINSTALL = :
 @LIBS_ONLY_FALSE at bin_PROGRAMS = launchctl$(EXEEXT) wait4path$(EXEEXT)
- at LIBS_ONLY_FALSE@sbin_PROGRAMS = launchd$(EXEEXT) \
- at LIBS_ONLY_FALSE@	SystemStarter$(EXEEXT)
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at sbin_PROGRAMS =  \
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	launchd$(EXEEXT) \
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	SystemStarter$(EXEEXT)
+ at DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE at sbin_PROGRAMS =  \
+ at DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE@	launchd$(EXEEXT)
 @LIBS_ONLY_FALSE at libexec_PROGRAMS = launchproxy$(EXEEXT)
 subdir = src
 DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
@@ -80,10 +83,9 @@
 sbinPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
 PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS) $(sbin_PROGRAMS)
 am__SystemStarter_SOURCES_DIST = StartupItems.c IPC.c SystemStarter.c
- at LIBS_ONLY_FALSE@am_SystemStarter_OBJECTS =  \
- at LIBS_ONLY_FALSE@	SystemStarter-StartupItems.$(OBJEXT) \
- at LIBS_ONLY_FALSE@	SystemStarter-IPC.$(OBJEXT) \
- at LIBS_ONLY_FALSE@	SystemStarter-SystemStarter.$(OBJEXT)
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at am_SystemStarter_OBJECTS = SystemStarter-StartupItems.$(OBJEXT) \
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	SystemStarter-IPC.$(OBJEXT) \
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	SystemStarter-SystemStarter.$(OBJEXT)
 SystemStarter_OBJECTS = $(am_SystemStarter_OBJECTS)
 SystemStarter_LDADD = $(LDADD)
 SystemStarter_LINK = $(CCLD) $(SystemStarter_CFLAGS) $(CFLAGS) \
@@ -239,7 +241,8 @@
 target_alias = @target_alias@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-AM_CFLAGS = -no-cpp-precomp -F/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
+AM_CFLAGS = -no-cpp-precomp -isysroot $(SDKROOT) -F$(SDKROOT)/System/Library/PrivateFrameworks -Wall -Wextra -Waggregate-return -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror -D__MigTypeCheck=1 -fvisibility=hidden -Dmig_external=__private_extern__
+AM_LDFLAGS = -Wl,-syslibroot,$(SDKROOT)
 CLEANFILES = protocol_vproc.h protocol_vprocServer.c protocol_vprocUser.c protocol_vprocServer.h		\
 	     launchd_internal.h launchd_internalServer.h launchd_internalServer.c launchd_internalUser.c	\
 	     notifyServer.c notifyServer.h job_replyUser.c job_reply.h __version.c mach_excServer.c mach_excServer.h
@@ -251,17 +254,18 @@
 @LIBS_ONLY_TRUE at liblaunch_profile_a_SOURCES = liblaunch.c libvproc.c libbootstrap.c protocol_vprocUser.c __version.c
 @LIBS_ONLY_FALSE at sysconf_DATA = hostconfig rc.common rc.netboot
 @LIBS_ONLY_FALSE at launchctl_CFLAGS = $(AM_CFLAGS) -I$(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders
- at LIBS_ONLY_FALSE@launchctl_LDFLAGS = -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib
- at LIBS_ONLY_FALSE@SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS)
- at LIBS_ONLY_FALSE@SystemStarter_LDFLAGS = -framework CoreFoundation -framework IOKit
- at LIBS_ONLY_FALSE@SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c
+ at LIBS_ONLY_FALSE@launchctl_LDFLAGS = $(AM_LDFLAGS) -framework CoreFoundation -framework IOKit $(LIBS_SECURITY) -weak_library /usr/lib/libedit.dylib
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at SystemStarter_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS)
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at SystemStarter_LDFLAGS = $(AM_LDFLAGS) -framework CoreFoundation -framework IOKit
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at SystemStarter_SOURCES = StartupItems.c IPC.c SystemStarter.c
 @LIBS_ONLY_FALSE at launchd_CFLAGS = -mdynamic-no-pic $(AM_CFLAGS) -Wno-unused-parameter
- at LIBS_ONLY_FALSE@launchd_LDFLAGS = -lbsm
+ at LIBS_ONLY_FALSE@launchd_LDFLAGS = $(AM_LDFLAGS) -lbsm
 @LIBS_ONLY_FALSE at launchd_SOURCES = launchd.c launchd_core_logic.c launchd_unix_ipc.c protocol_vprocServer.c notifyServer.c launchd_internalUser.c launchd_internalServer.c job_replyUser.c launchd_runtime.c launchd_runtime_kill.c mach_excServer.c
- at LIBS_ONLY_FALSE@launchproxy_LDFLAGS = $(WEAKLIBS_SECURITY)
+ at LIBS_ONLY_FALSE@launchproxy_LDFLAGS = $(AM_LDFLAGS) $(WEAKLIBS_SECURITY)
 @LIBS_ONLY_FALSE at man1_MANS = wait4path.1 launchctl.1
 @LIBS_ONLY_FALSE at man5_MANS = launchd.plist.5 launchd.conf.5
- at LIBS_ONLY_FALSE@man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE at man8_MANS = StartupItemContext.8 SystemStarter.8 rc.8 launchd.8 launchproxy.8
+ at DO_EMBEDDED_MAGIC_TRUE@@LIBS_ONLY_FALSE at man8_MANS = launchd.8 launchproxy.8
 all: config.h
 	$(MAKE) $(AM_MAKEFLAGS) all-am
 
@@ -1193,7 +1197,6 @@
 @LIBS_ONLY_FALSE@	mkdir -p $(DESTDIR)/Library/LaunchAgents
 @LIBS_ONLY_FALSE@	mkdir -p $(DESTDIR)/System/Library/LaunchAgents
 @LIBS_ONLY_FALSE@	mkdir -p $(DESTDIR)/System/Library/LaunchDaemons
- at LIBS_ONLY_FALSE@	cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec
 @LIBS_ONLY_FALSE@	cp $(srcdir)/liblaunch_public.h $(DESTDIR)/usr/include/launch.h
 @LIBS_ONLY_FALSE@	cp $(srcdir)/libvproc_public.h $(DESTDIR)/usr/include/vproc.h
 @LIBS_ONLY_FALSE@	cp $(srcdir)/libbootstrap_public.h $(DESTDIR)/usr/include/servers/bootstrap.h
@@ -1202,7 +1205,8 @@
 @LIBS_ONLY_FALSE@	cp $(srcdir)/liblaunch_private.h $(DESTDIR)/usr/local/include/launch_priv.h
 @LIBS_ONLY_FALSE@	cp $(srcdir)/libvproc_private.h $(DESTDIR)/usr/local/include/vproc_priv.h
 @LIBS_ONLY_FALSE@	cp $(srcdir)/reboot2.h $(DESTDIR)/usr/local/include/reboot2.h
- at LIBS_ONLY_FALSE@	cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	cp $(srcdir)/StartupItemContext $(DESTDIR)/usr/libexec
+ at DO_EMBEDDED_MAGIC_FALSE@@LIBS_ONLY_FALSE@	cp $(srcdir)/com.apple.SystemStarter.plist $(DESTDIR)/System/Library/LaunchDaemons
 # Tell versions [3.59,3.63) of GNU make to not export all variables.
 # Otherwise a system limit (for SysV at least) may be exceeded.
 .NOEXPORT:

Modified: branches/SULeopard/launchd/src/launchd_core_logic.c
===================================================================
--- branches/SULeopard/launchd/src/launchd_core_logic.c	2008-01-25 22:08:25 UTC (rev 23497)
+++ branches/SULeopard/launchd/src/launchd_core_logic.c	2008-01-28 18:20:19 UTC (rev 23498)
@@ -6165,7 +6165,7 @@
 
 	job_log(j, LOG_DEBUG, "Move subset attempt: 0x%x", target_subset);
 
-	kr = _vproc_grab_subset(target_subset, &reqport, &rcvright, &out_obj_array, &l2l_ports, &l2l_port_cnt);
+	errno = kr = _vproc_grab_subset(target_subset, &reqport, &rcvright, &out_obj_array, &l2l_ports, &l2l_port_cnt);
 
 	if (!job_assumes(j, kr == 0)) {
 		goto out;

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/launchd-changes/attachments/20080128/bdcb2b50/attachment-0001.html


More information about the launchd-changes mailing list