Check-in [cce162f50e]
Overview
Comment:Updated README with a mini-manual for the client. Updated build process cleanup.
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1:cce162f50e8b0a648dac68a2c8fb7620b8359146
User & Date: rkeene on 2009-04-18 22:15:14
Other Links: manifest | tags
Context
2009-04-18
22:16
Teaparty 0.9.1.x check-in: a50a1e04a0 user: rkeene tags: trunk
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
Changes

Modified README.txt from [90191f367c] to [19cb2c8968].

     1         -This is a very basic implementation of a Teapot client
            1  +I. CLIENT
            2  +=========
            3  +This is a very basic implementation of a Teapot client.  It will fetch all
            4  +requested packages and their dependencies from a remote TEAPOT server.
            5  +
            6  +1. Installing
            7  +-------------
            8  +The supplied Makefile only installs the client library.  A sample client that
            9  +makes use of this library is included.  The sample library is called
           10  +"teapot-client.tcl".
           11  +
           12  +	a. To install with all the default options and auto configuration,
           13  +	   execute:
           14  +		# make install
           15  +	b. If you wish to install the package into a particular directory,
           16  +	   execute:
           17  +		# make install TCLDIR=your_particular_directory
           18  +	   (note that it will create a "teapotclient0.1" directory and
           19  +	    but no "lib" or similar directory)
           20  +	c. If you wish to install into an alternate root directory (i.e., for
           21  +	   packaging), execute:
           22  +		# make install DESTDIR=your_new_rootdir
           23  +	   This will search for a "tclConfig.sh" in the destination directory.
           24  +
           25  +Note that the install directory is not encoded in the script in any way so it
           26  +can be safely moved after installation.
           27  +
           28  +2. Using
           29  +--------
           30  +
           31  +a. teapotclient:
           32  +
           33  +	i. get_extensions
           34  +		SYNOPSIS
           35  +		package require teapotclient
           36  +
           37  +		::teapotclient::get_extensions <list_of_teapot_servers> \
           38  +		  ?<os_glob_pattern>? ?<cpu_glob_pattern>?
           39  +
           40  +		DESCRIPTION
           41  +		get_extensions gets the extensions that are available from a
           42  +		list of TEAPOT servers, for a particular operating system
           43  +		and CPU tuple (which can be glob patterns).
           44  +
           45  +		The default OS and CPU patterns are both "*" which will match
           46  +		all operating system and cpus.
           47  +
           48  +		RETURN VALUE
           49  +		The returned value is a list in the format of:
           50  +		{Extension_1} {ExtensionInfo_1} {Extension_2} {ExtensionInfo_2} ...
           51  +
           52  +		Where ExtensionInfo_N is a list in the format of:
           53  +		ExtensionVersion ExtensionPlatformInfo
           54  +
           55  +	ii. download_extensions
           56  +		SYNOPSIS
           57  +		package require teapotclient
           58  +
           59  +		::teapotclient::download_extensions <rootdir> \
           60  +		  <list_of_teapot_servers> <list_of_extensions> \
           61  +		  <os_glob_pattern> <cpu_glob_pattern> \
           62  +		  ?<list_of_extensions_to_exclude>?
           63  +
           64  +		DESCRIPTION
           65  +		download_extensions will download the list of extensions for a
           66  +		given operating system and CPU tuple, and download their
           67  +		dependencies recursively.  It will place each downloaded
           68  +		extensions in its own subdirectory beneath the specified
           69  +		"rootdir".
           70  +
           71  +		The latest version available for the given OS and CPU tuple of
           72  +		each extension will be downloaded.
           73  +
           74  +		You may optionally specify a list of extensions that you do not
           75  +		wish to be downloaded.
           76  +
           77  +		RETURN VALUE
           78  +		The return value is a list of extensions actually downloaded.
           79  +		This may contain items that were not requested (if they were
           80  +		needed to satisfy a dependency), and may not contain all items
           81  +		that were requested (if they were unavailable).
           82  +
           83  +	iii. setcachedir
           84  +		SYNOPSIS
           85  +		package require teapotclient
           86  +
           87  +		::teapotclient::setcachedir <directory>
           88  +
           89  +		DESCRIPTION
           90  +		The download_extensions and get_extensions commands use a
           91  +		local disk cache to improve performance.  The default
           92  +		cache directory is a directory in the user's home directory, or
           93  +		a temporary directory if a home directory is not found.
           94  +
           95  +		setcachedir specifies an alternate location to store the cache.
           96  +
           97  +		setcachedir should be called before any other commands if it is
           98  +		intended to be used.
           99  +	
          100  +
          101  +		RETURN VALUE
          102  +		Unspecified.
          103  +
          104  +	iv. Example 1:
          105  +		package require teapotclient
          106  +
          107  +		puts "The following extensions are available:"
          108  +		foreach {extension extensioninfo} [::teapotclient::get_extensions \
          109  +		                                   [list teapot.activestate.com] \
          110  +		                                   {*} {*}] {
          111  +			puts "  $extension [join $extensioninfo {, }]"
          112  +		}
          113  +
          114  +	 v. Example 2:
          115  +		package require teapotclient
          116  +
          117  +		set os $tcl_platform(os)
          118  +		if {$tcl_platform(platform) == "windows"} {
          119  +			set os $tcl_platform(platform)
          120  +		}
          121  +
          122  +		puts "Downloading md5 and sha1 packages for the current system"
          123  +		::teapotclient::download_extensions "." \
          124  +		  [list teapot.activestate.com] [list md5 sha1] $os \
          125  +		  $tcl_platform(machine)
          126  +
          127  +		
          128  +b. teapot-client.tcl (not installed):
          129  +	i. teapot-client get <dir> <os> <cpu> <packages...>
          130  +		Downloads all the requested extensions/packages for the OS+CPU
          131  +		pair into the "lib" directory of the directory specified.
          132  +
          133  +	ii. teapot-client list ?<os>? ?<cpu>?
          134  +		Lists all available extensions and their most recent versions,
          135  +		optionally restricted to an OS+CPU pair.
          136  +
          137  +II. SERVER
          138  +==========
          139  +This is not yet implemented.

Modified build/prepare.sh from [4915f72bf6] to [2fdf538748].

     1      1   #! /bin/sh
            2  +
            3  +rm -f client/teapot-client client/teapot-client.exe
     2      4   
     3      5   make -C client
     4      6   cp client/*.kit .