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@xxxxxxxxxxxx> 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