Future of FAI (fwd)

AUSTIN MURPHY amurphy at nbcs.rutgers.edu
Fri Nov 22 07:21:45 CET 2002


On Fri, 22 Nov 2002, Niall Young wrote:

> I've found it hard work to understand how the class
> concept works and how to define new classes.
...
>  This is a lot of complexity for a newbie,
> especially without much documentation available.
...
>a serious HOWTO would have helped out a
> lot here.  Not everyone will be able to read through the source and figure it
> out.

I wrote a brief explanation of the Class system.  Let me know if this is
helpful or not.  It is in the "Content" section of my HOWTO for FAI on
SPARC hardware:  http://toolbox.rutgers.edu/~amurphy/fai/fai-howto

> Secondly, I think it would be beneficial to group all of the class variables,
> scripts, definitions etc. all in the one tree.  As FAI matures and missing
> links like debconf seeding are included, people are going to want to swap and
> share their classes.  At the moment it's a bit of a mess - it would be easier
> to package them all up in a single directory per class

I was thinking of a single "spec" file to define each class with an
associated tarball containing all related scripts and files.  Roughly, the
spec file would look something like this:

----------------
Class: GNOME

# Other classes to recursively define
Depends: XF86
Depends: WORKSTATION
Depends: NETWORK

# Variables to define
somevar=true
othervar=false

# hard disk definition (if applicable)
...
...
...

# hooks (location of hook scripts)
/fai/hooks/whatever.GNOME
/fai/hooks/somethignelse.GNOME

# scripts (location)
/fai/scripts/GNOME/S01
/fai/scripts/GNOME/S03
/fai/scripts/GNOME/S05

# files  (location)
/fai/files/etc/pam.d/gdm/GNOME
/fai/files/etc/.../GNOME

# required packages
PACKAGES install
abiword evolution imagemagick gdm gmc gnome-applets gnome-apt
gnome-breakout gnome-commander gnome-common gnome-core gnome-games
gnome-gv gnome-help gnome-help-data gnome-media gnome-network
gnome-panel gnome-pim gnome-session gnome-terminal gnome-users-guide
gnome-utils gnumeric mc nautilus orbit sawfish-gnome sawfish-themer

PACKAGES remove
xdm

-----------------


There would still be the S01alias.sh and other scripts to configure, but
most of the hassle would be compartmentalized into neat little packages.

If these were made into tarballs or something with a special
spec-file-aware tarball creator, it would be pretty easy to make and use
just the FAI classes you want or need.

FAI would need to be able to resolve the dependencies of classes and find
an intelligent way to  deal with variables that are defined in different
ways by different classes.  Those problems seem small compared to the
benefits of having unified classes.

Does anyone else see the benefit of doing it this way?


Austin Murphy
----
Systems Programmer
Rutgers University





More information about the linux-fai mailing list