@ -10,45 +10,51 @@ On exit, tasksel executes the appropriate command to install the selected
packages. If the -t option is given, then tasksel prints out the command
line to use to stdout instead. All other messages are printed to stderr.
To get a new task added, please file a bug report on tasksel.
To get a new task added to Debian , please file a bug report on tasksel.
Debian derived distributions can add a new .desc file to
/usr/share/tasksel/ to add additional tasks, or modify/divert
debian-tasks.desc to remove tasks.
The file format is a rfc-822 style stanza, with fields named Task, Section,
Description (which should include an extended description), Key, Depend s,
and optional Test- and Source fields. Here is an example:
Description (which should include an extended description), Key, Package s,
Depends, and optional Test- and Source fields. Here is an example:
Task: desktop
Task: graphical-games
Section: user
Relevance: 10
Description: Desktop environment
This task provides basic "desktop" software, including a variety
of session managers, file managers and web browsers. It incorporates
both the GNOME and KDE desktops, and provides a display manager
which lets the user choose between the two.
Description: Graphical games
This task provides a variety of graphical games. Old-school unix games are
not included.
Key:
x-window-system-core
kde
gnome
Packages: task-fields
x-window-system-core
Packages: list
quake
myst
monkey-island
The Key field lists packages that are essential to the task. If those
packages are not available, then the task will not be available either. It
need not list all the packages in the task, if some only serve to make it
better when they are available.
better when they are available. All Key packages will be selected for
installation when a task is installed.
The Packages field tells how to get a complete list of packages that are in
the task. In the example above, it uses the task-fields method, which is
built into tasksel, and looks for Task fields in the control data of available
packages, that list the name of the task. Another built-in method is
the task. In the example above, it uses the "list" method, which is defined
in /usr/lib/tasksel/packages/list. This simple method just lets you list
the packages you want to include in the task in the following lines.
In Debian, we mostly use the "task-fields" method, which is built into
tasksel, and looks for Task fields in the control data of available
packages, that list the name of the task. Another available method is
"standard", which just installs all standard priority packages.
It's also possible to define other methods, by adding programs to
/usr/lib/tasksel/packages/. Then list the name of the program as the value
for the task field, and it will be run and passed the name of the task, and
should output a list of packages in that task.
/usr/lib/tasksel/packages/. Then list the name of the program as the first
word of the task field, and it will be run and passed the name of the task as
its first parameter and any further lines of the task field as its other
parameters, and should output a list of packages in that task. The "list"
method described above is a simple example of such a program.
There is support for automatically installing tasks based on test programs.
If a task has a Test-* field, then a program in /usr/lib/tasksel/tests/