Update stream loading from SM/Monticello (was Re: [FIX]
SUnit-combined-md)
Avi Bryant
avi at beta4.com
Wed Feb 11 20:40:56 UTC 2004
On Feb 11, 2004, at 12:10 PM, Doug Way wrote:
> Adding the Monticello installer in Basic is another issue which
> Michael & others posted about before. I'm personally fine with adding
> it. That may make Monticello a defacto standard and it may viral
> itself into a lot of code, but the same is true of changesets, and if
> MC is a good addition/successor to the changeset format, maybe that's
> a good thing. (Life would be pretty difficult if we insisted on not
> having ChangeSets or anything else as a standard, for example. :-) )
> I'm still not totally clear on where the dividing line between MC and
> PackageInfo is, I need to play around with MC more. But it sounds
> like we want the fuller capabilities of MC.
Note that what Göran was saying is that SM2 would pull in MCInstaller,
which is *not* the full MC. It's a single bootstrap class that lets
you load MC packages as if they were changesets, and records some info
about them that would be useful if the user later loaded MC. Just
having MCInstaller wouldn't allow us to actually update packages from
SM properly, just install them into a clean image. If we want to do
this right, we will have to pull in Monticello itself the first time
the second version of some package goes into the update stream.
I don't think we need to worry about a lot of code "virally" showing up
in .mcz format - Andreas raised that concern way back and so we made
sure the format inside the zipped .mcz file is a normal fileOut. If
all copies of Monticello somehow disappeared or stopped working you
could just unzip the package file and pull out source.st. The concern
was more that our basic toolset would start depending on MC, and I do
think we should be careful about this. You should be able to unload MC
at any point and have everything still work (except updating MC
packages, of course), or we're doing something wrong.
I guess the question is whether we want to continue having the
ChangeSet as the One True Format that gets to go into the update stream
(and convert everything else to it, like the MC->.cs transation service
that Marcus suggested), or whether we want to allow for the possibility
of alternate update formats. Obviously we have to have support in the
image for any formats we put into the update stream, so we shouldn't be
too loose about what we accept. But if a lot of code does start
appearing in a certain format (.sar, .mcz, maybe Rosetta somewhere down
the line), I don't see a problem with allowing it into the stream.
My biased $0.02,
Avi
More information about the Squeak-dev
mailing list
|