On Tue, 2007-04-24 at 15:01 -0400, John (J5) Palmieri wrote:
In the pilgrim tool it is fairly easy to inherit from
"stream" files and
just expand a base image into a newer image. This means I can create a
base description for an image, with all the required rpms and %post
processing and then define another image description which adds more
rpms and does more post processing. We can even override hooks and
files in the child description. For instance our liveCD SDK has added
gnome packages but does not download the ondisk html library to save
space. This allows me to make changes to the base image which is
automatically reflected in the livecd image builds.
The real reason we need this is for country builds. I know that the
livecd tools already have the ability to take an iso and add to it but I
also need the ability to do a build from scratch. First can the current
kickstart file format handle this and second how can we support this if
it does not?
So there's the answer we have now, and then there's the longer term
answer that's been discussed a tiny bit.
The now answer is that you use %include and with that can do a
substantial amount of what you're looking for. Basically, you could
have your base config and then a country build could be
%include /path/to/base.cfg
lang fr_FR.UTF-8
(or something like that). And that should[1] work to let you get at
least some simple inheritance.
For more complex needs, we've talked a little in the past (where we is
mostly clumens and I, but a few others also at various points) on ways
to get a better concept of inheritance with the kickstart configs. The
idea being that you parse one config, then the next, then the next.
Mostly what's needed there is just a little work in pykickstart to
ensure that doing a second parse pass doesn't blow up the world plus
defining the syntax of how you say "inherit from foo"
Jeremy