Storing "current installed package list" (was: Re: [BUG] SM1.07)

Daniel Vainsencher danielv at netvision.net.il
Tue Jul 15 11:09:31 UTC 2003


goran.krampe at bluefish.se wrote:
> and I also refined the "installedPackages"
> structure to have full history - do an explore on:
> 
> SMSqueakMap installedPackagesDictionary
> 
> That should make Brent and Daniel happy! :-)
Yes, but it also reveals some deeper issues.

Specifically, this snippet produces the desired load order -
orderProperty _ [:a | (a value detectMin: [:install | install third])
third ].
oc _ SMSqueakMap default installedPackagesDictionary associations
asSortedCollection: [:a :b | 
	(orderProperty value: a)  < (orderProperty value: b)].

And this makes a readable list.
oc collect: [:e | SMSqueakMap default cardWithId: e key asString]

Looking at which, I see several problems -
1. The order is wrong, because of things that were installed before this
information was written down, and specifically, the packages that are
bundled with the image, namely, SqueakMap and friends.
2. Load scripts - the list shows both the load script and everything it
proceeded to install. This duplication will cause everything under a
load script to be installed twice (not that big a deal, it should work).

So, practically speaking, I think when preparing the image (in the gamma
stage) we can clear the stored information and then reinstall the
to-be-included packages clean, resulting in a coherent image. 

More long term (definitely after SM1.1), I think we might want to
rethink the mechanisms for knowing what packages are installed, and
providing other services on top of that. Part of it is thinking about
how this all combines with advanced loading mechanisms like Monticello
provides.

Daniel



More information about the Squeak-dev mailing list