SARInstaller for both 3.4/3.6 in updated image

Doug Way dway at riskmetrics.com
Tue Aug 12 03:59:55 UTC 2003


On Sunday, August 10, 2003, at 04:56 AM, Daniel Vainsencher wrote:

> goran.krampe at bluefish.se wrote:
>> Daniel Vainsencher <danielv at netvision.net.il> wrote:
>>> Send in an update with "SMSqueakMap default loadUpdates".
>>
>> I am not so sure that is a good idea. Updates should probably not rely
>> on map contents. I am again not sure though.
>
> If we make updates use SM to update in-image packages, we must rely on
> map contents. But we need to make sure that it is up to date, and that
> we get not errors in the process.
>
> BTW, updates are a relatively very good time to do loadUpdates, since
> one is quite likely to be online when running them (someone running
> updates from disk can probably figure out whats going on and fix it).

I am somewhat opposed to this; I tend to agree with Goran that the 
updates should not rely on map contents.

What I've been doing so far is simply including the static package 
changeset itself as an update for these in-image packages, plus a 
noteInstalledPackage:version: command to update the SM version number, 
so that the SM server is not accessed during updates.  The updates end 
up being more verbose than an SM query, but it works well enough.  The 
main advantages to doing this are:

1. A fresh image updated to a certain update number will have 
consistent content, no matter when it was updated.

2. If SM goes down for some reason, people can still fetch updates.  
(Granted, not that common an occurence.  #1 is really the important 
thing.)

But in any case, Goran's suggestion to remove the key from the 
installedPackagesDictionary was the solution I was looking for (the 
equivalent to noteInstalledPackage:version: )... that seems to work 
without having to access SM, so I can include that as an upcoming 
update.

(Actually to be safe, I'll tack on an ifAbsent: [] like this... 
SMSqueakMap default installedPackagesDictionary removeKey: (UUID 
fromString: '16dff307-ff49-4996-a216-957989e92d48') ifAbsent: [] )

- Doug



More information about the Squeak-dev mailing list