[59837] branches/gsoc09-logging/base

blb at macports.org blb at macports.org
Fri Oct 23 14:16:59 PDT 2009


Revision: 59837
          http://trac.macports.org/changeset/59837
Author:   blb at macports.org
Date:     2009-10-23 14:16:57 -0700 (Fri, 23 Oct 2009)
Log Message:
-----------
Merge from trunk

Modified Paths:
--------------
    branches/gsoc09-logging/base/doc/macports.conf.in
    branches/gsoc09-logging/base/portmgr/autosubmit.tcl
    branches/gsoc09-logging/base/portmgr/jobs/PortIndex2MySQL.tcl
    branches/gsoc09-logging/base/portmgr/packaging/dpkgall.tcl
    branches/gsoc09-logging/base/src/darwintracelib1.0/Makefile
    branches/gsoc09-logging/base/src/macports1.0/macports.tcl
    branches/gsoc09-logging/base/src/pextlib1.0/sha256cmd.c
    branches/gsoc09-logging/base/src/port/port.tcl
    branches/gsoc09-logging/base/src/port1.0/portutil.tcl
    branches/gsoc09-logging/base/src/registry1.0/portimage.tcl
    branches/gsoc09-logging/base/src/registry1.0/portuninstall.tcl
    branches/gsoc09-logging/base/tests/Makefile
    branches/gsoc09-logging/base/tests/test/case-insensitive-deactivate/Makefile
    branches/gsoc09-logging/base/tests/test/checksums-1/master
    branches/gsoc09-logging/base/tests/test/cvs-and-patchsites/master
    branches/gsoc09-logging/base/tests/test/dependencies-c/master
    branches/gsoc09-logging/base/tests/test/dependencies-d/master
    branches/gsoc09-logging/base/tests/test/dependencies-e/master
    branches/gsoc09-logging/base/tests/test/envvariables/master
    branches/gsoc09-logging/base/tests/test/site-tags/master
    branches/gsoc09-logging/base/tests/test/trace/master
    branches/gsoc09-logging/base/tests/test/universal-2/master
    branches/gsoc09-logging/base/tests/test/variants/master
    branches/gsoc09-logging/base/tests/test/xcodeversion/master

Added Paths:
-----------
    branches/gsoc09-logging/base/tests/test/dependencies-e/error_expected

Property Changed:
----------------
    branches/gsoc09-logging/base/


Property changes on: branches/gsoc09-logging/base
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/gsoc08-privileges/base:37343-46937
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:51231-59526
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692
   + /branches/gsoc08-privileges/base:37343-46937
/branches/universal-sanity/base:51872-52323
/branches/variant-descs-14482/base:34469-34855,34900-37508,37511-37512,41040-41463,42575-42626,42640-42659
/trunk/base:51231-59836
/users/perry/base-bugs_and_notes:45682-46060
/users/perry/base-select:44044-44692

Modified: branches/gsoc09-logging/base/doc/macports.conf.in
===================================================================
--- branches/gsoc09-logging/base/doc/macports.conf.in	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/doc/macports.conf.in	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,7 +1,7 @@
 # MacPorts system wide configuration file
 # $Id$
 
-# Set the directory in which to install ports
+# Set the directory in which to install ports. Must match where MacPorts itself is installed.
 prefix			@prefix_expanded@
 
 # Set the user to run MacPorts compiles, etc as when privileges are dropped during an install
@@ -12,10 +12,10 @@
 
 # Type of storage to use for the port registry information, "flat" or "sqlite"
 # NOTE: sqlite not yet supported.
-portdbformat		flat
+#portdbformat		flat
 
 # Type of installation to do for ports, "direct" or "image".  See macports.conf(5) and online documentation.
-portinstalltype		image
+#portinstalltype		image
 
 # PATH settings that are used for external tools (configure, make, etc.) while installing ports. The default
 # paths are given in the example; it need not be uncommented.  Customizing binpath is intended for advanced users only.
@@ -37,10 +37,10 @@
 variants_conf		@MPCONFIGDIR_EXPANDED@/variants.conf
 
 # Create and use binary archive packages for installation/reinstallation ease
