[arch-general] Fifa: Flexible Installer Framework for Arch linux

Dieter Plaetinck dieter at plaetinck.be
Mon Nov 3 09:14:02 EST 2008


On Sat, 2008-11-01 at 16:10 -0500, Aaron "Hussein" Griffin wrote:
> On Sat, Nov 1, 2008 at 8:37 AM, Dieter Plaetinck <dieter at plaetinck.be> wrote:
> > It's a lot of work but I'm convinced the end result will be worth it.
> 
> Me too. This sounds very promising, and has potential to actually
> replace our current installer.
> 
> Thanks for all the good work

Thanks, "official" interest/confirmation/input is really welcome :-)

fifa has changed a lot over the weekend.  Basically the fundamental
items are now 'modules' which can have procedures (they regulate the
"flow" of an installation) and/or libraries (ui code, pacman,
network,disk,.. stuff).  (So, the profiles from before used to have
logic that could be useful for other 'profiles'.  Now that's put in
libraries of the module.  Every procedure can depend on a module - with
all its libraries - or any other procedure).  There is also a more clear
separation between core and user-contributed modules.  For more info I
refer to http://github.com/Dieterbe/fifa/tree/master/README

I'm working on porting the /arch/setup installer now.  It has become the
'interactive' procedure in the core module.   
I've managed to decouple most of the 'flow control' from the UI/'backend
code' into the procedure and lib-ui-interactive respectively.
* interactive procedure -> the menu, and the "phase" regulation with
vars like $S_NET etc.  This procedure is the 'central point of control'
over how the installation looks like and what can and cannot happen
during the installation.
* lib-ui-interactive contains the dialog-based 'wizards' to configure
disks, packages,.. it's still a mix of UI-code and backend code. (but
the working with the phase variables - $S_NET etc - is abstracted away.
This code works in function of the procedure)
See:
http://github.com/Dieterbe/fifa/tree/master/src/core/procedures/interactive
http://github.com/Dieterbe/fifa/tree/master/src/core/libs/lib-ui-interactive.sh


Once the port of the setup script works well and we need logic from it
for other procedures I/we can evaluate if it's really worth it (and how
far I should go in) trying to decouple the UI code from the backend
logic in the lib-ui-interactive rather then copy-pasting and adapting
where needed.  ( Probably it can be useful to separate "some" big chunks
but aiming for 100% separation could be much more of a pain than what
it's worth)

If you want to try it, it's actually very easy.  Just boot the latest
install cd iso in virtualbox or your VM of choice and do the steps
explained in http://github.com/Dieterbe/fifa/tree/master/HOWTO

You can already run /arch/fifa.sh interactive to see the port of the
setup script.  It's far from finished but the basics work :-)

Dieter





More information about the arch-general mailing list