Check-in [68f9c46716]
Overview
Comment:Updated teapotclient to not require specifying "Tcl Tk" in the existing extensions parameter of download_extensions. Changed default download directory to not include "lib" of teapotclient, but left this behaviour in the "teapot-client.tcl" script Added examples
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:68f9c46716ac902d43577b5ffe5f9cac0e6339eb
User & Date: rkeene on 2009-04-18 22:14:02
Other Links: manifest | tags
Context
2009-04-18
22:15
Updated README with a mini-manual for the client. Updated build process cleanup. check-in: cce162f50e user: rkeene tags: trunk
22:14
Updated teapotclient to not require specifying "Tcl Tk" in the existing extensions parameter of download_extensions. Changed default download directory to not include "lib" of teapotclient, but left this behaviour in the "teapot-client.tcl" script Added examples check-in: 68f9c46716 user: rkeene tags: trunk
21:22
Added install target check-in: 3ae29b0fdc user: rkeene tags: trunk
Changes

Added client/examples/example-1.tcl version [4ace071797].

            1  +#! /usr/bin/env tclsh
            2  +
            3  +lappend auto_path [file join [file dirname [info script]] .. lib]
            4  +
            5  +		package require teapotclient
            6  +
            7  +                puts "The following extensions are available:"
            8  +                foreach {extension extensioninfo} [::teapotclient::get_extensions \
            9  +                                                   [list teapot.activestate.com] \
           10  +                                                   {*} {*}] {
           11  +                        puts "  $extension [join $extensioninfo {, }]"
           12  +                }

Added client/examples/example-2.tcl version [ded7ead90f].

            1  +#! /usr/bin/env tclsh
            2  +
            3  +lappend auto_path [file join [file dirname [info script]] .. lib]
            4  +
            5  +                package require teapotclient
            6  +
            7  +                set os $tcl_platform(os)
            8  +                if {$tcl_platform(platform) == "windows"} {
            9  +                        set os $tcl_platform(platform)
           10  +                }
           11  +
           12  +                puts "Downloading md5 and sha1 packages for the current system"
           13  +                ::teapotclient::download_extensions "lib" \
           14  +                  [list teapot.activestate.com] [list md5 sha1] $os \
           15  +                  $tcl_platform(machine)
           16  +

Modified client/lib/teapotclient0.1/teapotclient.tcl from [db3d2ea33e] to [a933729bfc].

    49     49   	set osTeapotToLocal(irix) irix_*
    50     50   
    51     51   	set cpuTeapotToLocal(ix86) x86
    52     52   	set cpuTeapotToLocal(sparc) sun4*
    53     53   	set cpuTeapotToLocal(universal) *
    54     54   	set cpuTeapotToLocal(powerpc) ppc
    55     55   
    56         -	proc download_extensions {rootdir servers extensions os cpu {existingExts "Tcl Tk"}} {
           56  +	proc download_extensions {rootdir servers extensions os cpu {existingExts ""}} {
           57  +		foreach chkdefext [list Tcl Tk] {
           58  +			if {[lsearch -exact $existingExts $chkdefext] == -1} {
           59  +				lappend existingExts $chkdefext
           60  +			}
           61  +		}
    57     62   		foreach server $servers {
    58     63   			foreach {pkg pkginfo} [get_extensions $server $os $cpu] {
    59     64   				foreach pkginstance $pkginfo {
    60     65   					lappend pkginstance $server
    61     66   					lappend pkgdata($pkg) $pkginstance
    62     67   				}
    63     68   			}
................................................................................
    77     82   
    78     83   			set pkginfo [lindex $pkgdata($extension) 0]
    79     84   
    80     85   			set ver [lindex $pkginfo 0]
    81     86   			set arch [lindex $pkginfo 1]
    82     87   			set server [lindex $pkginfo 2]
    83     88   
    84         -			set pkgdir [file join $rootdir lib $extension$ver]
           89  +			set pkgdir [file join $rootdir $extension$ver]
    85     90   			file mkdir $pkgdir $::teapotclient::pkgcachedir
    86     91   
    87     92   			set url "http://$server/package/name/$extension/ver/$ver/arch/$arch/file"
    88     93   			set urlcachefile [file join $::teapotclient::pkgcachedir [::md5::md5 -hex $url]]
    89     94   
    90     95   			if {![file exists $urlcachefile]} {
    91     96   				set tmpfd [open $urlcachefile w]

Modified client/teapot-client.tcl from [99bcefeb9e] to [b79ca22208].

    21     21   			exit 1
    22     22   		}
    23     23   
    24     24   		set dir [lindex $argv 0]
    25     25   		set os [lindex $argv 1]
    26     26   		set cpu [lindex $argv 2]
    27     27   		set packages [lrange $argv 3 end]
    28         -		set extsinfo [::teapotclient::download_extensions $dir $teapotservers $packages $os $cpu]
           28  +		set extsinfo [::teapotclient::download_extensions [file join $dir lib] $teapotservers $packages $os $cpu]
    29     29   		set exts [list]
    30     30   		puts "Fetched Extensions:"
    31     31   		foreach {ext extinfo} $extsinfo {
    32     32   			lappend exts $ext
    33     33   			puts "  $ext v[lindex $extinfo 0]"
    34     34   		}
    35     35