SqueakMap crashes in 3.10 beta.7158

Andreas Raab andreas.raab at gmx.de
Thu Nov 1 06:26:27 UTC 2007


Brian Brown wrote:
> Hi Chris - I think you are missing one of the main points of the 
> Universe model. Universes do not pick the "most recent version of 
> anything. A particular universe has pointers to specific code packages, 
> i.e. specific mcz files which represent one and only one version of that 
> piece of code. There is nothing dynamic about it, so it is really like a 
> freebsd port or debian package - you have to have specific version of 
> the dependencies that port or package needs, not just the "latest".

That is *definitely* not true. The code in 
UUniverseBrowser>>allPackagesNeededToInstall:orIfImpossible: explicitly 
uses the *latest* version of a package; the basic loop goes like this:

   package depends do: [ :depName |
     "... some code omitted for brevity ..."
    (universe hasPackageNamed: depName) ifTrue: [
      packagesToConsider add: (universe newestPackageNamed: depName)
    ].

and #newestPackageNamed: does just what it says:

newestPackageNamed: name
   | potentials sorted |
   potentials _ self packagesNamed: name.
   sorted _ potentials asSortedCollection: [ :p1 :p2 | p1 version < p2 
version ].
   ^sorted last

> "Guaranteed to work together" means that the author of the Universe has 
> ostensibly tested that the specific package versions in that Universe do 
> in fact work together. Since it is NOT grabbing "the latest code", that 
> is a claim a Universe can make.

Given the above, how can it?

Cheers,
   - Andreas



More information about the Squeak-dev mailing list