[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