-portarchivemode		no
+#portarchivemode		no
 
 # Where to store/retrieve ports binary archive files
-portarchivepath		@localstatedir_expanded@/macports/packages
+#portarchivepath		@localstatedir_expanded@/macports/packages
 
 # Type of binary archive packages to create when using archive mode
 #
@@ -51,27 +51,27 @@
 # first archive to match one of the specified types in order is used.
 #
 # Supported types: tgz (default), tar, tbz, tbz2, tlz, txz, xar, zip, cpgz, cpio
-portarchivetype		tgz
+#portarchivetype		tgz
 
 # CPU architecture to compile for. Defaults to i386 or ppc on Mac OS X 10.5
 # and earlier, depending on the CPU type detected at runtime. On Mac OS X 10.6
 # the default is x86_64 if the CPU supports it, i386 otherwise.
-#build_arch			i386
+#build_arch			@host_cpu@
 
 # CPU architectures to use for Universal Binaries (+universal variant)
 universal_archs		@UNIVERSAL_ARCHS@
 
 # Use ccache (C/C++ compiler cache) - see http://ccache.samba.org/
-configureccache		no
+#configureccache		no
 
 # Use distcc (distributed compiler) - see http://distcc.samba.org/
-configuredistcc		no
+#configuredistcc		no
 
 # Use pipes rather than intermediate files when compiling C/C++/etc
-configurepipe		no
+#configurepipe		yes
 
 # Lowered scheduling priority (0-20) to use for make when building ports
-buildnicevalue		0
+#buildnicevalue		0
 
 # Number of simultaneous make jobs (commands) to use when building ports. This
 # value may be set to 0 so the number of simultaneous make jobs will be set to
@@ -79,8 +79,11 @@
 # of physical memory plus one, whichever is less.
 #buildmakejobs		0
 
+# umask value to use when a port installs its files
+#destroot_umask 022
+
 # Set whether to automatically execute "clean" after "install" of ports
-portautoclean		yes
+#portautoclean		yes
 
 # Uncomment if you dont want logs to be saved (but you will not be able to get 
 # help if something goes wrong)
@@ -92,13 +95,13 @@
 # for the current list):
 #   rsync.macports.org        - California, USA (master)
 #   trd.no.rsync.macports.org - Trondheim, Norway
-rsync_server		rsync.macports.org
+#rsync_server		rsync.macports.org
 
 # Rsync directory from which to pull the base/ component (infrastructure) of MacPorts
-rsync_dir			release/base/
+#rsync_dir			release/base/
 
 # Rsync options
-rsync_options		-rtzv --delete-after
+#rsync_options		-rtzv --delete-after
 
 # Options for generated startup items
 # startupitem_type may be "default", "systemstarter", "launchd", or "none";
@@ -107,7 +110,7 @@
 # launchd, while older Mac OS X systems will default to systemstarter. If
 # option "none" is chosen, port startupitems are ignored and no startupitems
 # are installed.
-startupitem_type	default
+#startupitem_type	default
 
 # Extra environment variables to keep. Any variables listed here are added
 # to the list of variables that are not removed from the environment used

