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.

README 4.9 KiB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. The interface uses debconf for consistency with the rest of the Debian
  2. installer.
  3. On startup, the tasksel program will read all *.desc files in
  4. /usr/share/tasksel/ for information about what tasks are available. The
  5. tasks will be presented in a simple list selection screen with their short
  6. descriptions.
  7. On exit, tasksel executes the appropriate command to install the selected
  8. packages. If the -t option is given, then tasksel prints out the command
  9. line to use to stdout instead. All other messages are printed to stderr.
  10. To get a new task added to Debian, please file a bug report on tasksel.
  11. Or, create a task package yourself, and then file a bug report on tasksel
  12. for it to be added to tasksel's UI.
  13. Debian derived distributions can add a new .desc file to
  14. /usr/share/tasksel/ to add additional tasks, or modify/divert
  15. debian-tasks.desc to remove tasks.
  16. The file format is a rfc-822 style stanza, with fields named Task, Section,
  17. Description (which should include an extended description), Key, Packages,
  18. Enhances, Test- and Relevance fields. Here is an example:
  19. Task: graphical-games
  20. Section: user
  21. Relevance: 10
  22. Description: Graphical games
  23. This task provides a variety of graphical games. Old-school unix games are
  24. not included.
  25. Key:
  26. x-window-system-core
  27. Packages: list
  28. quake
  29. myst
  30. monkey-island
  31. The Key field lists packages that are essential to the task. If those
  32. packages are not available, then the task will not be available either. It
  33. need not list all the packages in the task, if some only serve to make it
  34. better when they are available.
  35. The Packages field tells how to get a complete list of packages that are in
  36. the task. In the example above, it uses the "list" method, which is defined
  37. in /usr/lib/tasksel/packages/list. This simple method just lets you list
  38. the packages you want to include in the task in the following lines.
  39. All Key packages will be also be selected for installation when a task is
  40. installed.
  41. In Debian, we have switched to using task packages, so the task files just
  42. list the task packages as Key, and don't list other packages in the task
  43. (instead they are Depends and Recommends of the task package). Another
  44. available method is "standard", which just installs all standard priority
  45. packages, and another is "manual", which, as a special case, runs aptitude
  46. interactively to select what to install.
  47. It's also possible to define other methods, by adding programs to
  48. /usr/lib/tasksel/packages/. Then list the name of the program as the first
  49. word of the task field, and it will be run and passed the name of the task as
  50. its first parameter and any further lines of the task field as its other
  51. parameters, and should output a list of packages in that task. The "list"
  52. method described above is a simple example of such a program.
  53. There is support for automatically installing tasks based on test programs.
  54. If a task has a Test-* field, then a program in /usr/lib/tasksel/tests/
  55. will be run. For example Test-lang fields cause /usr/lib/tasksel/tests/lang
  56. to be run. The test is passed first the name of the task, and then the
  57. contents of the field as parameters. The exit code of the test controls
  58. what to do with the task:
  59. 0 - do not display, but do install task
  60. 1 - do not display task
  61. 2 - display task, marked for installation
  62. 3 - display task, not marked for installation
  63. One use of these tests is in automatically selecting a language task
  64. appropriate for the user's locale, and hiding the rest. The lang test
  65. handles this by comparing the value of the Test-lang field of a task with
  66. the locale setting. Tests could also be used for things like automatically
  67. installing hardware support tasks on systems with the right hardware.
  68. There is support for tasks that enhance other tasks. If a task has a
  69. Enhances field, then it should only be installed if all the tasks
  70. listed as in that field are installed. For example, a french-desktop task
  71. enchances a system that has both the french and desktop tasks, and will be
  72. automatically installed on such a system but not others. Such tasks are
  73. hidden from the menu.
  74. If two tasks both enhance the same task (ie, gnome-desktop and kde-desktop
  75. enhancing desktop), but only one should be selected, this can be
  76. accomplished by adding Test-* fields.
  77. If a task is important enough that it should go near the top of its
  78. section, give it a relevance of 9 or 10. If a task is not likely to be
  79. used, give it a relevance of 1. Default is 5.
  80. tasksel also supports preinst, postinst, prerm, and postrm scripts for
  81. tasks. These are run before a task is installed, and after it is removed as
  82. with the dpkg scripts. These scripts sould be installed in
  83. /usr/lib/tasksel/info/, for example, /usr/lib/tasksel/info/desktop.preinst.
  84. Currently they are passed no parameters, but this might change later. These
  85. scripts should take care not to output anything to stdout. You are not
  86. encouraged to use these scripts to install any packages, as in some
  87. situations apt can hang prompting for a CD switch if run from one of these
  88. scripts.