SqueakMap crashes in 3.10 beta.7158
jason.johnson.081 at gmail.com
Thu Nov 1 18:12:28 UTC 2007
The misunderstanding here is that it is the latest version of the
*configured* package. So if someone releases a new version of a
dependency you have, you have to explicitly make a pointer to the new
version. If you don't, the Universe wont load it because it doesn't
know about it.
On 11/1/07, Andreas Raab <andreas.raab at gmx.de> wrote:
> 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?
> - Andreas
More information about the Squeak-dev