teacup update

This teacup subcommand brings your locally-installed packages up to date, including fetching those packages that you don't have. Only fetches packages that can be used with Tcl installations it knows about.

Note that the current teacup has the following options that work with teacup update

  • --at - specify what repostory to use
  • --dry-run - just what would be done if the command actually executed
  • --http-proxy - specify the local http proxy
  • --only - limit what files are updated
  • --timeout - limit how long the update can execute before it will be terminated
  • -v - verbose output (note that the single dash is correct here)

DKF: If you cancel the update by pressing Control-C while it is running, you may need to use teacup regenerate to fix things before you can update again.

LV: I find that if I have a slow internet connection (less than 56k), large items seldom update in teacup update. I daily see errors such as:

Retrieving application base-tcl-thread 8.6.0.0.287710 solaris2.8-sparc ...@ http://teapot.activestate.com ... Error: Bad transfer: Size mismatch, expected '2776291', received '2179031'. MD5 mismatch, expected 'a5f4e8e0fadfd4292f7d99a1cdc77ebd', received '4c2e09516c57aba35f6d3879bf1d0f19'.

Most frustrating is when it is the cached INDEX that generates this error.


Mho frustration II:

C:\Dokumente und Einstellungen\Arbeit1>teacup update

Retrieving package activestate::activetcl::demos 8.4 win32-ix86 ...@ http://teapot.activestate.com ... Error: Bad transf
er: Size mismatch, expected '5681134', received '3960791'. MD5 mismatch, expected 'ed7f1d408ceb05295d45c8dadc63cf92', re
ceived '677795078f56cfdeff044088eaf26921'.

Installed 0 newer   packages
Installed 0 unknown packages

C:\Dokumente und Einstellungen\Arbeit1>

Don't know how to work around this.

AK: What do you get as the result of 'teacup timeout' ? It seems as if only about 4 of 5 MB is transfered, and a timeout in the http package could cause that. MHo I already switched off timeout via teacup timeout -1...

LV I've seen similar situations for several years now.

AK Ok. Then I have no real idea what is happening. With timeout -1 the teacup itself will not abort a transfer on its own. MHo I suspect the reason is outside teacup. The same update from within a totally different environment works as expected... LV I again see the same thing as MHo. If I run the update on a machine whose connection to the internet is a PPP link, some packages update just fine, but larger ones fail, with the problem being that too few bytes were transferred, even though I switched off the timeout. If I ftp the same file using ncftp, the file gets across the link just fine. Sometimes, running teacup update multiple times eventually results in the file being received.

I wonder how hard it would be to modify the teacup update code so that it downloaded the files in chunks, saving the pieces until everything is there and passes an MD5 or other checksum verification? Perhaps then cases like this would be solved by just rerunning the update, so that the code could download any chunks which were interrupted for some reason.

MHo 2009-11-14: Still couldn't download activestate::activetcl::demos:

  • What's the alternative way to download and install this package?
  • If a download with teacup failes, does teacup continue with other possible downloads?

TorstenEdler 2009-12-17: I am facing the same difficulties

  • teacup update

retrieves a couple of packages successfully, then all of sudden it stalls, no timeout no nothing ^C the only way out - which means no package is updated. Alternative way (takes a couple of hours because the "teapot" is rather lame):

  • teacup list --only uninstalled

and get each package individually

  • teacup install <packagename>

AK - 2009-12-17 17:50:57

Best I can do here right now (*) is ask you to file a bug report at http://bugs.activestate.com , with information like version number of teacup, a log generated by

    teacup -debug update -v > LOG.txt

etc.

(*) I am about to walking into my winter vacation.


MHo 2011-08-20 Recently, I noticed the following:

d:\home\Arbeit1>teacup update-self
Updating C:/Programme/Tcl/bin/teacup.exe ...
Not found in the archive.

d:\home\Arbeit1>teacup update
Nothing to update.

MHo 2014-03-25: 8.6.1 32bit at home, no problem. 8.6.1 64bit at work seeing lots and lots of:

:
Retrieving package xyz ...@ http://teapot-be.activestate.com ... Error:

        This operation needs a business edition license installed to
        succeed. Please visit
        http://www.activestate.com/business-edition to learn more about
        the ActiveTcl Business Edition offering.
:

Why tries the program to retrieve something that shouldn't be retrieved and then complains about that?

MHo 2014-05-27: Could someone be so kind and please answer the above question? APN You might have better luck asking on comp.lang.tcl or one of the Tcl forums. There are so many pages on the wiki it is not possible for someone to track every change to a page, particularly since the wikignomes often edit pages right after someone else modifies them. I know when you ask TWAPI questions on the wiki page (despite the bold notice at the top!), I often do not notice a change for this reason.


MHo 2015-02-20: Just got this:

C:\Windows\system32>teacup update-self
Updating D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe ...
Found newer version 8.5.17.0.298745 (win32-ix86) @ http://teapot.activestate.com

Retrieving application teacup 8.5.17.0.298745 win32-ix86 ...@ http://teapot.activestate.com ... Ok
Copying ...
  Ok

C:\Windows\system32>teacup update
conflicting versions provided for package "textutil::adjust": 0.7.2, then 0.7.1
    while executing
"package provide textutil::adjust 0.7.1"
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/textutil__adjust0.7.2/implementation.tcl" line 7
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/textutil__adjust0.7.2/implementation.tcl"
    ("package ifneeded textutil::adjust 0.7.2" script)
    invoked from within
"package require textutil::adjust"
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/textutil0.8/implementation.tcl" line 9)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/textutil0.8/implementation.tcl"
    ("package ifneeded textutil 0.8" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
21 0 231 50 0 0 184 0 4 21 21 -1 -1
231
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!0#>6#-BW<!4c8=!9Atp..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__write0.1.291646/implementation
 line 8)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__write0.1.291646/implementation.tc
    ("package ifneeded teapot::metadata::write 0.1.291646" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
63 0 779 146 0 0 588 0 7 63 63 -1 -1
779
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!0#>6#4;tl#/HW<!8oJ..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__container1.0.293642/implementa
tcl" line 8)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__container1.0.293642/implementatio
"
    ("package ifneeded teapot::metadata::container 1.0.293642" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
32 0 342 71 0 0 276 0 4 32 32 -1 -1
342
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!w0E<!1rSs!&-<<!0/Yp..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__read0.1.290609/implementation.
line 8)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/teapot__metadata__read0.1.290609/implementation.tcl
    ("package ifneeded teapot::metadata::read 0.1.290609" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
111 0 1393 223 0 0 888 0 7 111 111 -1 -1
1393
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!w0E<!1rSs!&-<..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/repository__localma0.1.297006/implementation.tcl
e 8)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/P-tcl/repository__localma0.1.297006/implementation.tcl"
    ("package ifneeded repository::localma 0.1.297006" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
136 0 2030 325 0 0 1288 0 7 136 136 -1 -1
2030
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!w0E<!1rSs!&-..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/app-teapot/client.tcl" line 7)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/app-teapot/client.tcl"
    ("package ifneeded repository::client 0.1" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
135 0 1974 303 0 0 1348 0 7 135 135 -1 -1
1974
w0E<!-fSs!&-<<!,l4pv(0*!!(NA9v.EW<!w3E<!2`8s!w0E<!1rSs!&-..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/app-teapot/capp.tcl" line 7)
    invoked from within
"source D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/lib/app-teapot/capp.tcl"
    ("package ifneeded repository::capp 0.1" script)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
42 0 446 59 0 0 236 0 5 42 42 -1 -1
446
6E2,!22fv!#0E<!@|u+!o7k&:x:.4.5v!!!.!!!!C?cW*8Q2,!8VG#!#0E<!'?W<..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/teapot.tcl" line 7)
    invoked from within
"# Compiled -- no source code available
error "called a copy of a compiled script""
    invoked from within
"tbcload::bceval {
TclPro ByteCode 2 0 1.7 8.5
15 0 154 23 0 0 64 0 5 15 15 -1 -1
154
w0E<!(H&s!BJe`BAB29+#3WW!<kEb4YZ*!!)WyTv.EW<!Plqo+0iys!5v!!!U!!!!..."
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/entry.tcl" line 7)
    invoked from within
"source      $startup"
    (file "D:/home/Hoffmann/Programme/Tcl/bin/teacup.exe/main.tcl" line 38)