Providing new data

Where can I add tags in my packages?

What if I feel like I need a new tag?

You report a bug to debtags asking for the new tag to be added. Please send a copy to <debian-devel@lists.debian.org> by using the X-Debbugs-CC header (don't use CC:, because that way the message's subject won't indicate the bug number).

Can I create my own set of tags and add them to all the packages I want?

What makes a tag good for being added to the vocabulary?

This is a list of rule-of-thumb criteria:

It should represent a clear, atomic concept

It should have a facet to fit in

There should be more than 6 or 7 packages in Debian that can make use of it

Remember that categorisation in Debtags happens with a combination of tags; this means that instead of having a "dvdplayer" tag, we have the combination use::playing, works-with::video, hardware::storage:dvd.

These combinations also allow to create reasonable approximations of tags that should not be added because they are not yet used by many packages. For example, the tag devel::lang:brainfuck should not yet be added because the corresponding packages in Debian are too few, but it can be reasonably approximated using combinations of devel::interpreter, devel::compiler and use::entertaining.

Do you have tips for tagging?

Justin says:

The following tools have been particularly useful for working out what unfamiliar packages are all about.

Integration in Debian

How can maintainers tag their packages?

They can go in their DDPO page and click on the "Reports: debtags" link to view the Debtags situation of their packages and edit their tags.

When does a new package get tagged?

New packages automatically get tagged using a set of heuristics. That is better than nothing, but obviously it is not enough, so they are marked with special::not-yet-tagged tags in the web interface, waiting for a human to have a look.

Once a human does proper tagging of a package and removes the special::not-yet-tagged tags, the automatic tagging heuristics will not touch it anymore.

How do the tags reach the Debian archives?

Good tags are copied in the Packages file by means of an "override" file, which is a file that adds or overrides a field from the control file written by the package maintainers.

Tags are added to the override file after manual review, which should happen about once a month.

You can think of the tags in the override file as the "stable" tags and the ones in the debtags database as the "unstable" tags.

Why don't you just ask the maintainers to tag their own packages?

Giving the maintainers ultimate responsibility over the tags of their packages is difficult for many reasons:

Some tags are more easily added by people who are not the maintainer. The maintainer can surely add role::*, made-of::* and interface::*, but some other person could be more qualified for adding works-with::* and accessibility::*.

We cannot expect every maintainer to understand all the 600+ tags in the debtags vocabulary.

Sometimes we do some reorganization of the tags (for example, moving protocol::icq to protocol::im:icq), and we cannot ask all maintainers to handle those changes.

Is there any plan to drop "Section:" ?

No, because they are useful for some archive management purposes.

How come there can be different sets of tags in the Packages file and in {{{/var/lib/debtags}}}?

[I believe this is no longer supported, Benjamin Mesing, 2015] Debtags supports merging different tag sources: for example, http://www.miriamruiz.es/weblog/?p=155 is an effort to provide parental rating for games in Debian, as tags to be downloaded and merged into the system. Tag sources are listed in /etc/debtags/sources.list. This also allows some of us to use the unreviewed tags on Alioth instead of the ones in the Package database.

Have the Packages file as the primary tag storage has never been the main idea, although it's turned out to be useful to allow tags to be useable in software such as apt-cache, aptitude and grep-dctrl without them having to be modified to access an extra database.

Why do I see mangled tags in the Packages file like "network::{client,server,service}"?

Those tags are compressed because APT does not like long lines.

You can use debtags dumpavail to feed data to grep-dctrl without the compressed tags.

debtags dumpavail also supports tag expressions, so you can even run commands like: