You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Christian Perrier 71154c2dcd Stop building "no" translations. Norwegian transitioned from no to nb in sarge 15 years ago
debian Stop building "no" translations. Norwegian transitioned from no to nb in sarge 15 years ago
info * Install discover1 and xresprobe in desktop.preinst if not already 15 years ago
packages * Explicitly add Packages: task-fields lines to all the tasks in tasks/ 16 years ago
po Updated Punjabi translations for tasks and programs (still no debconf 15 years ago
scratch Lots of redrawing fixes and wordwrapping fixes. Not completely done yet. 22 years ago
tasks Add aspell-fr to the French task 15 years ago
tasks.disabled * Temporarily disabled kde-desktop task since kdegraphics is uninstallable 16 years ago
tests * Use df -P to avoid line wrapped df. Closes: #349623 15 years ago
Makefile Add several forgotten languages to the Makefile 15 years ago
README * Add support for preinst, postinst, prerm and postrm scripts for tasks. 16 years ago
README.translators merge changes from newtasksel branch back to trunk 17 years ago
TODO releasing version 2.34 16 years ago
doincludes.pl various things need to be changes for subversion 18 years ago
listpackages.pl - Add a "new-install" test script (and export NEW_INSTALL for test 16 years ago
makedesc.pl * Explicitly add Packages: task-fields lines to all the tasks in tasks/ 16 years ago
makeoverride.pl - Add a "new-install" test script (and export NEW_INSTALL for test 16 years ago
tasksel-debconf * Support backing up from tasksel if it is run as part of a larger 16 years ago
tasksel.pl * Add support for preinst, postinst, prerm and postrm scripts for tasks. 16 years ago
tasksel.pod * Hmm, remove --logfile and --logstderr, add more general 16 years ago

README

The interface uses debconf for consistency with the rest of the Debian
installer.

On startup, the tasksel program will read all *.desc files in
/usr/share/tasksel/ for information about what tasks are available. The
tasks will be presented in a simple list selection screen with their short
descriptions.

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 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, Packages,
Depends, Test- and Relevance fields. Here is an example:

Task: graphical-games
Section: user
Relevance: 10
Description: Graphical games
This task provides a variety of graphical games. Old-school unix games are
not included.
Key:
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. 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 "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, and another
is "manual", which, as a special case, runs aptitude interactively to
select what to install.

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 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/
will be run. For example Test-lang fields cause /usr/lib/tasksel/tests/lang
to be run. The test is passed first the name of the tasks, and then the
contents of the field as parameters. The exit code of the test controls
what to do with the task:

0 - do not display, but do install task
1 - do not display task
2 - display task, marked for installation
3 - display task, not marked for installation

One use of these tests is in automatically selecting a language task
appropriate for the user's locale, and hiding the rest. The lang test
handles this by comparing the value of the Test-lang field of a task with
the locale setting. Tests could also be used for things like automatically
installing hardware support tasks on systems with the right hardware.

There is rudimentary support for tasks that depend on other tasks. If a
task has a Depends field, then it should only be installed if all the tasks
listed as dependencies are installed.

If a task is important enough that it should go near the top of its
section, give it a relevance of 9 or 10. If a task is not likely to be
used, give it a relevance of 1. Default is 5.

tasksel also supports preinst, postinst, prerm, and postrm scripts for
tasks. These are run before a task is installed, and after it is removed as
with the dpkg scripts. These scripts sould be installed in
/usr/lib/tasksel/info/, for example, /usr/lib/tasksel/info/desktop.preinst.
Currently they are passed no parameters, but this might change later. These
scripts should take care not to output anything to stdout.