Creation of overrides (indices) files

Asked by Michael Gendelman

Indices files are used to override and add keys to a Packages file. Extra overrides add the Task key to packages. These task keys are used by tasksel in order to choose packages for relevant tasks. So, when a package has "Task: ubuntu-desktop" it will be installed by the 'ubuntu-desktop' task. (Correct me if I'm wrong here).

My questions are:
 1. How are override files created ? By which tool ? From which metadata ?
 2. Extra overrides have many 'Task' keys which put packages in Tasks. Where does the package<->task mapping come from ?
 3. Using a little script I wrote I found that "Task: minimal" is the union of all packages that have priority "required" and "important".
     Is there any reason for that ? Is it documented somewhere ?

Question information

Language:
English Edit question
Status:
Answered
For:
Ubuntu apt Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
mycae (mycae) said :
#1

The best place to answer these questions, cause I don't know the answer's by heart, is to check the source

so I cloned the git repo from here:
http://packages.qa.debian.org/t/tasksel.html

as in:
git clone --depth 1 git://git.debian.org/git/tasksel/tasksel.git

Now I had a look at the code, and couldn't find what I was looking for, so I checked their README

---------------------------

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.
---------------------------

Other interesting reading might be:
https://wiki.ubuntu.com/PackageDependencyManagement

Revision history for this message
Michael Gendelman (genged) said :
#2

I read this readme, but I still don't see how this answers my questions regarding override files.

Revision history for this message
mycae (mycae) said :
#3

I'm not sure what you mean by overrides. Taksel operates in a supervisory fashion to apt. The metadata is stored in the .desc files.

Eg:
$ head /usr/share/tasksel/ubuntu-tasks.desc
Task: dns-server
Section: server
Description: DNS server
 Selects the BIND DNS server and its documentation.
Key:
 bind9
Packages: task-fields

Task: edubuntu-desktop-gnome
Section: user

This is wholly outside the package dependency metadata which is stored in the control file, inside the control.tar.gz inside the .deb file...

Revision history for this message
Michael Gendelman (genged) said :
#4
Revision history for this message
mycae (mycae) said :
#5

Well, those are for the archive uploads I believe, and are not part of the end user system:

https://wiki.ubuntu.com/ArchiveAdministration#Component%20Mismatches%20and%20Changing%20Overrides

Revision history for this message
mycae (mycae) said :
#6

So to answer your question, they are maintained by hand by the FTP masters. Probably by hand. The relation to the tasksel is not an explicit one (though it is implicit), which is what confused me in your initial question.

The priority is for dependency resolution for tools such as aptitude and apt-get; if it was an "optional" package, why would it be part of the base ubuntu-desktop system? that would be nuts :). When package maintainers create new packages, normally it is created with priority: optional, unless it is critical to running a normal system
http://www.debian.org/doc/debian-policy/ch-archive.html#s-priorities

For example, you could create an override file like so (see 6.4.11):

http://qref.sourceforge.net/Debian/reference/ch-package.en.html

Can you help with this problem?

Provide an answer of your own, or ask Michael Gendelman for more information if necessary.

To post a message you must log in.