This directory contains the files and programs which were used to produce 
the "profiles" and "tasks" files of the Debian boot-floppies package.

"profiles" are typical uses of a machine such as "Development environment" 
or "Network server".

"tasks" are typical tasks you perform on a machine, the difference with the
profiles being that you can have several tasks. Examples of tasks are
"Perl programming" or "HTML authoring" or "Sound".

The user who install a Debian machine can choose either one profile
or a set of tasks, and the corresponding packages will be installed. It
is simpler for the beginner than to browse the huge list of packages
with dselect.

To produce the lists of profiles and tasks, you edit the file "master".
You can put comments and white lines but beware to the syntax otherwise.
Use an existing line as an example.

Inclusion of tasks into other tasks (such as Tcl_devel which includes 
Dev) is done by the program. So you don't need to list two tasks in
a package line, if one task includes the other. 

Inclusion of profiles is not supported.

"master" is made of three sections, each section introduced with "---".
"Tasks" list the tasks, with a short description. "Profiles" do the same
for the profiles. "Packages" is a list of packages, with the tasks and
profiles they belong to.

You should edit the Makefile to indicate the list of Debian Packages file. 
You can have several, separated by commas. The current list has been produced
with free packages only.

Then, type make and the lists will be produced (in the 
"../new_root_home/profiles" and "../new_root_home/tasks" directory), possibly 
with some warnings. Please pay attention to them, they are typically serious.

The size of the profiles and tasks is computed automatically. Side note: 
since a package can be in several tasks (it is not a bug, but a feature),
adding the computed sizes of several tasks is meaningless.

To have architecture-dependant parts in the master file, you'll need to use
"slices". The slice program is a Debian package. An example of slice (the
name is always in uppercase) is:
[I386:
Only for the PC
:I386]
You can also exclude an architecture:
[NOT_ALPHA:
Only for the other architectures
:NOT_ALPHA]
If you want to add a slice (for a new architecture), be sure to add empty 
slices at the end of master (or slice will complain about unknown slices) 
and to add the slice at the beginning of master. More documentation can be 
found in slice(1) or at <http://www.engelschall.com/sw/slice/>.


--

Otherwise, see the BUGS and TODO files for the awful truth.

This particular instance was made for the "slink" release in December
1998. The profiles and the tasks are almost the same as in the "hamm" release
but the method to produce (and check) them is completely different.

--
Stphane Bortzmeyer
<bortzmeyer@debian.org>
