[squeak-dev] Re: Config Browser for Metacello
Göran Krampe
goran at krampe.se
Wed May 19 10:45:31 UTC 2010
On 05/19/2010 10:23 AM, Andreas Raab wrote:
> On 5/18/2010 11:35 PM, Göran Krampe wrote:
>> When you perform an installation of a module the dependency system
>> figures out the total list of packages to install - and then compiles a
>> *complete* list of questions for all modules that it *will* install and
>> then asks the user for their answers. Thus, when the install actually
>> begins after the questions have been answered it is fully automatic and
>> is nicely done "in the background".
>
> Ah, interesting! Yeah, that's a pretty good idea. So basically the
> packages announce beforehand what info they need and later on just use
> these answers?
Yeah. Here is a page describing their system slightly more correctly
than I did:
http://wiki.lunar-linux.org/index.php/Module_Basics
In general I really liked Lunar and its package management - probably
quite similar to BSD ports and Gentoo portage etc, and I do think some
lessons can easily be learned by looking a bit at them.
One interesting trick that Lunar uses (and probably all source distros)
is that when doing the "make install" (or whatever some tar ball wants
to do) phase of a module installation, Lunar first installs low level
filesystem "hooks" to capture ALL modifying file operations performed
during that phase.
This way Lunar always knows EXACTLY what files a certain module actually
did install, and it can then uninstall it cleanly and keep track of
where files "came from".
Now... what would be our counter part? :) A recording Delta can capture
all source modifications, and perhaps the Delta model could be extended
with other "image modification types" like for example - "creation of a
global" or "registry of a service" etc.
Just thinking loud. :)
regards, Göran
More information about the Squeak-dev
mailing list
|