how will 'package-management' be implemented?

Kevin P. Fleming kpfleming at linuxfromscratch.org
Wed Apr 14 12:55:05 PDT 2004


Joachim Beckers wrote:

> I was actually thinking to introduce a new element in the ALFS DTD, that 
> contains information about which packages should be installed.
> 
> For example:
> <package_selections>
>     <package name="bash" install="yes"/>
>     <package name="binutils" install="no"/>
>     ...
> </package_selections>

There is no new DTD element required to implement what you are 
requesting. As long as you have an ALFS tool that implements 
dependencies (which nALFS does not yet), you can do this:

Download whatever BLFS profile you like. That will most likely have a 
top-level file called BLFS.xml. Create, in that same directory, a file 
called "my-BLFS-config.xml". The contents would be:

<package name="My BLFS Config">
   <packageinfo>
     <requires>xfree86</requires>
     <requires>kde</requires>
     <requires>exim</requires>
     <requires>nail</requires>
     ...
   </packageinfo>
</package>

Then, start nALFS as:

nALFS BLFS.xml my-BLFS-config.xml

When nALFS starts, you will see two profiles listed. Ignore the BLFS 
one, and open the "my-BLFS-config" profile, and mark it in its entirety 
for running. Once nALFS supports dependencies, it will search all loaded 
profiles for the packages that were marked as "required", and mark them 
as well, and then mark their dependencies and so on, until either 
everything needed has been marked, or something that is needed could not 
be found.

Once the marking is done, hit "s", "m" to run the marked elements, and 
only the needed parts of the BLFS profile will be run.

There are some things needed for this to work properly; each package in 
the BLFS profile must be entirely independent (i.e. it must not require 
any "setup" steps to have been run before it, unless it is marked to 
require those steps). This can be achieved without tremendous effort, 
and is very easy for the end user to use.



More information about the alfs-discuss mailing list