Douglas McClendon wrote:
Tim Wood wrote:
> The one comment I'd have is would it be possible to feed some (or
> all) of these options in as a config file?
Most of my RFC was basically about extending the functionality of the
mayflower.conf config file. But currently, as far as livecd-creator
(and presumably revisor) is concerned, a mayflower.conf is hard-coded.
The question is whether or not there is any reason to expose the
livecd-creator or revisor user to these sorts of options.
For the selinux enabled on an selinux disabled system, I think this
should all happen inside livecd creator, and cause things to 'just
work' (versus now, where it detects the situation, and says 'too bad,
you can't do this').
For the anaconda rpm build as non-root user, this really has nothing
to do with livecd-creator or revisor.
And for the vastly trickier idea of livecd-creator as non-root, again,
there is no aspect that the livecd-creator or revisor user should care
about, other than having it just work.
Then (I believe) someone could
> have a kickstart and a config file to handle everything. Then
> Revisor would need one additional field to select the path to this
> config file. A couple of advantages:
> * A sample kickstart and a sample config with lots of comments and
> all the options plus a basic tutorial would be all the documentation
> many people would need
> * It would make it much simpler to return to a project months later
> and tweak/tune/use it (find 2 files you left in /etc/revisor/... vs.
> files there, notes somewhere else and maybe some custom bash code
> somewhere else)
What you are getting at here, is really the crux of the debate I had
with jeremy over the addsdir/addidir patch, and the ideal of
reproducability from a _single_ config file.
The basic problem, which I think you solved with your outline above,
is that kickstart is simply not appropriate to be the one _single_
config file for a livecd project. The two examples that immediately
spring to mind are
I agree, Kickstart should not be the_ only_ file for configuration.
1) files added to the iso filesystem. E.g. like ubuntu's inclusion of
the windows firefox installer. Or a generic web page to be viewed
under windows when the livecd is inserted in a windows system.
Why only LiveCD, think beyond the liveCD. Eg. Small systems can be fit
on to a USBstick, Rescue systems, small network servers, small streamers
2) the persistence feature.
It is a must have feature. But again this should be configurable.
Currently Which I developed is doing a persistence at the time of
instalation(again a bit hard coded).
OTOH, here is how I guess I could imagine cramming everything into the
1) have some truly magic livecd kickstart command to add files to the
isodir. This command would be silently ignored in the non-livecd case
(or perhaps files copied to /iso or some arbitrary directory in a
non-livecd kickstart invocation).
2) and this is rather key- put the mayflower invocation in the %post
of the kickstart. Perhaps even enclose it in a conditional, based on
some variable that only gets defined in the livecd case. Then perhaps
even merge the livecd-creator code back into anaconda, ala the old
kadischi anaconda rootpath livecd creation facility. (yes Jeremy, I'm
trying to give you nightmares ;)
2 as described (with or without remerge with anaconda) also gives you
the ability to customize the initramfs (e.g. add persistence and
similar mayflower optional features) in the %post of the kickstart.
But I want to emphasize to anyone reading this far, that none of this
really has anything to do with the simple modifications and simple
functionality enhancements that I was aiming for in the parent RFC.
This has been a tangent going down rearchitecting the kickstart/config
file and invocation of livecd-creator.
And actually, given what I described, I kind of like the uglier and
uglier, but single kickstart solution. (the other aspects which I've
complained about in the past, I think I can see workarounds for as well)
Fedora-livecd-list mailing list
Ashok Shankar Das