Re: Install Classes in FC2 Anaconda

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



(Note: I only lurk on anaconda-workers, if you really want to make sure
I see something here, cc'ing me or taking the discussion to
anaconda-devel-list is the best plan)

On Mon, 2004-05-10 at 17:25 -0500, Jeff Licquia wrote:
> Dario Rapisardi wrote:
> > Perhaps it would be better to extend the
> > comps.xml format. For example something like this:

Extending comps to contain information about things other than package
groups is fairly ugly.  I'd rather add a different metadata xml file
with a separate DTD than overload comps.xml.

> > This way no one should have to hack in the installclassess directory.
> > And in case the <installclasses> tags are missing, use the sensible
> > defaults for the default classes.
> > Could this be feasible? 
> 
> We can support this now, with only a minor change to the code.
> 
> Suppose we changed the group layout so that install class "Workstation" 
> included only the group "workstation", "Server" included "server", and 
> so on.  Then, the groups themselves would contain other groups.  New 
> install classes would be encouraged to do the same thing.
>
> Since all this is done in comps.xml, no code changes are needed to 
> switch the definition of "Workstation" to use vim instead of emacs, say.

This would work (in fact, it's how things were in days long past), but
it feels slightly hacky.  You still have to make sure your install
classes match your comps file and don't really gain all that much over
the current state of things, IMHO.

> The one disadvantage: forking from upstream, which I'm trying to keep to 
> a minimum.  Perhaps Jeremy has a perspective on all of this.

I'm not against the idea of adding another file to describe install
classes.  In a prior life, it was something that I was interested in
making more easily done.  And there is some degree of that now, it's
just thinking about the problem from a  different angle.  Instead of
using some other file to describe the install classes, there is the
ability to completely override the given install classes in the
product.img file.  If you have an installclasses directory there, it
overrides the contents of /usr/lib/anaconda/installclasses.  This gets
used in Red Hat Enterprise Linux so that each of the AS, ES and WS
variations can use the exact same installer (stage2.img) but provide
different install classes.  This works for my current needs as well as
the needs of some other consumers of anaconda that I know of, but others
may have different opinions.  

Somewhat thinking aloud along the line of having the install classes
described by some other data file and ignoring the implementation detail
of the fact that kickstart and upgrade are technically install classes,
the following things would need to be handled by any other
representation of the information
* Name, with translations
* Image pixmap to be used (could go with basing off of some sort of id
as is done for the pixmaps with comps groups)
* Description, with translations
* Descriptive text field used for describing the packages selected by
default with the install class.  This is used in the desktopchoice step
* Some sort of sort ordering (could do similar to how this is done for
comps as well)
* Some way of handling steps which should be shown or skipped by
default.  This is done a little bit less now, but still nice so that
people doing, eg, a desktop install don't have to see the scary disk
druid screen by default
* Comps groups to select by default
* Some information about what to do about partitioning

Things currently used but not needing to be carried forward
* showLoginChoice - If you do a graphical install, you get a graphical
login by default.  I'm probably going to be making things so that if you
end up in a text mode install, you end up with text mode by default as
well.  This makes sense as choosing to do a text install is less than
useful; if you have to do one, then chances are X doesn't work and it
won't work post-install either

Unfortunately, I do know of places that use some of the overriding
ability to pre-configure some other things as part of their install
process and going to install classes being completely data as opposed to
a bit of python loses some of that.  I'm not against considering it,
especially if there are suggestions on how to maintain that degree of
customization.  I don't want to go to some hybrid half/half solution,
though -- that just strikes me as another way for people to screw things
up and create disaster.

Thoughts?

Jeremy

Jeremy



[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux