[39178] branches/gsoc08-privileges/base

pmagrath at macports.org pmagrath at macports.org
Mon Aug 11 07:01:54 PDT 2008


Revision: 39178
          http://trac.macosforge.org/projects/macports/changeset/39178
Author:   pmagrath at macports.org
Date:     2008-08-11 07:01:53 -0700 (Mon, 11 Aug 2008)
Log Message:
-----------
Merged revisions 39012,39016-39017,39021,39023,39025,39036,39116,39177 via svnmerge from 
https://svn.macosforge.org/repository/macports/trunk/base

........
  r39012 | jmr at macports.org | 2008-08-06 07:56:11 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  Fix invalid DOCTYPE in generated launchd .plists. Thanks to blb for the patch. Closes #16200.
........
  r39016 | afb at macports.org | 2008-08-06 08:42:34 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  work around Leopard Tcl bugs (#16010)
........
  r39017 | afb at macports.org | 2008-08-06 08:46:08 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  work around Leopard Tcl bugs (#16233)
........
  r39021 | afb at macports.org | 2008-08-06 08:53:18 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  update changelog
........
  r39023 | ryandesign at macports.org | 2008-08-06 09:00:26 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  ChangeLog: consolidate entries for Leopard environment variable issue
........
  r39025 | ryandesign at macports.org | 2008-08-06 09:36:18 +0100 (Wed, 06 Aug 2008) | 2 lines
  
  portlint.tcl, portutil.tcl: undo changes inadvertently committed in r39023
........
  r39036 | raimue at macports.org | 2008-08-06 14:56:52 +0100 (Wed, 06 Aug 2008) | 4 lines
  
  port/port.tcl:
  In 'port gohome', use homepage variable from PortIndex if available. Otherwise
  read it from the Portfile. This way, this command works faster. Closes #16146.
........
  r39116 | jmr at macports.org | 2008-08-08 17:12:16 +0100 (Fri, 08 Aug 2008) | 2 lines
  
  Add clean_dep_map proc to registry, for removing duplicate dependency entries. (See #8763)
........
  r39177 | simon at macports.org | 2008-08-11 13:22:33 +0100 (Mon, 11 Aug 2008) | 2 lines
  
  base: Typo fix in portfetch.tcl.
........

Modified Paths:
--------------
    branches/gsoc08-privileges/base/ChangeLog
    branches/gsoc08-privileges/base/src/macports1.0/macports.tcl
    branches/gsoc08-privileges/base/src/port/port.tcl
    branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl
    branches/gsoc08-privileges/base/src/port1.0/portstartupitem.tcl
    branches/gsoc08-privileges/base/src/registry1.0/receipt_flat.tcl
    branches/gsoc08-privileges/base/src/registry1.0/registry.tcl

Property Changed:
----------------
    branches/gsoc08-privileges/base/


Property changes on: branches/gsoc08-privileges/base
___________________________________________________________________
Name: svnmerge-integrated
   - /trunk/base:1-38999
   + /trunk/base:1-39177

Modified: branches/gsoc08-privileges/base/ChangeLog
===================================================================
--- branches/gsoc08-privileges/base/ChangeLog	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/ChangeLog	2008-08-11 14:01:53 UTC (rev 39178)
@@ -72,7 +72,8 @@
     - Declaring a dependency on a nonexistent port now always causes an error
       (#10768, jmr in r36648)
 
-    - Explicitly use unsetenv(3) on all environment variables (#13930)
+    - Explicitly use unsetenv(3) on all environment variables (#13930, #16010,
+      #16233)
 
     - Make the included tclthread compile on Leopard if configured (#13495)
 

Modified: branches/gsoc08-privileges/base/src/macports1.0/macports.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/macports1.0/macports.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/macports1.0/macports.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -699,6 +699,13 @@
     } else {
         return -code error "Library directory '$libpath' must exist"
     }
+
+    # unset environment an extra time, to work around bugs in Leopard Tcl
+    foreach envkey [array names env] {
+        if {[lsearch $keepenvkeys $envkey] == -1} {
+            unsetenv $envkey
+        }
+    }
 }
 
 proc macports::worker_init {workername portpath portbuildpath options variations} {

Modified: branches/gsoc08-privileges/base/src/port/port.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port/port.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/port/port.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -2334,7 +2334,7 @@
                     # We need it to evaluate the editor, and the editor
                     # may want stuff from it as well, like TERM.
                     array unset env_save; array set env_save [array get env]
-                    array unset env *; array set env [array get boot_env]
+                    array unset env *; unsetenv *; array set env [array get boot_env]
                     
                     # Find an editor to edit the portfile
                     set editor ""
@@ -2360,7 +2360,7 @@
                     }
                     
                     # Restore internal MacPorts environment
-                    array unset env *; array set env [array get env_save]
+                    array unset env *; unsetenv *; array set env [array get env_save]
                 }
 
                 dir {
@@ -2393,19 +2393,27 @@
                 }
 
                 gohome {
-                    # Get the homepage for the port by opening the portfile
-                    if {![catch {set ctx [mportopen $porturl]} result]} {
+                    set homepage ""
+
+                    # Get the homepage as read from PortIndex
+                    if {[info exists portinfo(homepage)]} {
+                        set homepage $portinfo(homepage)
+                    }
+
+                    # If not available, get the homepage for the port by opening the Portfile
+                    if {$homepage == "" && ![catch {set ctx [mportopen $porturl]} result]} {
                         array set portinfo [mportinfo $ctx]
-                        set homepage $portinfo(homepage)
+                        if {[info exists portinfo(homepage)]} {
+                            set homepage $portinfo(homepage)
+                        }
                         mportclose $ctx
                     }
 
                     # Try to open a browser to the homepage for the given port
-                    set homepage $portinfo(homepage)
                     if { $homepage != "" } {
                         system "${macports::autoconf::open_path} $homepage"
                     } else {
-                        puts "(no homepage)"
+                        ui_error [format "No homepage for %s" $portname]
                     }
                 }
             }

Modified: branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/port1.0/portfetch.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -539,7 +539,7 @@
 }
 
 # Perform a standard fetch, assembling fetch urls from
-# the listed url varable and associated distfile
+# the listed url variable and associated distfile
 proc fetchfiles {args} {
 	global distpath all_dist_files UI_PREFIX fetch_urls
 	global fetch.user fetch.password fetch.use_epsv fetch.ignore_sslcert fetch.remote_time
@@ -682,7 +682,7 @@
 proc fetch_main {args} {
     global distname distpath all_dist_files fetch.type
 
-    # Check for files, download if neccesary
+    # Check for files, download if necessary
     if {![info exists all_dist_files] && "${fetch.type}" == "standard"} {
         return 0
     }

Modified: branches/gsoc08-privileges/base/src/port1.0/portstartupitem.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/port1.0/portstartupitem.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/port1.0/portstartupitem.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -556,8 +556,8 @@
     set plist [open "${destroot}${itemdir}/${plistname}" w 0644]
     
     puts ${plist} "<?xml version='1.0' encoding='UTF-8'?>"
-    puts ${plist} "<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN"
-    puts ${plist} "http://www.apple.com/DTDs/PropertyList-1.0.dtd >"
+    puts ${plist} "<!DOCTYPE plist PUBLIC \"-//Apple Computer//DTD PLIST 1.0//EN\""
+    puts ${plist} "\"http://www.apple.com/DTDs/PropertyList-1.0.dtd\" >"
     puts ${plist} "<plist version='1.0'>"
     puts ${plist} "<dict>"
     

Modified: branches/gsoc08-privileges/base/src/registry1.0/receipt_flat.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/registry1.0/receipt_flat.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/registry1.0/receipt_flat.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -763,6 +763,28 @@
 	set dep_map $new_map
 }
 
+# remove duplicate entries from the dep_map
+# (could be put there by older versions of MacPorts)
+proc clean_dep_map {args} {
+    variable dep_map
+    set new_map [list]
+    set oldlen [llength $dep_map]
+    ui_debug "Current dep_map has $oldlen entries"
+    foreach de $dep_map {
+        if {[lsearch -exact $new_map $de] == -1} {
+            lappend new_map $de
+        } else {
+            ui_debug "Removing $de from dep_map"
+        }
+    }
+    set dep_map $new_map
+    
+    set newlen [llength $dep_map]
+    set diff [expr $oldlen - $newlen]
+    ui_debug "New dep_map has $newlen entries"
+    ui_info "Removed $diff duplicate entries from the dependency map"
+}
+
 proc write_dep_map {args} {
 	global macports::registry.path
 	variable dep_map

Modified: branches/gsoc08-privileges/base/src/registry1.0/registry.tcl
===================================================================
--- branches/gsoc08-privileges/base/src/registry1.0/registry.tcl	2008-08-11 12:22:33 UTC (rev 39177)
+++ branches/gsoc08-privileges/base/src/registry1.0/registry.tcl	2008-08-11 14:01:53 UTC (rev 39178)
@@ -370,6 +370,11 @@
 	return [${macports::registry.format}::unregister_dep $dep $type $port]
 }
 
+proc clean_dep_map {args} {
+    global macports::registry.format
+    return [${macports::registry.format}::clean_dep_map $args]
+}
+
 proc write_dep_map {args} {
 	global macports::registry.format
 	return [${macports::registry.format}::write_dep_map $args]
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080811/34fd7450/attachment.html 


More information about the macports-changes mailing list