This patch is FYI as it needs more testing, although feel free to take
a look at it if you want.
Background: We'd like to change libguestfs so that the appliance can
support optional features. This would mean you could have (for
example) a 'libguestfs' base package and a 'libguestfs-xfs' package
providing optional support for XFS filesystem tools. This would only
apply to the supermin case.
Currently the supermin appliance is built out of 3 files:
$ ls -1 /usr/lib64/guestfs/
initramfs.fedora-12.x86_64.supermin.hostfiles
# text file containing wildcards of files picked up from
# the host at runtime
initramfs.fedora-12.x86_64.supermin.img
# base appliance data (cpio file)
kmod.whitelist
# text file containing wildcards matching kernel modules
There are a number of problems with this: (1) The files have fixed
names. (2) The names are rather obscure. (3) You can't have optional
appliance modules.
The idea would be to replace this with a scheme where the supermin
builder looks in a directory and picks out all the files it needs from
there. It would look something like:
$ ls -1 /usr/lib64/guestfs/supermin.d/
base.img
hostfiles
optional-xfs.img # installed by libguestfs-xfs package
optional-zfs.img # installed by libguestfs-zfs package
(Similarly the kernel module whitelist could point to a directory, but
we don't need that now and aren't implementing that right away).
At the same time we have for a while been maintaining some significant
duplicate functionality in febootstrap, cf:
http://git.annexia.org/?p=libguestfs.git;a=blob;f=appliance/supermin-spli...
http://git.annexia.org/?p=febootstrap.git;a=blob;f=febootstrap-to-supermi...
and:
http://git.annexia.org/?p=libguestfs.git;a=blob;f=appliance/libguestfs-su...
http://git.annexia.org/?p=febootstrap.git;a=blob;f=febootstrap-supermin-h...
Since this is a major change to the way the appliance is built, it
makes sense at the same time to fold everything into febootstrap and
drop the custom libguestfs/appliance/*supermin* scripts.
This patch is the first part of this plan, porting the relevant
functionality from libguestfs into febootstrap.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
New in Fedora 11: Fedora Windows cross-compiler. Compile Windows
programs, test, and build Windows installers. Over 70 libraries supprt'd
http://fedoraproject.org/wiki/MinGW http://www.annexia.org/fedora_mingw