Moving on

Gerard Beekmans gerard at
Tue Jun 12 20:20:17 PDT 2001

> I never really understood how the backend was different from using, say, RPM. 
> You have different sections for each package, and everything installs in 
> order, nothing more. There seemed to be no provisions for package management 
> or remote management. Could someone explain

Can you tell RPM to read a configuration file (XML or whatever format)
and then parse it and run commands based on it that compile a package
and install it according to the instructions laid out in that file?

Why we choose XML? It's portable. There is a _lot_ of support for XML
everywhere (perl, C, C++, Java, bash (well you'd need some help from awk
and grep most likely, I think), Python, etc). It's relatively easy to
create any kind of backend that reads XML and acts on it. Flexibility
was a big reason for XML.
> 1) What exactly is the goal of ALFS? Reading the website, I can't help but 
> feel that this can all be done with RPM.

Perhaps my knowledge of RPM is too limited (so please do correct me) but
I see RPM as a tool that unpack an rpm file and puts some files where
they belong. I don't see RPM actually compiling from source according to
a set of instructions.

RPM forces you to have RPM installed on the system. XML forces you very
little, other than _a_ kind of parser, be it a C program (nothing needed
except a kernel), or perl, or java or bash. That way you just provide
the xml profile (see it as a configuration file) and some kind of
program to parse it (binary program or script language) and voila you
get your LFS system.

> 3) How will XML help us attain what we want to attain? To me this is still a 
> bunch of commands written in *sequential order*. How can XML be of any use?

Well yes of course sequential. If you don't install things in a certain
sequence you don't end up with a working LFS system.

pasted from the ALFS white paper on

Why XML?

The ALFS tools developed are all XML based. The decision to use XML was
influenced by the package management issues. How many people can
actually read an RPM spec file and understand it? Or know what an RPM
database looks like and how it exactly works?

We hear comments in the lines of "rpm seems to work, most of the time,
but I have no idea how it works or what is happening which actually
scares me". With an ALFS package management system all you need to
understand is the ALFS DTD. Other components used (XML, XSLT, etc) are
all accepted standards and there are a lot of books and other
information available on them.

If you compare the information available on XML, XSLT and people using
XML in general to the same for an rpm, deb or even a BSD port and you
can see why XML is so much more powerful. Plus, it's easier to read.

Have a read through the ALFS archives if you want, there's a lot of info
why we don't use rpm or similar approaches. I have voiced numerous times
to actually support RPM. You can simply create an RPM database, based on
what the XML profile/backend are going to install. But again we don't
want to force RPM or DEB or any format. We provide plain text which
opens a wide variety of backends and package managements (wants an mysql
based package management? Could be a piece-of-cake)

Gerard Beekmans

-*- If Linux doesn't have the solution, you have the wrong problem -*-
Unsubscribe: send email to alfs-discuss-request at
and put unsubscribe in the subject header of the message

More information about the alfs-discuss mailing list