[ANN] Update streams for SqueakMap packages

Tim Rowledge tim at sumeru.stanford.edu
Fri May 23 00:15:41 UTC 2003


OK, I've just gone through this process for the VMMaker package. It
works, but boy did I have some 'fun' doing it.

> Step 1: Define your update stream location.
> You need a directory which is accessible via http for download and via ftp
> for upload. While not strictly necessary, I recommend having a separate
> directory for every package since it will simplify your work in the
> long-term.
Major problem for me was getting these URIs correct. More later....

> 
> Step 2: Annotate your SqueakMap package
> I've been talking to Göran about including a few things in SM1.1 but as we
> are still at 1.0 you will need to use a specific kind of annotation in your
> package description (note: package DESCRIPTION not version comment). The
> annotation needs to look like:
> 	[loadUpdatesAt: http://my.place.here/somedir/mypackage]
> 	[storeUpdatesAt: ftp://myName@my.place.here/upload-loc/mypackage]
... for some bizarre reason my ftp URI had to be
ftp://tim@sumeru.stanford.edu//home/tim/WWW/pooters/SqFiles/packages/VMM
aker  <- note the double slash between the server name and the path. I'm
sure somebody can tell me what I'm doing wrong here. Getting the code to
actually take note each time I updated the SM registration seemed to be
tricky.


> Step 4: Load the UpdateStreams package
> 	If you haven't yet then now is the time ;-)
This went ok except that SM response is terrible for me. It can take
10-15 seconds to get the menu! What on earth is it doing between the
menu button press and providing the menu?

> 
> Step 5: Open the 'Update Loader' (from world menu/open)
> 	Here you should see all the packages for which update streams have
> defined. The package you annotated in step 2 should show up or else you've
> got something wrong (did you forget step 3? ;-)
Once I finally got the URIs correct this actually worked. However, so
far as I can tell you have to have a package _loaded_ to see its update
streams. This is perfectly reasonable but not obvious from the
description. It caught me out....


> 
> Step 9: Posting 'real' updates
> 	Make up a change set and, from the file list, choose 'broadcast as
> update'. You will be prompted with the packages which have update streams
> (as well as all the server groups for the Squeak image updates). Select the
> package you want to send this update to and you will be taken through the
> update process.
It also removes the original file! I'm not at all sure I like that.

> 
> Step 10: Receiving 'real' updates
> 	Choose 'update list' from the Update loader to see if there are any
> new updates for the packages you have. Then choose 'load updates' for the
> package you want to update and you're all there.
I'd like to suggest that update files get put in the same place as the
chosen package download directory. 

Still, it seems to work now. Thanks for an excellent hack.

tim
-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
BREAKFAST.COM halted... cereal port not responding!



More information about the Squeak-dev mailing list