profile XML ideas
gerard at linuxfromscratch.org
Thu Sep 7 12:26:32 PDT 2000
> As I understand it, XML is a "data structure description language" that
> basically allows an arbitrarily complex data structure to be represented in
> a standardized fashion. It is NOT a scripting language. On the other
> hand, it is extensible... But the problem you run into is that if you just
> embed shell script commands into the xml, you aren't really utilizing xml,
> and you might as well just use a bunch of shell scripts. It also takes
> away from the idea of "any type of back-end you want" because the back-end
> is then forced to do things a certain way, specifically by delegating the
> execution of the command to a shell script.
Sometimes you don't have a choice: you want every backend to run "make
prefix=$LFS/usr". So I think that can be put in the XML profile between
<configure> tags or whatever. But I think you got that idea as well as I see
below in your sample profile.
> My thought was that we should go through every command in the book, and try
> to come up with a "tag" that refers to and abstracts it, if reasonable.
> Thus, you get tags for stuff like:
That's what I have been trying to do. I'm nowhere finished yet but the
profile that i posted should give a general idea. If not, then I have to do a
better job and fix it up.
> You would probably want a "command" tag for special stuff, like the 'yes ""
> | make config' command from the kernel source preparation section.
I'd think so yes.
> <configure> ./configure --prefix=/usr --with-ncurses </configure>
I had split that up in:
<configure> (or <prebuild> whichever)
why that way? Well what if you just wnat to change the flags and not the
commmad? Or the other way around (suppose you know there's a bug in some
configure script so on floppy you have your own configure script that must be
run instead of the one that comes with the package).
If you have everything in one tag, the front-end will give you this string to
./configure --prefix=/usr --with-ncurses
If you tell it specifically: i just want to change the command name, not the
options. Then the front-end will give you just this string to modify:
In the end it'll be less error prone (less places to make typo's in).
Your example is exactly as I have in mind, I just would break it up in
smaller chunks you are able to modify exactly that what you want, nothing
more, nothing less.
-*- If Linux doesn't have the solution, you have the wrong problem -*-
More information about the alfs-discuss