[67109] trunk/base/src/port/portindex.tcl

jmr at macports.org jmr at macports.org
Thu Apr 29 00:42:56 PDT 2010


Revision: 67109
          http://trac.macports.org/changeset/67109
Author:   jmr at macports.org
Date:     2010-04-29 00:42:54 -0700 (Thu, 29 Apr 2010)
Log Message:
-----------
portindex: efficiency improvements, fix -f

Modified Paths:
--------------
    trunk/base/src/port/portindex.tcl

Modified: trunk/base/src/port/portindex.tcl
===================================================================
--- trunk/base/src/port/portindex.tcl	2010-04-29 07:37:43 UTC (rev 67108)
+++ trunk/base/src/port/portindex.tcl	2010-04-29 07:42:54 UTC (rev 67109)
@@ -38,10 +38,8 @@
 }
 
 proc pindex {portdir} {
-    global target oldfd oldmtime qindex fd directory archive outdir stats full_reindex
-    global macports::prefix ui_options port_options
-    set save_prefix $prefix
-    set prefix {\${prefix}}
+    global target oldfd oldmtime qindex fd directory archive outdir stats full_reindex \
+           ui_options port_options save_prefix keepkeys
 
     # try to reuse the existing entry if it's still valid
     if {$full_reindex != "1" && $archive != "1" && [info exists qindex([string tolower [file tail $portdir]])]} {
@@ -71,6 +69,7 @@
     }
 
     incr stats(total)
+    set prefix {\${prefix}}
     if {[catch {set interp [mportopen file://[file join $directory $portdir] $port_options]} result]} {
         puts stderr "Failed to parse file $portdir/Portfile: $result"
         # revert the prefix.
@@ -101,9 +100,8 @@
             }
         }
 
-        set keepkeys {categories depends_fetch depends_extract depends_build depends_lib depends_run description epoch homepage long_description maintainers name platforms revision variants version portdir portarchive replaced_by license}
         foreach availkey [array names portinfo] {
-            if {[lsearch -exact ${keepkeys} $availkey] == -1} {
+            if {![info exists keepkeys($availkey)]} {
                 unset portinfo($availkey)
             }
         }
@@ -138,7 +136,7 @@
                 set os_arch [lindex $platlist 2]
                 lappend port_options os.platform $os_platform os.major $os_major os.arch $os_arch
             } elseif {$arg == "-f"} { # Completely rebuild index
-                set full_reindex yes
+                set full_reindex 1
             } else {
                 puts stderr "Unknown option: $arg"
                 print_usage
@@ -202,6 +200,13 @@
 
 set tempportindex [mktemp "/tmp/mports.portindex.XXXXXXXX"]
 set fd [open $tempportindex w]
+set save_prefix ${macports::prefix}
+foreach key {categories depends_fetch depends_extract depends_build \
+             depends_lib depends_run description epoch homepage \
+             long_description maintainers name platforms revision variants \
+             version portdir portarchive replaced_by license} {
+    set keepkeys($key) 1
+}
 mporttraverse pindex $directory
 if {[info exists oldfd]} {
     close $oldfd
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100429/e950036f/attachment.html>


More information about the macports-changes mailing list