Modified: branches/gsoc09-logging/base/portmgr/autosubmit.tcl
===================================================================
--- branches/gsoc09-logging/base/portmgr/autosubmit.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/portmgr/autosubmit.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -34,7 +34,7 @@
 proc submit_ports {} {
 	global prefix submit_options verbose
 
-	if {[catch {set res [mportsearch "^.*\$"]} result]} {
+	if {[catch {set res [mportlistall]} result]} {
 		puts "port search failed: $result"
 		exit 1
 	}

Modified: branches/gsoc09-logging/base/portmgr/jobs/PortIndex2MySQL.tcl
===================================================================
--- branches/gsoc09-logging/base/portmgr/jobs/PortIndex2MySQL.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/portmgr/jobs/PortIndex2MySQL.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -230,7 +230,7 @@
 }
 
 # Load every port in the index through a search that matches everything.
-if {[catch {set ports [mportsearch ".+"]} errstr]} {
+if {[catch {set ports [mportlistall]} errstr]} {
     ui_error "${::errorInfo}"
     ui_error "port search failed: $errstr"
     cleanup sqlfile lockfile

Modified: branches/gsoc09-logging/base/portmgr/packaging/dpkgall.tcl
===================================================================
--- branches/gsoc09-logging/base/portmgr/packaging/dpkgall.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/portmgr/packaging/dpkgall.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -347,7 +347,7 @@
 
 	# If no portlist file was specified, create a portlist that includes all ports
 	if {[llength $portlist] == 0 || "$buildall_flag" == "true"} {
-		set res [mportsearch {.*}]
+		set res [mportlistall]
 		foreach {name array} $res {
 			lappend portlist $name
 		}
@@ -757,7 +757,7 @@
 
 proc get_portinfo {port} {
 	set searchstring [regex_escape_portname $port]
-	set res [mportsearch "^${searchstring}\$"]
+	set res [mportlookup ${searchstring}]
 
 	if {[llength $res] < 2} {
 		return -code error "Port \"$port\" not found in index."

Modified: branches/gsoc09-logging/base/src/darwintracelib1.0/Makefile
===================================================================
--- branches/gsoc09-logging/base/src/darwintracelib1.0/Makefile	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/darwintracelib1.0/Makefile	2009-10-23 21:16:57 UTC (rev 59837)
@@ -2,6 +2,8 @@
 SHLIB_NAME=	darwintrace${SHLIB_SUFFIX}
 INSTALLDIR=	${DESTDIR}${datadir}/macports/Tcl/darwintrace1.0
 
+test::
+
 include ../../Mk/macports.autoconf.mk
 
 all:: ${SHLIB_NAME}

Modified: branches/gsoc09-logging/base/src/macports1.0/macports.tcl
===================================================================
--- branches/gsoc09-logging/base/src/macports1.0/macports.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/macports1.0/macports.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -270,6 +270,14 @@
     proc ui_$priority {args} [subst { eval macports::ui_init $priority \$args }]
 }
 
+proc ui_warn_once {id msg} {
+    variable macports::warning_done
+    if {![info exists macports::warning_done($id)]} {
+        ui_warn $msg
+        set macports::warning_done($id) 1
+    }
+}
+
 # Replace puts to catch errors (typically broken pipes when being piped to head)
 rename puts tcl::puts
 proc puts {args} {
@@ -608,7 +616,7 @@
 
     # Archive mode, whether to create/use binary archive packages
     if {![info exists portarchivemode]} {
-        set macports::portarchivemode "yes"
+        set macports::portarchivemode "no"
         global macports::portarchivemode
     }
 
@@ -633,7 +641,7 @@
     # Archive type, what type of binary archive to use (CPIO, gzipped
     # CPIO, XAR, etc.)
     if {![info exists portarchivetype]} {
-        set macports::portarchivetype "cpgz"
+        set macports::portarchivetype "tgz"
         global macports::portarchivetype
     }
     # Convert archive type to a list for multi-archive support, colon or
@@ -696,7 +704,7 @@
         set macports::configuredistcc no
     }
     if {![info exists macports::configurepipe]} {
-        set macports::configurepipe no
+        set macports::configurepipe yes
     }
 
     # Default mp build options
@@ -890,6 +898,8 @@
 
     $workername alias ui_prefix ui_prefix
     $workername alias ui_channels ui_channels
+    
+    $workername alias ui_warn_once ui_warn_once
 
     # Export some utility functions defined here.
     $workername alias macports_create_thread macports::create_thread
@@ -1032,23 +1042,22 @@
 # fetched port will be downloaded to (currently only applies to
 # mports:// sources).
 proc macports::getportdir {url {destdir "."}} {
-    if {[regexp {(?x)([^:]+)://(.+)} $url match protocol string] == 1} {
-        switch -regexp -- ${protocol} {
-            {^file$} {
-                return [file normalize $string]
-            }
-            {^mports$} {
-                return [macports::index::fetch_port $url $destdir]
-            }
-            {^https?$|^ftp$} {
-                return [macports::fetch_port $url]
-            }
-            default {
-                return -code error "Unsupported protocol $protocol"
-            }
+    set protocol [macports::getprotocol $url]
+    switch ${protocol} {
+        file {
+            return [file normalize [string range $url [expr [string length $protocol] + 3] end]]
         }
-    } else {
-        return -code error "Can't parse url $url"
+        mports {
+            return [macports::index::fetch_port $url $destdir]
+        }
+        https -
+        http -
+        ftp {
+            return [macports::fetch_port $url]
+        }
+        default {
+            return -code error "Unsupported protocol $protocol"
+        }
     }
 }
 
@@ -1819,11 +1828,10 @@
 
     set found 0
     foreach source $sources {
-        set flags [lrange $source 1 end]
         set source [lindex $source 0]
-        if {[macports::getprotocol $source] == "mports"} {
-            array set attrs [list name $pattern]
-            set res [macports::index::search $macports::portdbpath $source [array get attrs]]
+        set protocol [macports::getprotocol $source]
+        if {$protocol == "mports"} {
+            set res [macports::index::search $macports::portdbpath $source [list name $pattern]]
             eval lappend matches $res
         } else {
             if {[catch {set fd [open [macports::getindex $source] r]} result]} {
@@ -1862,12 +1870,14 @@
                             if {$easy} {
                                 array set portinfo $line
                             }
-                            switch -regexp -- [macports::getprotocol ${source}] {
-                                {^rsync$} {
+                            switch $protocol {
+                                rsync {
                                     # Rsync files are local
                                     set source_url "file://[macports::getsourcepath $source]"
                                 }
-                                {^https?$|^ftp$} {
+                                https -
+                                http -
+                                ftp {
                                     if {[_source_is_snapshot $source filename extension]} {
                                         # daily snapshot tarball
                                         set source_url "file://[macports::getsourcepath $source]"
@@ -1923,7 +1933,8 @@
     set matches [list]
     foreach source $sources {
         set source [lindex $source 0]
-        if {[macports::getprotocol $source] != "mports"} {
+        set protocol [macports::getprotocol $source]
+        if {$protocol != "mports"} {
             global macports::quick_index
             if {![info exists quick_index($sourceno,[string tolower $name])]} {
                 incr sourceno 1
@@ -1946,17 +1957,16 @@
 
                     array set portinfo $line
 
-                    switch -regexp -- [macports::getprotocol ${source}] {
-                        {^rsync$} {
-                            # Rsync files are local
+                    switch $protocol {
+                        rsync {
                             set source_url "file://[macports::getsourcepath $source]"
                         }
-                        {^https?$|^ftp$} {
+                        https -
+                        http -
+                        ftp {
                             if {[_source_is_snapshot $source filename extension]} {
-                                # daily snapshot tarball
                                 set source_url "file://[macports::getsourcepath $source]"
                              } else {
-                                # default action
                                 set source_url $source
                              }
                         }
@@ -1971,9 +1981,6 @@
                     }
                     if {[info exists porturl]} {
                         lappend line porturl $porturl
-                        ui_debug "Found port in $porturl"
-                    } else {
-                        ui_debug "Found port info: $line"
                     }
                     lappend matches $name
                     lappend matches $line
@@ -1991,8 +1998,7 @@
                 }
             }
         } else {
-            array set attrs [list name $name]
-            set res [macports::index::search $macports::portdbpath $source [array get attrs]]
+            set res [macports::index::search $macports::portdbpath $source [list name $name]]
             if {[llength $res] > 0} {
                 eval lappend matches $res
                 break
@@ -2003,6 +2009,76 @@
     return $matches
 }
 
+# Returns all ports in the indices. Faster than 'mportsearch .*'
+proc mportlistall {args} {
+    global macports::portdbpath macports::sources
+    set matches [list]
+
+    set found 0
+    foreach source $sources {
+        set source [lindex $source 0]
+        set protocol [macports::getprotocol $source]
+        if {$protocol != "mports"} {
+            if {![catch {set fd [open [macports::getindex $source] r]} result]} {
+                try {
+                    incr found 1
+                    while {[gets $fd line] >= 0} {
+                        array unset portinfo
+                        set name [lindex $line 0]
+                        set len [lindex $line 1]
+                        set line [read $fd $len]
+
+                        array set portinfo $line
+
+                        switch $protocol {
+                            rsync {
+                                set source_url "file://[macports::getsourcepath $source]"
+                            }
+                            https -
+                            http -
+                            ftp {
+                                if {[_source_is_snapshot $source filename extension]} {
+                                    set source_url "file://[macports::getsourcepath $source]"
+                                } else {
+                                    set source_url $source
+                                }
+                            }
+                            default {
+                                set source_url $source
+                            }
+                        }
+                        if {[info exists portinfo(portdir)]} {
+                            set porturl ${source_url}/$portinfo(portdir)
+                        } elseif {[info exists portinfo(portarchive)]} {
+                            set porturl ${source_url}/$portinfo(portarchive)
+                        }
+                        if {[info exists porturl]} {
+                            lappend line porturl $porturl
+                        }
+                        lappend matches $name $line
+                    }
+                } catch {*} {
+                    ui_warn "It looks like your PortIndex file for $source may be corrupt."
+                    throw
+                } finally {
+                    close $fd
+                }
+            } else {
+                ui_warn "Can't open index file for source: $source"
+            }
+        } else {
+            set res [macports::index::search $macports::portdbpath $source [list name .*]]
+            eval lappend matches $res
+        }
+    }
+    if {!$found} {
+        return -code error "No index(es) found! Have you synced your source indexes?"
+    }
+
+    return $matches
+}
+
+
 # Loads PortIndex.quick from each source into the quick_index, generating
 # it first if necessary.
 proc _mports_load_quickindex {args} {
@@ -2179,6 +2255,9 @@
             array unset portinfo
             array set portinfo [lindex $res 1]
             if {![info exists portinfo(porturl)]} {
+                if {![macports::ui_isset ports_debug]} {
+                    ui_msg ""
+                }
                 ui_error "Dependency '$dep_portname' not found."
                 return 1
             }

Modified: branches/gsoc09-logging/base/src/pextlib1.0/sha256cmd.c
===================================================================
--- branches/gsoc09-logging/base/src/pextlib1.0/sha256cmd.c	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/pextlib1.0/sha256cmd.c	2009-10-23 21:16:57 UTC (rev 59837)
@@ -49,6 +49,15 @@
 #define COMMON_DIGEST_FOR_OPENSSL
 #include <CommonCrypto/CommonDigest.h>
 
+/* Tiger compatibility */
+#ifndef SHA256_DIGEST_LENGTH
+#define SHA256_DIGEST_LENGTH            CC_SHA256_DIGEST_LENGTH
+#define SHA256_CTX                      CC_SHA256_CTX
+#define SHA256_Init(c)                  CC_SHA256_Init(c)
+#define SHA256_Update(c,d,l)            CC_SHA256_Update(c,d,l)
+#define SHA256_Final(m, c)              CC_SHA256_Final(m,c)
+#endif
+
 #include "md_wrappers.h"
 CHECKSUMEnd(SHA256_, SHA256_CTX, SHA256_DIGEST_LENGTH)
 CHECKSUMFile(SHA256_, SHA256_CTX)

Modified: branches/gsoc09-logging/base/src/port/port.tcl
===================================================================
--- branches/gsoc09-logging/base/src/port/port.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/port/port.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -587,7 +587,19 @@
     global all_ports_cache
 
     if {![info exists all_ports_cache]} {
-        set all_ports_cache [get_matching_ports "*"]
+         if {[catch {set res [mportlistall]} result]} {
+            global errorInfo
+            ui_debug "$errorInfo"
+            fatal "listing all ports failed: $result"
+        }
+        set results {}
+        foreach {name info} $res {
+            array unset portinfo
+            array set portinfo $info
+            add_to_portlist results [list url $portinfo(porturl) name $name]
+        }
+
+        set all_ports_cache [portlist_sort $results]
     }
     return $all_ports_cache
 }
@@ -2703,16 +2715,19 @@
     
     foreachport $portlist {
         if {$portname == "-all-"} {
-            set search_string ".+"
+           if {[catch {set res [mportlistall]} result]} {
+                global errorInfo
+                ui_debug "$errorInfo"
+                break_softcontinue "listing all ports failed: $result" 1 status
+            }
         } else {
             set search_string [regex_pat_sanitize $portname]
+            if {[catch {set res [mportsearch ^$search_string\$ no]} result]} {
+                global errorInfo
+                ui_debug "$errorInfo"
+                break_softcontinue "search for portname $search_string failed: $result" 1 status
+            }
         }
-        
-        if {[catch {set res [mportsearch ^$search_string\$ no]} result]} {
-            global errorInfo
-            ui_debug "$errorInfo"
-            break_softcontinue "search for portname $search_string failed: $result" 1 status
-        }
 
         foreach {name array} $res {
             array unset portinfo
@@ -3693,6 +3708,9 @@
 set cmd_argc $argc
 set cmd_argn 0
 
+# make sure we're using a sane umask
+umask 022
+
 # If we've been invoked as portf, then the first argument is assumed
 # to be the name of a command file (i.e., there is an implicit -F
 # before any arguments).

Modified: branches/gsoc09-logging/base/src/port1.0/portutil.tcl
===================================================================
--- branches/gsoc09-logging/base/src/port1.0/portutil.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/port1.0/portutil.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1506,7 +1506,7 @@
     }
     
     if { [getuid] != 0 } {
-        ui_msg "MacPorts running without privileges.\
+        ui_warn_once "privileges" "MacPorts running without privileges.\
                 You may be unable to complete certain actions (e.g. install)."
     }
     
@@ -1848,6 +1848,10 @@
         ui_debug "adding the default universal variant"
         variant universal {}
     }
+    
+    if {[variant_isset universal] && ![variant_exists universal]} {
+        ui_warn "[option name] has no universal variant"
+    }
 }
 
 # Target class definition.
@@ -2333,16 +2337,22 @@
 # @param attributes the attributes for the file
 proc fileAttrsAsRoot {file attributes} {
     global euid macportsuser
-    if {[getuid] == 0 && [geteuid] != 0} {
-        # Started as root, but not root now
-        seteuid $euid
-        ui_debug "euid changed to: [geteuid]"
-        ui_debug "setting attributes on $file"
-        eval file attributes {$file} $attributes
-        seteuid [name_to_uid "$macportsuser"]
-        ui_debug "euid changed to: [geteuid]"
+    if {[getuid] == 0} {
+        if {[geteuid] != 0} {
+            # Started as root, but not root now
+            seteuid $euid
+            ui_debug "euid changed to: [geteuid]"
+            ui_debug "setting attributes on $file"
+            eval file attributes {$file} $attributes
+            seteuid [name_to_uid "$macportsuser"]
+            ui_debug "euid changed to: [geteuid]"
+        } else {
+            eval file attributes {$file} $attributes
+        }
     } else {
-        eval file attributes {$file} $attributes
+        # not root, so can't set owner/group
+        set permissions [lindex $attributes [expr [lsearch $attributes "-permissions"] + 1]]
+        file attributes $file -permissions $permissions
     }
 }
 

Modified: branches/gsoc09-logging/base/src/registry1.0/portimage.tcl
===================================================================
--- branches/gsoc09-logging/base/src/registry1.0/portimage.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/registry1.0/portimage.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -292,6 +292,7 @@
 	global macports::prefix
 
 	set files [list]
+	set timestamp [clock seconds]
 	
 	# This is big and hairy and probably could be done better.
 	# First, we need to check the source file, make sure it exists
@@ -310,10 +311,8 @@
 			return -code error "Image error: Source file $srcfile does not appear to exist (cannot lstat it).  Unable to activate port $name."
 		}
 
-		set port [registry::file_registered $file] 
+		set port [registry::file_registered $file]
 
-		set timestamp [clock seconds]
-
 		if { $port != 0  && $force != 1 && $port != $name } {
 			return -code error "Image error: $file is being used by the active $port port.  Please deactivate this port first, or use 'port -f activate $name' to force the activation."
 		} elseif { [file exists $file] && $force != 1 } {

Modified: branches/gsoc09-logging/base/src/registry1.0/portuninstall.tcl
===================================================================
--- branches/gsoc09-logging/base/src/registry1.0/portuninstall.tcl	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/src/registry1.0/portuninstall.tcl	2009-10-23 21:16:57 UTC (rev 59837)
@@ -46,7 +46,7 @@
 	if { [llength $ilist] > 1 } {
 	    set portname [lindex [lindex $ilist 0] 0]
 		ui_msg "$UI_PREFIX [msgcat::mc "The following versions of $portname are currently installed:"]"
-		foreach i $ilist { 
+		foreach i [portlist_sortint $ilist] { 
 			set iname [lindex $i 0]
 			set iversion [lindex $i 1]
 			set irevision [lindex $i 2]
@@ -189,10 +189,10 @@
 				}
 			}
 			
-			if { [file exists $f] || (![catch {file type $f}] && [file type $f] == "link") } {
+			set theFile [file normalize $fname]
+			if { [file exists $theFile] || (![catch {file type $theFile}] && [file type $theFile] == "link") } {
 			    # Normalize the file path to avoid removing the intermediate
 			    # symlinks (remove the empty directories instead)
-			    set theFile [file normalize [lindex $f 0]]
 			    lappend files $theFile
 
 			    # Split out the filename's subpaths and add them to the

Modified: branches/gsoc09-logging/base/tests/Makefile
===================================================================
--- branches/gsoc09-logging/base/tests/Makefile	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/Makefile	2009-10-23 21:16:57 UTC (rev 59837)
@@ -21,15 +21,14 @@
 	cp sources.conf /tmp/macports-tests/opt/local/etc/macports/
 
 /tmp/macports-tests/ports/PortIndex: /tmp/macports-tests/opt/local/etc/macports/sources.conf PortIndex
-	cp PortIndex /tmp/macports-tests/ports/PortIndex
+	cp PortIndex PortIndex.quick /tmp/macports-tests/ports/
 
 PortIndex:
 	$(bindir)/portindex
 
 clean:
 	rm -rf /tmp/macports-tests/
-	rm -f PortIndex
-	rm -f PortIndex.quick
+	rm -f PortIndex PortIndex.quick
 	for testname in $(TESTS); do \
 		rm -f test/$$testname/{output,output.sed,difference,work}; \
 	done
@@ -52,7 +51,7 @@
 			( cd $$subdir && \
 				PORTSRC=$(PWD)/test-macports.conf $(bindir)/port clean > /dev/null && \
 				PORTSRC=$(PWD)/test-macports.conf $(bindir)/port test > output 2>&1 \
-					|| (cat output; exit 1) && \
+					|| ([ -e error_expected ] || (cat output; exit 1)) && \
 			sed -e "s|${PWD}|PWD|g" < output > output.sed && \
 			diff output.sed master 2>&1 | tee difference && \
 			if [ -s difference ]; then \
@@ -63,7 +62,7 @@
 		fi || exit 1; \
 	done
 	@rm -rf /tmp/macports-tests/
-	@rm -f PortIndex
+	@rm -f PortIndex PortIndex.quick
 
 # Run specific test
 # Prepend the directory name with "test-" and use it as target

Modified: branches/gsoc09-logging/base/tests/test/case-insensitive-deactivate/Makefile
===================================================================
--- branches/gsoc09-logging/base/tests/test/case-insensitive-deactivate/Makefile	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/case-insensitive-deactivate/Makefile	2009-10-23 21:16:57 UTC (rev 59837)
@@ -14,13 +14,13 @@
 test:
 	@echo port install $(TESTPORT1)
 	@sed 's/@name@/$(TESTPORT1)/' Portfile.in > Portfile
-	@PORTSRC=$(PORTSRC) $(bindir)/port -x install > output 2>&1 || (cat output; exit 1)
+	@PORTSRC=$(PORTSRC) $(bindir)/port install > output 2>&1 || (cat output; exit 1)
 	@if [ ! -f $(TESTFILE) ]; then \
 		echo "FAILED: File should exist after install: $(TESTFILE)" && exit 1; \
 	fi
 	@echo port uninstall $(TESTPORT2)
 	@sed 's/@name@/$(TESTPORT2)/' Portfile.in > Portfile
-	@PORTSRC=$(PORTSRC) $(bindir)/port -x uninstall > output 2>&1 || (cat output; exit 1)
+	@PORTSRC=$(PORTSRC) $(bindir)/port uninstall > output 2>&1 || (cat output; exit 1)
 	@if [ -f $(TESTFILE) ]; then \
 		rm $(TESTFILE); \
 		echo "FAILED: File should NOT exist after uninstall: $(TESTFILE)" && exit 1; \

Modified: branches/gsoc09-logging/base/tests/test/checksums-1/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/checksums-1/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/checksums-1/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for checksum
 --->  Fetching checksum
 --->  Verifying checksum(s) for checksum
 --->  Extracting checksum

Modified: branches/gsoc09-logging/base/tests/test/cvs-and-patchsites/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/cvs-and-patchsites/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/cvs-and-patchsites/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for cvs-and-patchsites
 --->  Fetching cvs-and-patchsites
 --->  Attempting to fetch patch-1.5.14.dgc.xlabel_ext.9 from http://home.uchicago.edu/~dgc/sw/mutt/
 --->  Verifying checksum(s) for cvs-and-patchsites

Modified: branches/gsoc09-logging/base/tests/test/dependencies-c/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/dependencies-c/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/dependencies-c/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for dependencies-c
 --->  Fetching dependencies-b
 --->  Verifying checksum(s) for dependencies-b
 --->  Extracting dependencies-b

Modified: branches/gsoc09-logging/base/tests/test/dependencies-d/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/dependencies-d/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/dependencies-d/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,5 +1,6 @@
 Warning: depends option is not handled yet
 Warning: depends option is not handled yet
+--->  Computing dependencies for dependencies-d
 --->  Fetching dependencies-b
 --->  Verifying checksum(s) for dependencies-b
 --->  Extracting dependencies-b

Modified: branches/gsoc09-logging/base/tests/test/dependencies-e/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/dependencies-e/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/dependencies-e/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,2 +1,3 @@
+--->  Computing dependencies for dependencies-e
 Error: Dependency 'docbook-xml-4.1.2' not found.
 Error: Status 1 encountered during processing.

Modified: branches/gsoc09-logging/base/tests/test/envvariables/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/envvariables/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/envvariables/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for envvariables
 --->  Fetching envvariables
 --->  Verifying checksum(s) for envvariables
 --->  Extracting envvariables

Modified: branches/gsoc09-logging/base/tests/test/site-tags/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/site-tags/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/site-tags/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for site-tags
 --->  Fetching site-tags
 --->  Attempting to fetch app-bm.tar.gz from http://www.douglas.stebila.ca/code/vim/app/
 --->  Attempting to fetch doc.tar.gz from http://www.douglas.stebila.ca/code/vim/doc/

Modified: branches/gsoc09-logging/base/tests/test/trace/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/trace/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/trace/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for trace
 --->  Fetching trace
 --->  Verifying checksum(s) for trace
 --->  Extracting trace

Modified: branches/gsoc09-logging/base/tests/test/universal-2/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/universal-2/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/universal-2/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,2 +1 @@
-no info for 'variants'
 variants: 

Modified: branches/gsoc09-logging/base/tests/test/variants/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/variants/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/variants/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,5 +1,6 @@
 Utopia platform -- 1
-Utopia platform -- 2
+Utopia platform -- 1
+--->  Computing dependencies for variants
 --->  Fetching variants
 --->  Verifying checksum(s) for variants
 --->  Extracting variants

Modified: branches/gsoc09-logging/base/tests/test/xcodeversion/master
===================================================================
--- branches/gsoc09-logging/base/tests/test/xcodeversion/master	2009-10-23 20:58:55 UTC (rev 59836)
+++ branches/gsoc09-logging/base/tests/test/xcodeversion/master	2009-10-23 21:16:57 UTC (rev 59837)
@@ -1,3 +1,4 @@
+--->  Computing dependencies for xcodeversion
 --->  Fetching xcodeversion
 --->  Verifying checksum(s) for xcodeversion
 --->  Extracting xcodeversion
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20091023/22a3bca0/attachment-0001.html>


More information about the macports-changes mailing list