Monticello dependency handling

Andreas Raab andreas.raab at gmx.de
Sun Feb 15 18:18:19 UTC 2004


Thanks, Lex. You have very nicely formulated what my gut feeling was :-)
This is essentially what I meant referring to "branches" in MC - e.g., a way
to refer to certain combinations of packages within which you should get the
latest version.

Cheers,
  - Andreas

----- Original Message ----- 
From: "Lex Spoon" <lex at cc.gatech.edu>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Sunday, February 15, 2004 5:19 PM
Subject: Re: Monticello dependency handling


> I would like to toss out that, even though Linux guys often *can*
> reference particular versions of a Linux package, they rarely do.  In
> normal development, including all of three phases I will describe below,
> developers universally grab the newest version of a package that is
> available.
>
> That does not mean that sometimes you want to use an older stable
> version, and sometimes you want a new one.  But they accomplish this
> with a different mechanism.  Instead of recording the last package they
> were satisfied with, they specify what sequence of packages they want to
> pull from.  They can pull from unstable streams, from stable streams, or
> occasionally from "freeze" streams.  Then, within the chosen stream(s),
> they always grab the newest version.
>
> This idea that packages come as part of distributions is widely
> overlooked in the Linux crowd, and I am seeing a tinge of that mistake
> in the discussions on Squeak-L.  We only have one real "distribution",
> after all, which is SqueakMap, and that makes it easy for us to overlook
> the fact that packages only make sense in the context of another group
> of packages.  In the Linux world, RedHat's "apache" package and Debian's
> "apache" package are not necessarily compatible; the might name some
> programs differently or use some different directories.  In the Squeak
> world, StableSqueak's "Comanche" package may have subtle but
> incompatible differences from WildAndWoolySqueak's "Comanche" package.
> You can't prevent this; if you try, you will create a mountain of
> specification work and then someone will start releasing versions from
> an ftp site -- de facto creating a new distribution.
>
> Once you make this mental leap that packages come in distributions, you
> then see that linking to particular versions of packages is not
> necessary nor obviously useful.  If you are working in a development
> distribution stream, then there are lots of bugs and you expect that
> upgrading will fix more of them than it causes.  If you are in a release
> stream, then there is only one version of each package and thus talking
> about specific versions at all is a waste of time.  If you are in a
> "freeze" stream, which is a stream that is working towards a release,
> then you always grab the newest versions because you want to help the
> cause and squash some bugs.
>
> In summary, remember that packages come in groups, and remember that, in
> the end, we are likely to want unversioned dependencies.  I don't know
> whether Monticello is the place to put them, but somewhere there should
> be a way to say "Scamper depends-on URL" and leave it at that.
>
>
> -Lex
>




More information about the Squeak-dev mailing list