[51899] branches/images-and-archives/base

blb at macports.org blb at macports.org
Sat Jun 6 00:50:18 PDT 2009


Revision: 51899
          http://trac.macports.org/changeset/51899
Author:   blb at macports.org
Date:     2009-06-06 00:50:17 -0700 (Sat, 06 Jun 2009)
Log Message:
-----------
Merge from trunk

Modified Paths:
--------------
    branches/images-and-archives/base/aclocal.m4
    branches/images-and-archives/base/configure
    branches/images-and-archives/base/configure.ac
    branches/images-and-archives/base/doc/macports.conf.in
    branches/images-and-archives/base/doc/portgroup.7
    branches/images-and-archives/base/src/macports1.0/macports.tcl
    branches/images-and-archives/base/src/macports1.0/macports_autoconf.tcl.in
    branches/images-and-archives/base/src/package1.0/portdmg.tcl
    branches/images-and-archives/base/src/package1.0/portmdmg.tcl
    branches/images-and-archives/base/src/package1.0/portpkg.tcl
    branches/images-and-archives/base/src/port1.0/port_autoconf.tcl.in
    branches/images-and-archives/base/src/port1.0/portclean.tcl
    branches/images-and-archives/base/src/port1.0/portconfigure.tcl
    branches/images-and-archives/base/src/port1.0/portdestroot.tcl
    branches/images-and-archives/base/src/port1.0/portmain.tcl
    branches/images-and-archives/base/src/port1.0/portutil.tcl

Property Changed:
----------------
    branches/images-and-archives/base/


Property changes on: branches/images-and-archives/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:50249-51814
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:50249-51895
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/images-and-archives/base/aclocal.m4
===================================================================
--- branches/images-and-archives/base/aclocal.m4	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/aclocal.m4	2009-06-06 07:50:17 UTC (rev 51899)
@@ -502,9 +502,9 @@
 
 	if test "x$UNIVERSAL_SYSROOT" = "x"; then
 	    if test "${MACOSX_MAJOR_VERSION}" = "10.4"; then
-		UNIVERSAL_SYSROOT=/Developer/SDKs/MacOSX${MACOSX_MAJOR_VERSION}u.sdk
+		UNIVERSAL_SYSROOT=${DEVELOPER_DIR}/SDKs/MacOSX${MACOSX_MAJOR_VERSION}u.sdk
 	    else
-		UNIVERSAL_SYSROOT=/Developer/SDKs/MacOSX${MACOSX_MAJOR_VERSION}.sdk
+		UNIVERSAL_SYSROOT=${DEVELOPER_DIR}/SDKs/MacOSX${MACOSX_MAJOR_VERSION}.sdk
 	    fi
 	fi
 

Modified: branches/images-and-archives/base/configure
===================================================================
--- branches/images-and-archives/base/configure	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/configure	2009-06-06 07:50:17 UTC (rev 51899)
@@ -714,6 +714,8 @@
 OPEN
 XAR
 PAX
+MKBOM
+LSBOM
 BZIP2
 GNUMAKE
 GNUTAR
@@ -732,7 +734,10 @@
 GIT
 SVN
 CVS
+DITTO
+CPIO
 CP
+CHOWN
 MTREE
 LN_S
 SET_MAKE
@@ -749,6 +754,7 @@
 LDFLAGS
 CFLAGS
 CC
+DEVELOPER_DIR
 XCODE_SELECT
 DEFAULTS
 SW_VERS
@@ -2348,8 +2354,11 @@
   DEVELOPER_DIR=`$XCODE_SELECT -print-path`
   { $as_echo "$as_me:$LINENO: result: $DEVELOPER_DIR" >&5
 $as_echo "$DEVELOPER_DIR" >&6; }
+else
+  DEVELOPER_DIR=/Developer
 fi
 
