[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