man debtags (Commandes) - Manage package tag data in a Debian system

NAME

debtags - Manage package tag data in a Debian system

SYNOPSIS

debtags [options] [command] [args...]

DESCRIPTION

debtags manages package tag data in a debian system and performs basic queries on it.

Package data are activated or updated in the system using the debtags update command; that must be run by root. Tag data are pulled from a variety of sources listed in /etc/debtags/sources.list and merged together.

Recently, a basic version of the tag data is also present in the APT database. It is a very useful resource for applications that are not using debtags-specific functions (such as apt-cache or grep-dctrl), but it does not support local changes or merging from different sources.

debtags itself can also be used to perform basic queries on the Debtags system: the vocabulary can be queried with the tagshow and tagsearch commands; a package tag database can be checked against the vocabulary with the check command; packages related to a given one (or group) can be shown with the related command; the whole collection can be copied to standard output to be processed with tagcoll or other tools by the cat command; packages can be searched by tags using the grep command.

COMMANDS

debtags always requires a non-switch argument, that indicates what is the operation that should be performed:

update


Download the newest version of the package tag data and update the system package tag database. It needs to be run as root.
check [filename]


Check that all the tags in the given tagged collection are present in the tag vocabulary. Checks the main database if no file is specified.
tagshow tag


Show the vocabulary informations about a tag.
tagsearch pattern [pattern [pattern [...]]]


Show a summary of all tags matching the given patterns.
show package


Call apt-cache show <package>, but add tag informations to the output.
related pkg1[,pkg2[,pkg2,[...]]]


Show packages related to the specified ones.
cat


Output a fully expanded version of the package tag database.
search [-v] [-q] tag expression


Output the names and descriptions of the packages that match the given tag expression.
grep [-v] [-q] tag expression


Output the lines of the full package tag database that match the given tag expression.
install [-v] [-q] tag expression


Invokes apt-get install with the names of the packages matched by the given tag expression. If you want to see what packages would be installed you can use debtags search, as debtags install just calls apt-get install on all the results of an equivalent debtags search. Please note that debtags install is just a prototype feature useful for experimenting in some environments like Custom Debian Distributions. For this reason it is suggested that you use debtags just as a way to find packages, and proper package managers as the way to install them.
mkpatch [filename]


Output to standard output a tag patch with the differences between the current tag database and the tag collection [filename].
maintainers


Create a tagged collection of maintainers and the tags of the packages they maintain.
tag add package tags...

Add one or more tags to the given package.
tag rm package tags...

Remove one or more tags to the given package.
tag ls package


Shows the tags of the given package.
submit [patch]


Mail the given patch file to the central tag repository. If [patch] is omitted, mail the local tag modifications.
todo


Print a list of the installed packages that are not yet tagged.
score


Score uninstalled packages according to how often their tags appear in the packages that are installed already.
facetcoll


Print the tagged collection where each package is tagged with its facets only. This is useful for further processing via tagcoll.
stats


Print statistics about Debtags.
todoreport


Print a report of packages needing work.

OPTIONS

debtags follow the usual GNU command line syntax, with long options starting with two dashes (`-').

-d, --distance
(only valid for the related command) Set the maximum distance to use for the "related" option. (see the --distance option in tagcoll(1))
-v, --invert-match
(only valid for the grep command) Invert the sense of matching, to select non-matching lines.
-q, --quiet
(only valid for the grep command) Do not write anything to standard output, but exit with 0 if any match is found.
-g, --group-items
(only valid for the cat command) In the output collection, group the items with the same set of tags.
--verbose
Operate verbosely.
--debug
Operate more verbosely, for debugging purposes.
-V, --version
Print the program version and exit.
-?, --help
Print a brief summary of command line options.

EXAMPLES

Here are some example invocations of debtags:

  # Update the package tag database
  debtags update

# Show apt-cache informations about the mutt package, # adding tag informations debtags show mutt

# Show packages related to mutt # (adjust the distance as needed) debtags -d 7 related mutt

# Show packages related to galeon and mozilla-browser # (adjust the distance as needed) debtags -d 5 related galeon,mozilla-browser

# Search the tag vocabulary for mail-related tags debtags tagsearch mail

# Output a list of all packages which can edit raster images, excluding # shared libraries and dummy packages debtags search "use::editing && media::rasterimage && \ ! (role::aux-shlib || role::aux-dummy)"

# Show all mail clients debtags search 'works-with::mail && role::sw:client'

# Output the collection of all mail clients, ready to be reprocessed via # tagcoll debtags grep 'works-with::mail && role::sw:client'

# Produce an easily navigable hierarchy with the collection data debtags cat | tagcoll hierarchy

# Produce a local tag patch debtags cat > work-tags ...edit work-tags... debtags mkpatch work-tags > my-tagpatch

# Produce a local tag patch with tagcolledit debtags cat > orig-tags debtags cat > work-tags tagcolledit work-tags tagcoll diff orig-tags work-tags > my-tagpatch

# Submit the patch debtags submit my-tagpatch

# Install all IRC clients debtags install 'protocol::irc && role::sw:client'

# Look for friends ;) # (adjust the distance as needed) debtags maintainers | tagcoll -d 12 related 'Enrico Zini <enrico@debian.org>'

FILES

/var/lib/debtags/vocabulary


The normative tag vocabulary
/etc/debtags/sources.list


The list of sources to build the package tags database from
/var/lib/debtags/package-tags


The system package tags database, only kept as an easily parsable reference. In the same directory there is a the binary index with the same content, used by applications for fast access.

SEE ALSO

debtags-edit(1), tagcoll(1), tagcolledit(1), apt-cache(1),

http://debtags.alioth.debian.org/

http://debian.vitavonni.de/packagebrowser/

AUTHOR

debtags has been written by Enrico Zini <enrico@debian.org>, with a great deal of ideas and feedback from many people around the debtags-devel, debian-devel and the previous deb-usability mailing lists.