[32723] trunk/base/src/port1.0/portdistcheck.tcl
afb at macports.org
afb at macports.org
Sat Jan 12 03:49:44 PST 2008
Revision: 32723
http://trac.macosforge.org/projects/macports/changeset/32723
Author: afb at macports.org
Date: 2008-01-12 03:49:42 -0800 (Sat, 12 Jan 2008)
Log Message:
-----------
add new port command: port distcheck distcheck.check=filesize
Modified Paths:
--------------
trunk/base/src/port1.0/portdistcheck.tcl
Modified: trunk/base/src/port1.0/portdistcheck.tcl
===================================================================
--- trunk/base/src/port1.0/portdistcheck.tcl 2008-01-12 11:43:40 UTC (rev 32722)
+++ trunk/base/src/port1.0/portdistcheck.tcl 2008-01-12 11:49:42 UTC (rev 32723)
@@ -63,6 +63,7 @@
# portfetch 1.0::checkfiles sets fetch_urls list.
global fetch_urls
checkfiles
+ set totalsize 0
# Check all the files.
foreach {url_var distfile} $fetch_urls {
@@ -89,10 +90,46 @@
if {$count == 0} {
ui_error "no mirror had $distfile for $portname"
}
+ } elseif {${distcheck.check} == "filesize"} {
+ set count 0
+ foreach site [set $url_var] {
+ ui_debug [format [msgcat::mc "Checking %s from %s"] $distfile $site]
+ set file_url [portfetch::assemble_url $site $distfile]
+ if {[catch {set urlsize [curl getsize $file_url]} error]} {
+ ui_warn "couldn't fetch $file_url for $portname ($error)"
+ } else {
+ incr count
+ if {$urlsize > 0} {
+ ui_info "port $portname: $distfile $urlsize bytes"
+ incr totalsize $urlsize
+ break
+ }
+ }
+ }
+ if {$count == 0} {
+ ui_error "no mirror had $distfile for $portname"
+ }
} else {
ui_error "unknown distcheck.check ${distcheck.check}"
break
}
}
+
+ if {${distcheck.check} == "filesize" && $totalsize > 0} {
+ if {$totalsize < 1024} {
+ set size $totalsize
+ set humansize "${size}"
+ } elseif {$totalsize < 1024*1024} {
+ set size [expr $totalsize / 1024.0]
+ set humansize [format "%.1fK" $size]
+ } elseif {$totalsize < 1024*1024*1024} {
+ set size [expr $totalsize / (1024.0*1024.0)]
+ set humansize [format "%.1fM" $size]
+ } else {
+ set size [expr $totalsize / (1024.0*1024.0*1024.0)]
+ set humansize [format "%.1fG" $size]
+ }
+ ui_msg "$portname: $humansize"
+ }
}
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macports-changes/attachments/20080112/f4d05d75/attachment.html
More information about the macports-changes
mailing list