about 3.9alpha
Andreas Raab
andreas.raab at gmx.de
Fri Jun 10 00:53:35 UTC 2005
Hi Stef -
> I would like to see how we can manage gradually the image via MC so may
> be we will have several back and worth into the update streams. People
> willing to help are welcome.
Actually, I think we've nailed this problem in Tweak by using the right
mixture of packages and updates. If you haven't looked at it, here is
how it works: In Tweak, *all* code is in packages[*]. Updates are
exclusively used for in-image reshapes, e.g., when part of the system
has undergone significant changes that require manual intervention. In
order to synchronize these modifications with the package versions that
we expect, we typically post a configuration map, e.g., a list of
packages where we expect some specific version to be present.
When you update, we always consult the update stream first. This will
suck in any intermediate configurations and perform the necessary
in-image modifications. Once this is done, we merely upgrade all
packages in a well-defined order to their latest version.
[*] The one exception from that rule being code that needs to modify
existing Squeak code which doesn't come in packages. Since overrides are
evil we leave these changes alone in the updates. What we *should* be
doing here (if Squeak were in packages) is to maintain our own branches
of the packages in question. As a matter of fact I started looking into
this issue lately - if you check out
http://source.impara.de/iSqueak.html you'll find a small change set for
reorganizing Squeak 3.8 (6662) so that *all* code is in packages (look
at the wiki page for reference).
Personally, I think this is the way to go - we have used this for
several months in Tweak and besides some screwups that we're responsible
for we definitely haven't found any fundamental flaw in this setup.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|