+
 XCODEPLIST=$DEVELOPER_DIR/Applications/Xcode.app/Contents/version.plist
 if test -r "$XCODEPLIST"; then
   { $as_echo "$as_me:$LINENO: checking Xcode version" >&5
@@ -3748,6 +3757,47 @@
 fi
 
 
+# Extract the first word of "chown", so it can be a program name with args.
+set dummy chown; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_CHOWN+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $CHOWN in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_CHOWN="$CHOWN" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+as_dummy="$PATH:/usr/sbin"
+for as_dir in $as_dummy
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_CHOWN="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+CHOWN=$ac_cv_path_CHOWN
+if test -n "$CHOWN"; then
+  { $as_echo "$as_me:$LINENO: result: $CHOWN" >&5
+$as_echo "$CHOWN" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 # Extract the first word of "cp", so it can be a program name with args.
 set dummy cp; ac_word=$2
 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -3788,6 +3838,86 @@
 fi
 
 
+# Extract the first word of "cpio", so it can be a program name with args.
+set dummy cpio; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_CPIO+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $CPIO in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_CPIO="$CPIO" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_CPIO="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+CPIO=$ac_cv_path_CPIO
+if test -n "$CPIO"; then
+  { $as_echo "$as_me:$LINENO: result: $CPIO" >&5
+$as_echo "$CPIO" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "ditto", so it can be a program name with args.
+set dummy ditto; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_DITTO+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $DITTO in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_DITTO="$DITTO" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_DITTO="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+DITTO=$ac_cv_path_DITTO
+if test -n "$DITTO"; then
+  { $as_echo "$as_me:$LINENO: result: $DITTO" >&5
+$as_echo "$DITTO" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 # Extract the first word of "cvs", so it can be a program name with args.
 set dummy cvs; ac_word=$2
 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -4517,6 +4647,86 @@
 fi
 
 
+# Extract the first word of "lsbom", so it can be a program name with args.
+set dummy lsbom; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_LSBOM+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $LSBOM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_LSBOM="$LSBOM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_LSBOM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+LSBOM=$ac_cv_path_LSBOM
+if test -n "$LSBOM"; then
+  { $as_echo "$as_me:$LINENO: result: $LSBOM" >&5
+$as_echo "$LSBOM" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
+# Extract the first word of "mkbom", so it can be a program name with args.
+set dummy mkbom; ac_word=$2
+{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
+$as_echo_n "checking for $ac_word... " >&6; }
+if test "${ac_cv_path_MKBOM+set}" = set; then
+  $as_echo_n "(cached) " >&6
+else
+  case $MKBOM in
+  [\\/]* | ?:[\\/]*)
+  ac_cv_path_MKBOM="$MKBOM" # Let the user override the test with a path.
+  ;;
+  *)
+  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+  IFS=$as_save_IFS
+  test -z "$as_dir" && as_dir=.
+  for ac_exec_ext in '' $ac_executable_extensions; do
+  if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+    ac_cv_path_MKBOM="$as_dir/$ac_word$ac_exec_ext"
+    $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+    break 2
+  fi
+done
+done
+IFS=$as_save_IFS
+
+  ;;
+esac
+fi
+MKBOM=$ac_cv_path_MKBOM
+if test -n "$MKBOM"; then
+  { $as_echo "$as_me:$LINENO: result: $MKBOM" >&5
+$as_echo "$MKBOM" >&6; }
+else
+  { $as_echo "$as_me:$LINENO: result: no" >&5
+$as_echo "no" >&6; }
+fi
+
+
 # Extract the first word of "pax", so it can be a program name with args.
 set dummy pax; ac_word=$2
 { $as_echo "$as_me:$LINENO: checking for $ac_word" >&5
@@ -7565,9 +7775,9 @@
 
 	if test "x$UNIVERSAL_SYSROOT" = "x"; then
 	    if test "${MACOSX_MAJOR_VERSION}" = "10.4"; then
-		UNIVERSAL_SYSROOT=/Developer/SDKs/MacOSX${MACOSX_MAJOR_VERSION}u.sdk
+		UNIVERSAL_SYSROOT=${DEVELOPER_DIR}/SDKs/MacOSX${MACOSX_MAJOR_VERSION}u.sdk
 	    else
-		UNIVERSAL_SYSROOT=/Developer/SDKs/MacOSX${MACOSX_MAJOR_VERSION}.sdk
+		UNIVERSAL_SYSROOT=${DEVELOPER_DIR}/SDKs/MacOSX${MACOSX_MAJOR_VERSION}.sdk
 	    fi
 	fi
 
@@ -10446,7 +10656,7 @@
 
 # Check whether --with-trace-sdk was given.
 if test "${with_trace_sdk+set}" = set; then
-  withval=$with_trace_sdk; test -d /Developer/SDKs/$withval && cat >>confdefs.h <<_ACEOF
+  withval=$with_trace_sdk; test -d ${DEVELOPER_DIR}/SDKs/$withval && cat >>confdefs.h <<_ACEOF
 #define TRACE_SDK "${withval}"
 _ACEOF
 

Modified: branches/images-and-archives/base/configure.ac
===================================================================
--- branches/images-and-archives/base/configure.ac	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/configure.ac	2009-06-06 07:50:17 UTC (rev 51899)
@@ -48,7 +48,10 @@
   AC_MSG_CHECKING(Xcode location)
   DEVELOPER_DIR=`$XCODE_SELECT -print-path`
   AC_MSG_RESULT([$DEVELOPER_DIR])
+else
+  DEVELOPER_DIR=/Developer
 fi
+AC_SUBST(DEVELOPER_DIR)
 
 XCODEPLIST=$DEVELOPER_DIR/Applications/Xcode.app/Contents/version.plist
 if test -r "$XCODEPLIST"; then
@@ -84,7 +87,10 @@
 AC_PROG_MAKE_SET
 AC_PROG_LN_S
 AC_PATH_PROG(MTREE, [mtree], [], [$PATH:/usr/sbin])
+AC_PATH_PROG(CHOWN, [chown], [], [$PATH:/usr/sbin])
 AC_PATH_PROG(CP, [cp], [])
+AC_PATH_PROG(CPIO, [cpio], [])
+AC_PATH_PROG(DITTO, [ditto], [])
 AC_PATH_PROG(CVS, [cvs], [])
 AC_PATH_PROG(SVN, [svn], [])
 AC_PATH_PROG(GIT, [git], [])
@@ -103,6 +109,8 @@
 AC_PATH_PROGS(GNUTAR, [gnutar gtar], [], [$PATH:/usr/local/bin])
 AC_PATH_PROGS(GNUMAKE, [gnumake gmake], [], [$PATH:/usr/local/bin])
 AC_PATH_PROG(BZIP2, [bzip2], [])
+AC_PATH_PROG(LSBOM, [lsbom], [])
+AC_PATH_PROG(MKBOM, [mkbom], [])
 AC_PATH_PROG(PAX, [pax], [])
 AC_PATH_PROG(XAR, [xar], [])
 AC_PATH_PROG(OPEN, [open], [])
@@ -313,7 +321,7 @@
 	trace-sdk,
 	AS_HELP_STRING([--with-trace-sdk=SDK],
 		[SDK for redirection in trace lib (for example MacOSX10.4u.sdk)]),
-	[test -d /Developer/SDKs/$withval && AC_DEFINE_UNQUOTED([TRACE_SDK], "${withval}")], [])
+	[test -d ${DEVELOPER_DIR}/SDKs/$withval && AC_DEFINE_UNQUOTED([TRACE_SDK], "${withval}")], [])
 
 # Allows building of shared libraries
 SC_ENABLE_SHARED

Modified: branches/images-and-archives/base/doc/macports.conf.in
===================================================================
--- branches/images-and-archives/base/doc/macports.conf.in	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/doc/macports.conf.in	2009-06-06 07:50:17 UTC (rev 51899)
@@ -18,6 +18,9 @@
 # paths are given in the example; it need not be uncommented.  Customizing binpath is intended for advanced users only.
 #binpath		@prefix_expanded@/bin:@prefix_expanded@/sbin:/bin:/sbin:/usr/bin:/usr/sbin
 
+# Directory containing Xcode Tools
+developer_dir       @DEVELOPER_DIR@
+
 # Directory containing Applications from ports.
 applications_dir	@MPAPPLICATIONSDIR@
 

Modified: branches/images-and-archives/base/doc/portgroup.7
===================================================================
--- branches/images-and-archives/base/doc/portgroup.7	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/doc/portgroup.7	2009-06-06 07:50:17 UTC (rev 51899)
@@ -158,26 +158,6 @@
 .Bd -literal -offset indent -compact
 xcode.destroot.settings SKIP_INSTALL=NO
 .Ed
-.It Ic xcode.universal.settings
-Settings passed to the xcode build tool when the +universal variant is selected. These settings should be in the X=Y form.
-.br
-.Sy Type:
-.Em optional
-.br
-.Sy Default:
-.Bd -literal -offset indent -compact
-ARCHS="${universal_archs}" MACOSX_DEPLOYMENT_TARGET=${universal_target}
-.Ed
-.It Ic xcode.universal.sdk
-SDK to use when the +universal variant is selected. The argument may be an absolute path to an SDK, or the canonical name of an SDK.
-.br
-.Sy Type:
-.Em optional
-.br
-.Sy Default:
-.Bd -literal -offset indent -compact
-${universal_sysroot}
-.Ed
 .El
 .Sh STANDARD PORTFILE VARIABLES AFFECTING XCODE PORTGROUP
 The following standard Portfile variables actually affect
@@ -285,6 +265,7 @@
 .It Ic set_local_library
 Sets GNUSTEP_LOCAL_LIBRARY according to the FilesystemLayout
 .br
+.El
 .Pp
 .Sh GNUSTEP PORTGROUP SUGAR
 Portfiles using gnustep PortGroup do not need to define the following variables:

Modified: branches/images-and-archives/base/src/macports1.0/macports.tcl
===================================================================
--- branches/images-and-archives/base/src/macports1.0/macports.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/macports1.0/macports.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -45,7 +45,7 @@
         portverbose destroot_umask variants_conf rsync_server rsync_options \
         rsync_dir startupitem_type place_worksymlink xcodeversion xcodebuildcmd \
         mp_remote_url mp_remote_submit_url configureccache configuredistcc configurepipe buildnicevalue buildmakejobs \
-        applications_dir frameworks_dir universal_target universal_sysroot universal_archs \
+        applications_dir frameworks_dir developer_dir universal_target universal_sysroot universal_archs \
         macportsuser proxy_override_env proxy_http proxy_https proxy_ftp proxy_rsync proxy_skip"
     variable user_options "submitter_name submitter_email submitter_key"
     variable portinterp_options "\
@@ -54,7 +54,7 @@
         porttrace portverbose destroot_umask rsync_server \
         rsync_options rsync_dir startupitem_type place_worksymlink \
         mp_remote_url mp_remote_submit_url configureccache configuredistcc configurepipe buildnicevalue buildmakejobs \
-        applications_dir frameworks_dir universal_target universal_sysroot universal_archs $user_options \
+        applications_dir frameworks_dir developer_dir universal_target universal_sysroot universal_archs $user_options \
         os_arch os_endian os_major os_platform os_version"
 
     # deferred options are only computed when needed.
@@ -609,20 +609,25 @@
     if {![info exists macports::buildmakejobs]} {
         set macports::buildmakejobs 0
     }
+    
+    # Default Xcode Tools path
+    if {![info exists macports::developer_dir]} {
+        set macports::developer_dir "/Developer"
+    }
 
     # Default mp universal options
     if {![info exists macports::universal_target]} {
-        if {[file exists /Developer/SDKs/MacOSX10.5.sdk]} {
+        if {[file exists ${macports::developer_dir}/SDKs/MacOSX10.5.sdk]} {
             set macports::universal_target "10.5"
         } else {
             set macports::universal_target "10.4"
         }
     }
     if {![info exists macports::universal_sysroot]} {
-        if {[file exists /Developer/SDKs/MacOSX10.5.sdk]} {
-            set macports::universal_sysroot "/Developer/SDKs/MacOSX10.5.sdk"
+        if {[file exists ${macports::developer_dir}/SDKs/MacOSX10.5.sdk]} {
+            set macports::universal_sysroot "${macports::developer_dir}/SDKs/MacOSX10.5.sdk"
         } else {
-            set macports::universal_sysroot "/Developer/SDKs/MacOSX10.4u.sdk"
+            set macports::universal_sysroot "${macports::developer_dir}/SDKs/MacOSX10.4u.sdk"
         }
     }
     if {![info exists macports::universal_archs]} {
@@ -882,11 +887,11 @@
     if {![file writable $fetchdir]} {
         return -code error "Port remote fetch failed: You do not have permission to write to $fetchdir"
     }
-    if {[catch {exec curl -L -s -S -o [file join $fetchdir $fetchfile] $url} result]} {
+    if {[catch {curl fetch $url [file join $fetchdir $fetchfile]} result]} {
         return -code error "Port remote fetch failed: $result"
     }
     cd $fetchdir
-    if {[catch {exec tar -zxf $fetchfile} result]} {
+    if {[catch {exec [findBinary tar $macports::autoconf::tar_path] -zxf $fetchfile} result]} {
         return -code error "Port extract failed: $result"
     }
     if {[regexp {(.+).tgz} $fetchfile match portdir] != 1} {
@@ -1597,7 +1602,7 @@
                     # sync just a PortIndex file
                     set indexfile [macports::getindex $source]
                     file mkdir [file dirname $indexfile]
-                    exec curl -L -s -S -o $indexfile $source/PortIndex
+                    curl $source/PortIndex $indexfile
                 }
             }
             default {
@@ -2099,9 +2104,8 @@
             set owner [file attributes ${prefix} -owner]
             set group [file attributes ${prefix} -group]
             set perms [string range [file attributes ${prefix} -permissions] end-3 end]
-            set installing_user [exec /usr/bin/id -un]
-            if {![string equal $installing_user $owner]} {
-                return -code error "User $installing_user does not own ${prefix} - try using sudo"
+            if {![string equal $tcl_platform(user) $owner]} {
+                return -code error "User $tcl_platform(user) does not own ${prefix} - try using sudo"
             }
             ui_debug "Permissions OK"
 
@@ -2139,7 +2143,7 @@
     # set the MacPorts sources to the right owner
     set sources_owner [file attributes [file join $portdbpath sources/] -owner]
     ui_debug "Setting MacPorts sources ownership to $sources_owner"
-    if { [catch { exec chown -R $sources_owner [file join $portdbpath sources/] } result] } {
+    if { [catch { exec [findBinary chown $macports::autoconf::chown_path] -R $sources_owner [file join $portdbpath sources/] } result] } {
         return -code error "Couldn't change permissions of the MacPorts sources at $mp_source_path to $sources_owner: $result"
     }
 

Modified: branches/images-and-archives/base/src/macports1.0/macports_autoconf.tcl.in
===================================================================
--- branches/images-and-archives/base/src/macports1.0/macports_autoconf.tcl.in	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/macports1.0/macports_autoconf.tcl.in	2009-06-06 07:50:17 UTC (rev 51899)
@@ -32,6 +32,7 @@
 package provide macports 1.0
 
 namespace eval macports::autoconf {
+    variable chown_path "@CHOWN@"
     variable gzip_path "@GZIP@"
     variable macports_conf_path "@MPCONFIGDIR_EXPANDED@"
     variable macports_version "@MACPORTS_VERSION@"

Modified: branches/images-and-archives/base/src/package1.0/portdmg.tcl
===================================================================
--- branches/images-and-archives/base/src/package1.0/portdmg.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/package1.0/portdmg.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -89,20 +89,23 @@
         set subdev 2
     }
     
-    if {[system "hdiutil create -quiet -fs HFS+ -volname ${imagename} -size ${blocks}b ${tmp_image}"] != ""} {
+    set hdiutil [findBinary hdiutil $portutil::autoconf::hdiutil_path]
+    if {[system "$hdiutil create -quiet -fs HFS+ -volname ${imagename} -size ${blocks}b ${tmp_image}"] != ""} {
         return -code error [format [msgcat::mc "Failed to create temporary image: %s"] ${imagename}]
     }
-    if {[catch {set devicename [exec hdid ${tmp_image} | grep s${subdev} | awk "{ print \$1 }"]} error]} {
+    if {[catch {set attach_output [exec $hdiutil attach -puppetstrings ${tmp_image} | grep s${subdev}]} error]} {
         return -code error [format [msgcat::mc "Failed to attach temporary image: %s"] ${error}]
     }
-    set mount_point [exec mount | grep "${devicename}"]
+    set attach_output [split $attach_output "\t"]
+    set devicename [string trim [lindex $attach_output 0]]
+    set mount_point [string trim [lindex $attach_output 2]]
     regexp {(\/Volumes/[A-Za-z0-9\-\_\s].+)\s\(} $mount_point code mount_point
-    system "ditto -rsrcFork ${pkgpath} '${mount_point}/${portname}-${portversion}.pkg'"
-    system "hdiutil detach ${devicename} -quiet"
-    if {[system "hdiutil convert ${tmp_image} -format UDCO -o ${final_image} -quiet"] != ""} {
+    system "[findBinary ditto $portutil::autoconf::ditto_path] -rsrcFork ${pkgpath} '${mount_point}/${portname}-${portversion}.pkg'"
+    system "$hdiutil detach ${devicename} -quiet"
+    if {[system "$hdiutil convert ${tmp_image} -format UDCO -o ${final_image} -quiet"] != ""} {
         return -code error [format [msgcat::mc "Failed to convert to final image: %s"] ${final_image}]
     }
-    if {[system "hdiutil internet-enable -quiet -yes ${final_image}"] != ""} {
+    if {[system "$hdiutil internet-enable -quiet -yes ${final_image}"] != ""} {
         return -code error [format [msgcat::mc "Failed to internet-enable: %s"] ${final_image}]
     }
     file delete -force "${tmp_image}"

Modified: branches/images-and-archives/base/src/package1.0/portmdmg.tcl
===================================================================
--- branches/images-and-archives/base/src/package1.0/portmdmg.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/package1.0/portmdmg.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -88,27 +88,30 @@
 	# Apple_partition_scheme (Apple_partition_map is at s1)
         set subdev 2
     }
-    
+
+  set hdiutil [findBinary hdiutil $portutil::autoconf::hdiutil_path]
   if {false} {
-    if {[system "hdiutil create -quiet -fs HFS+ -volname ${imagename} -size ${blocks}b ${tmp_image}"] != ""} {
+    if {[system "$hdiutil create -quiet -fs HFS+ -volname ${imagename} -size ${blocks}b ${tmp_image}"] != ""} {
         return -code error [format [msgcat::mc "Failed to create temporary image: %s"] ${imagename}]
     }
-    if {[catch {set devicename [exec hdid ${tmp_image} | grep s${subdev} | awk "{ print \$1 }"]} error]} {
+    if {[catch {set attach_output [exec $hdiutil attach -puppetstrings ${tmp_image} | grep s${subdev}]} error]} {
         return -code error [format [msgcat::mc "Failed to attach temporary image: %s"] ${error}]
     }
-    set mount_point [exec mount | grep "${devicename}"]
+    set attach_output [split $attach_output "\t"]
+    set devicename [string trim [lindex $attach_output 0]]
+    set mount_point [string trim [lindex $attach_output 2]]
     regexp {(\/Volumes/[A-Za-z0-9\-\_\s].+)\s\(} $mount_point code mount_point
-    system "ditto -rsrcFork ${mpkgpath} '${mount_point}/${portname}-${portversion}.mpkg'"
-    system "hdiutil detach ${devicename} -quiet"
+    system "[findBinary ditto $portutil::autoconf::ditto_path] -rsrcFork ${mpkgpath} '${mount_point}/${portname}-${portversion}.mpkg'"
+    system "$hdiutil detach ${devicename} -quiet"
   } else {
-    if {[system "hdiutil create -quiet -fs HFS+ -volname ${imagename} -srcfolder ${mpkgpath} ${tmp_image}"] != ""} {
+    if {[system "$hdiutil create -quiet -fs HFS+ -volname ${imagename} -srcfolder ${mpkgpath} ${tmp_image}"] != ""} {
         return -code error [format [msgcat::mc "Failed to create temporary image: %s"] ${imagename}]
     }
   }
-    if {[system "hdiutil convert ${tmp_image} -format UDCO -o ${final_image} -quiet"] != ""} {
+    if {[system "$hdiutil convert ${tmp_image} -format UDCO -o ${final_image} -quiet"] != ""} {
         return -code error [format [msgcat::mc "Failed to convert to final image: %s"] ${final_image}]
     }
-    if {[system "hdiutil internet-enable -quiet -yes ${final_image}"] != ""} {
+    if {[system "$hdiutil internet-enable -quiet -yes ${final_image}"] != ""} {
         return -code error [format [msgcat::mc "Failed to internet-enable: %s"] ${final_image}]
     }
     file delete -force "${tmp_image}"

Modified: branches/images-and-archives/base/src/package1.0/portpkg.tcl
===================================================================
--- branches/images-and-archives/base/src/package1.0/portpkg.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/package1.0/portpkg.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -69,7 +69,7 @@
         return 0
     }
 
-    set packagemaker "/Developer/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"
+    set packagemaker "[option developer_dir]/Applications/Utilities/PackageMaker.app/Contents/MacOS/PackageMaker"
     if ([file exists "$packagemaker"]) {
         set resourcepath ${workpath}/pkg_resources
     } else {
@@ -77,7 +77,8 @@
     }
 
     set language "English"
-    system "mkdir -p -m 0755 ${resourcepath}/$language.lproj"
+    file mkdir "${resourcepath}/${language}.lproj"
+    file attributes "${resourcepath}/${language}.lproj" -permissions 0755
 	
     # long_description, description, or homepage may not exist
     foreach variable {long_description description homepage} {
@@ -131,8 +132,8 @@
         write_PkgInfo ${pkgpath}/Contents/PkgInfo
         write_info_plist ${pkgpath}/Contents/Info.plist $portname $portversion $portrevision
 
-        system "mkbom ${destpath} ${pkgpath}/Contents/Archive.bom"
-        system "cd ${destpath} && pax -x cpio -w -z . > ${pkgpath}/Contents/Archive.pax.gz"
+        system "[findBinary mkbom $portutil::autoconf::mkbom_path] ${destpath} ${pkgpath}/Contents/Archive.bom"
+        system "cd ${destpath} && [findBinary pax $portutil::autoconf::pax_path] -x [findBinary cpio $portutil::autoconf::cpio_path] -w -z . > ${pkgpath}/Contents/Archive.pax.gz"
 
         write_description_plist ${resourcepath}/Description.plist $portname $portversion $description
         write_sizes_file ${resourcepath}/Archive.sizes ${portname} ${portversion} ${pkgpath} ${destpath}
@@ -142,9 +143,10 @@
     foreach dir {etc var tmp} {
         if ([file exists "${destpath}/private/$dir"]) {
             # restore any directories that were moved, to avoid confusing the rest of the ports system.
-            system "mv ${destpath}/private/$dir ${destpath}/$dir; rmdir ${destpath}/private 2>/dev/null"
+            file rename ${destpath}/private/$dir ${destpath}/$dir
         }
     }
+    catch {file delete ${destpath}/private}
 
     return 0
 }
@@ -293,7 +295,7 @@
 
 proc portpkg::write_sizes_file {sizesfile portname portversion pkgpath destpath} {
     
-    if {[catch {set numFiles [exec lsbom -s ${pkgpath}/Contents/Archive.bom | wc -l]} result]} {
+    if {[catch {set numFiles [llength [split [exec [findBinary lsbom $portutil::autoconf::lsbom_path] -s ${pkgpath}/Contents/Archive.bom] "\n"]]} result]} {
         return -code error [format [msgcat::mc "Reading package bom failed: %s"] $result]
     }
     if {[catch {set compressedSize [expr [dirSize ${pkgpath}] / 1024]} result]} {

Modified: branches/images-and-archives/base/src/port1.0/port_autoconf.tcl.in
===================================================================
--- branches/images-and-archives/base/src/port1.0/port_autoconf.tcl.in	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/port_autoconf.tcl.in	2009-06-06 07:50:17 UTC (rev 51899)
@@ -33,6 +33,8 @@
 namespace eval portutil::autoconf {
 	variable bzip2_path "@BZIP2@"
 	variable cp_path "@CP@"
+	variable cpio_path "@CPIO@"
+	variable ditto_path "@DITTO@"
 	variable cvs_path "@CVS@"
 	variable svn_path "@SVN@"
 	variable git_path "@GIT@"
@@ -41,6 +43,8 @@
 	variable rsync_path "@RSYNC@"
 	variable unzip_path "@UNZIP@"
 	variable zip_path "@ZIP@"
+	variable lsbom_path "@LSBOM@"
+	variable mkbom_path "@MKBOM@"
 	variable mtree_path "@MTREE@"
 	variable pax_path "@PAX@"
 	variable xar_path "@XAR@"

Modified: branches/images-and-archives/base/src/port1.0/portclean.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portclean.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/portclean.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -66,8 +66,7 @@
         clean_dist
     }
     if {[info exists ports_clean_all] && $ports_clean_all == "yes" || \
-        [info exists ports_clean_work] && $ports_clean_work == "yes" || \
-        (!([info exists ports_clean_dist] && $ports_clean_dist == "yes"))} {
+        [info exists ports_clean_work] && $ports_clean_work == "yes"} {
          ui_info "$UI_PREFIX [format [msgcat::mc "Removing build directory for %s"] [option name]]"
          clean_work
     }

Modified: branches/images-and-archives/base/src/port1.0/portconfigure.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portconfigure.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/portconfigure.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -128,18 +128,11 @@
 default configure.pkg_config        {}
 default configure.pkg_config_path   {}
 
-# backwards compatibility for hardcoded ports
-if {[file exists /Developer/SDKs/MacOSX10.5.sdk]} {
-    set sysroot "/Developer/SDKs/MacOSX10.5.sdk"
-} else {
-    set sysroot "/Developer/SDKs/MacOSX10.4u.sdk"
-}
-
 options configure.universal_target configure.universal_sysroot configure.universal_archs configure.universal_args configure.universal_cflags configure.universal_cppflags configure.universal_cxxflags configure.universal_ldflags
 default configure.universal_target      {${universal_target}}
 default configure.universal_sysroot     {${universal_sysroot}}
 default configure.universal_archs       {${universal_archs}}
-default configure.universal_args        {[portconfigure::configure_get_universal_args]}
+default configure.universal_args        {--disable-dependency-tracking}
 default configure.universal_cflags      {[portconfigure::configure_get_universal_cflags]}
 default configure.universal_cppflags    {[portconfigure::configure_get_universal_cppflags]}
 default configure.universal_cxxflags    {[portconfigure::configure_get_universal_cflags]}
@@ -198,12 +191,6 @@
     # end gsoc08-privileges
 }
 
-# internal function to determine the universal args for configure.cmd
-proc portconfigure::configure_get_universal_args {args} {
-    set params "--disable-dependency-tracking"
-    return $params
-}
-
 # internal function to determine the "-arch xy" flags for the compiler
 proc portconfigure::configure_get_universal_archflags {args} {
     global configure.universal_archs
@@ -264,7 +251,7 @@
 
 # internal function to find correct compilers
 proc portconfigure::configure_get_compiler {type} {
-    global configure.compiler prefix
+    global configure.compiler prefix developer_dir
     set ret ""
     switch -exact ${configure.compiler} {
         gcc {
@@ -300,16 +287,16 @@
         }
         llvm-gcc-4.2 {
             switch -exact ${type} {
-                cc   { set ret /Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 }
-                objc { set ret /Developer/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 }
-                cxx  { set ret /Developer/usr/llvm-gcc-4.2/bin/llvm-g++-4.2 }
-                cpp  { set ret /Developer/usr/llvm-gcc-4.2/bin/llvm-cpp-4.2 }
+                cc   { set ret ${developer_dir}/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 }
+                objc { set ret ${developer_dir}/usr/llvm-gcc-4.2/bin/llvm-gcc-4.2 }
+                cxx  { set ret ${developer_dir}/usr/llvm-gcc-4.2/bin/llvm-g++-4.2 }
+                cpp  { set ret ${developer_dir}/usr/llvm-gcc-4.2/bin/llvm-cpp-4.2 }
             }
         }
         clang {
             switch -exact ${type} {
-                cc   { set ret /Developer/usr/bin/clang }
-                objc { set ret /Developer/usr/bin/clang }
+                cc   { set ret ${developer_dir}/usr/bin/clang }
+                objc { set ret ${developer_dir}/usr/bin/clang }
             }
         }
         apple-gcc-3.3 {

Modified: branches/images-and-archives/base/src/port1.0/portdestroot.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portdestroot.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/portdestroot.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -122,7 +122,7 @@
     # end gsoc08-privileges
 
     set oldmask [umask ${destroot.umask}]
-    set mtree ${portutil::autoconf::mtree_path}
+    set mtree [findBinary mtree ${portutil::autoconf::mtree_path}]
 
     if { ${destroot.clean} == "yes" } {
         delete "${destroot}"
@@ -145,6 +145,7 @@
 
 proc portdestroot::destroot_finish {args} {
     global UI_PREFIX destroot prefix name startupitem.create destroot.violate_mtree
+    global applications_dir frameworks_dir developer_dir destroot.keepdirs
     global os.platform os.version
     variable oldmask
 
@@ -162,114 +163,107 @@
     }
 
     # Prune empty directories in ${destroot}
-    set exclude_dirs [list]
-    set exclude_phrase ""
-    foreach path [option destroot.keepdirs] {
+    foreach path ${destroot.keepdirs} {
         if {![file isdirectory ${path}]} {
             xinstall -m 0755 -d ${path}
         }
         if {![file exists ${path}/.turd_${name}]} {
             xinstall -c -m 0644 /dev/null ${path}/.turd_${name}
         }
-        lappend exclude_dirs "-path \"${path}\""
     }
-    if { [llength ${exclude_dirs}] > 0 } {
-        set exclude_phrase "! \\( [join ${exclude_dirs} " -or "] \\)"
+    fs-traverse -depth dir ${destroot} {
+        if {[file isdirectory $dir]} {
+            catch {file delete $dir}
+        }
     }
-    catch {system "find \"${destroot}\" -depth -type d ${exclude_phrase} -exec rmdir -- \{\} \\; 2>/dev/null"}
 
     # Compress all manpages with gzip (instead)
-    # but NOT on Jaguar (Darwin 6.x)
-    if {![regexp {darwin6} "${os.platform}${os.version}"]} {
-        set manpath "${destroot}${prefix}/share/man"
-        set gzip [findBinary gzip ${portutil::autoconf::gzip_path}]
-        set gunzip "$gzip -d"
-        set bunzip2 "[findBinary bzip2 ${portutil::autoconf::bzip2_path}] -d"
-        if {[file isdirectory ${manpath}] && [file type ${manpath}] == "directory"} {
-            ui_info "$UI_PREFIX [format [msgcat::mc "Compressing man pages for %s"] ${name}]"
-            set found 0
-            set manlinks [list]
-            foreach mandir [readdir "${manpath}"] {
-                if {![regexp {^(cat|man)(.)$} ${mandir} match ignore manindex]} { continue }
-                set mandirpath [file join ${manpath} ${mandir}]
-                if {[file isdirectory ${mandirpath}] && [file type ${mandirpath}] == "directory"} {
-                    ui_debug "Scanning ${mandir}"
-                    foreach manfile [readdir ${mandirpath}] {
-                        set manfilepath [file join ${mandirpath} ${manfile}]
-                        if {[file isfile ${manfilepath}] && [file type ${manfilepath}] == "file"} {
-                            if {[regexp "^(.*\[.\]${manindex}\[a-z\]*)\[.\]gz\$" ${manfile} gzfile manfile]} {
-                                set found 1
-                                system "cd ${manpath} && \
-                                $gunzip -f [file join ${mandir} ${gzfile}] && \
-                                $gzip -9vf [file join ${mandir} ${manfile}]"
-                            } elseif {[regexp "^(.*\[.\]${manindex}\[a-z\]*)\[.\]bz2\$" ${manfile} bz2file manfile]} {
-                                set found 1
-                                system "cd ${manpath} && \
-                                $bunzip2 -f [file join ${mandir} ${bz2file}] && \
-                                $gzip -9vf [file join ${mandir} ${manfile}]"
-                            } elseif {[regexp "\[.\]${manindex}\[a-z\]*\$" ${manfile}]} {
-                                set found 1
-                                system "cd ${manpath} && \
-                                $gzip -9vf [file join ${mandir} ${manfile}]"
+    set manpath "${destroot}${prefix}/share/man"
+    set gzip [findBinary gzip ${portutil::autoconf::gzip_path}]
+    set gunzip "$gzip -d"
+    set bunzip2 "[findBinary bzip2 ${portutil::autoconf::bzip2_path}] -d"
+    if {[file isdirectory ${manpath}] && [file type ${manpath}] == "directory"} {
+        ui_info "$UI_PREFIX [format [msgcat::mc "Compressing man pages for %s"] ${name}]"
+        set found 0
+        set manlinks [list]
+        foreach mandir [readdir "${manpath}"] {
+            if {![regexp {^(cat|man)(.)$} ${mandir} match ignore manindex]} { continue }
+            set mandirpath [file join ${manpath} ${mandir}]
+            if {[file isdirectory ${mandirpath}] && [file type ${mandirpath}] == "directory"} {
+                ui_debug "Scanning ${mandir}"
+                foreach manfile [readdir ${mandirpath}] {
+                    set manfilepath [file join ${mandirpath} ${manfile}]
+                    if {[file isfile ${manfilepath}] && [file type ${manfilepath}] == "file"} {
+                        if {[regexp "^(.*\[.\]${manindex}\[a-z\]*)\[.\]gz\$" ${manfile} gzfile manfile]} {
+                            set found 1
+                            system "cd ${manpath} && \
+                            $gunzip -f [file join ${mandir} ${gzfile}] && \
+                            $gzip -9vf [file join ${mandir} ${manfile}]"
+                        } elseif {[regexp "^(.*\[.\]${manindex}\[a-z\]*)\[.\]bz2\$" ${manfile} bz2file manfile]} {
+                            set found 1
+                            system "cd ${manpath} && \
+                            $bunzip2 -f [file join ${mandir} ${bz2file}] && \
+                            $gzip -9vf [file join ${mandir} ${manfile}]"
+                        } elseif {[regexp "\[.\]${manindex}\[a-z\]*\$" ${manfile}]} {
+                            set found 1
+                            system "cd ${manpath} && \
+                            $gzip -9vf [file join ${mandir} ${manfile}]"
+                        }
+                        set gzmanfile ${manfile}.gz
+                        set gzmanfilepath [file join ${mandirpath} ${gzmanfile}]
+                        if {[file exists ${gzmanfilepath}]} {
+                            set desired 00444
+                            set current [file attributes ${gzmanfilepath} -permissions]
+                            if {$current != $desired} {
+                                ui_info "[file join ${mandir} ${gzmanfile}]: changing permissions from $current to $desired"
+                                file attributes ${gzmanfilepath} -permissions $desired
                             }
-                            set gzmanfile ${manfile}.gz
-                            set gzmanfilepath [file join ${mandirpath} ${gzmanfile}]
-                            if {[file exists ${gzmanfilepath}]} {
-                                set desired 00444
-                                set current [file attributes ${gzmanfilepath} -permissions]
-                                if {$current != $desired} {
-                                    ui_info "[file join ${mandir} ${gzmanfile}]: changing permissions from $current to $desired"
-                                    file attributes ${gzmanfilepath} -permissions $desired
-                                }
-                            }
-                        } elseif {[file type ${manfilepath}] == "link"} {
-                            lappend manlinks [file join ${mandir} ${manfile}]
                         }
+                    } elseif {[file type ${manfilepath}] == "link"} {
+                        lappend manlinks [file join ${mandir} ${manfile}]
                     }
                 }
             }
-            if {$found == 1} {
-                # check man page links and rename/repoint them if necessary
-                foreach manlink $manlinks {
-                    set manlinkpath [file join $manpath $manlink]
-                    # if link destination is not gzipped, check it
-                    set manlinksrc [file readlink $manlinkpath]
-                    # if link destination is an absolute path, convert it to a
-                    # relative path
-                    if {[file pathtype $manlinksrc] eq "absolute"} {
-                        set manlinksrc [file tail $manlinksrc]
+        }
+        if {$found == 1} {
+            # check man page links and rename/repoint them if necessary
+            foreach manlink $manlinks {
+                set manlinkpath [file join $manpath $manlink]
+                # if link destination is not gzipped, check it
+                set manlinksrc [file readlink $manlinkpath]
+                # if link destination is an absolute path, convert it to a
+                # relative path
+                if {[file pathtype $manlinksrc] eq "absolute"} {
+                    set manlinksrc [file tail $manlinksrc]
+                }
+                if {![regexp "\[.\]gz\$" ${manlinksrc}]} {
+                    set mandir [file dirname $manlink]
+                    set mandirpath [file join $manpath $mandir]
+                    set pwd [pwd]
+                    if {[catch {_cd $mandirpath} err]} {
+                        puts $err
+                        return
                     }
-                    if {![regexp "\[.\]gz\$" ${manlinksrc}]} {
-                        set mandir [file dirname $manlink]
-                        set mandirpath [file join $manpath $mandir]
-                        set pwd [pwd]
-                        if {[catch {_cd $mandirpath} err]} {
-                            puts $err
-                            return
+                    # if gzipped destination exists, fix link
+                    if {[file isfile ${manlinksrc}.gz]} {
+                        # if actual link name does not end with gz, rename it
+                        if {![regexp "\[.\]gz\$" ${manlink}]} {
+                            ui_debug "renaming link: $manlink to ${manlink}.gz"
+                            file rename $manlinkpath ${manlinkpath}.gz
+                            set manlink ${manlink}.gz
+                            set manlinkpath [file join $manpath $manlink]
                         }
-                        # if gzipped destination exists, fix link
-                        if {[file isfile ${manlinksrc}.gz]} {
-                            # if actual link name does not end with gz, rename it
-                            if {![regexp "\[.\]gz\$" ${manlink}]} {
-                                ui_debug "renaming link: $manlink to ${manlink}.gz"
-                                file rename $manlinkpath ${manlinkpath}.gz
-                                set manlink ${manlink}.gz
-                                set manlinkpath [file join $manpath $manlink]
-                            }
-                            # repoint the link
-                            ui_debug "repointing link: $manlink from $manlinksrc to ${manlinksrc}.gz"
-                            file delete $manlinkpath
-                            ln -s "${manlinksrc}.gz" "${manlinkpath}"
-                        }
-                        _cd $pwd
+                        # repoint the link
+                        ui_debug "repointing link: $manlink from $manlinksrc to ${manlinksrc}.gz"
+                        file delete $manlinkpath
+                        ln -s "${manlinksrc}.gz" "${manlinkpath}"
                     }
+                    _cd $pwd
                 }
-            } else {
-                ui_debug "No man pages found to compress."
             }
+        } else {
+            ui_debug "No man pages found to compress."
         }
-    } else {
-        ui_debug "No man page compression on ${os.platform}${os.version}."
     }
 
     # test for violations of mtree
@@ -309,9 +303,8 @@
                 } else {
                     # these files are outside of the prefix
                     switch $dfile {
-                        /Applications -
-                        /Developer -
-                        /Library { ui_debug "port installs files in $dfile" }
+                        $applications_dir -
+                        $developer_dir { ui_debug "port installs files in $dfile" }
                         default {
                             ui_warn "violation by $dfile"
                             set mtree_violation "yes"

Modified: branches/images-and-archives/base/src/port1.0/portmain.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portmain.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/portmain.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -61,6 +61,7 @@
 default prefix /opt/local
 default applications_dir /Applications/MacPorts
 default frameworks_dir {${prefix}/Library/Frameworks}
+default developer_dir {/Developer}
 default destdir destroot
 default destpath {${workpath}/${destdir}}
 # destroot is provided as a clearer name for the "destpath" variable

Modified: branches/images-and-archives/base/src/port1.0/portutil.tcl
===================================================================
--- branches/images-and-archives/base/src/port1.0/portutil.tcl	2009-06-06 07:39:33 UTC (rev 51898)
+++ branches/images-and-archives/base/src/port1.0/portutil.tcl	2009-06-06 07:50:17 UTC (rev 51899)
@@ -1877,7 +1877,7 @@
     } elseif {[exists use_xmkmf] && [option use_xmkmf]} {
         ui_debug "using xmkmf, so not adding the default universal variant"
         return no
-    } elseif {[exists use_configure] && ![option use_configure] && ![exists xcode.universal.settings]} {
+    } elseif {[exists use_configure] && ![option use_configure] && ![exists xcode.project]} {
         # Allow +universal if port uses xcode portgroup.
         ui_debug "not using configure, so not adding the default universal variant"
         return no
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20090606/95007060/attachment-0001.html>


More information about the macports-changes mailing list