NAME¶
debtags - Command line interface to access and manipulate Debian Package Tags
SYNOPSIS¶
debtags [options] <command> [options and arguments]
DESCRIPTION¶
debtags manages package tag data in a debian system and performs basic
queries on it.
debtags can 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; 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.
Finally, tags can be listed with
tag ls, edited with the
tag add
and
tag rm, and submitted to the Debtags database with
submit.
The
update command can be used to download extra tags as listed in
/etc/debtags/sources.list: see the contents of that file for more
information.
COMMANDS¶
debtags accepts a non-switch argument, that indicates what is the
operation that should be performed:
- help [command]
-
With no arguments, print a summary of available commands. If given a command
name as argument, print detailed informations about that command.
- cat
-
output the full package tag database
- check <file>
-
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
- diff or mkpatch [filename]
-
create a tag patch between the current tag database and the tag collection
[filename]. Standard input is used if filename is not specified
- dumpavail [tag expression]
-
output the full package database
- grep <tag expression>
-
output the lines of the full package tag database that match the given tag
expression. A tag expression (given as a single argument) is an
arbitrarily complex binary expression of tag names. For example:
role::program && ((use::editing || use::viewing) &&
!works-with::text)
- search <tag expression>
-
output the names and descriptions of the packages that match the given tag
expression
- show <pkg>
-
show informations about a package, like apt-cache show does, but adding the
tag informations from the debtags index
- submit [patch]
-
upload the given patch file to the central tag repository. If [patch] is
omitted, mail the local tag modifications (uses debtags-submit-patch)
- tag {add|rm|ls} <package> [tags...]
-
General manipulation of tags, useful for automation in scripts.
It can be used in three ways:
tag add <package> <tags...> will add the tags to the given
package
tag rm <package> <tags...> will remove the tags from the given
package
tag ls <package> will output the names of the tags of the given
package
- tagcat
-
output the tag vocabulary
- tagshow
-
show the vocabulary informations about a tag
- tagsearch <string [string [string ...]]>
-
show a summary of all tags whose data contains the given strings
- update
-
Collect package tag data from the sources listed in
/etc/debtags/sources.list, then regenerate the debtags tag database and
main index.
It needs to be run as root
- vocfilter tagfile
-
filter out the tags that are not found in the given vocabulary file
OPTIONS¶
This program follows the usual GNU command line syntax, with long options
starting with two dashes (`-').
Every one of the commands listed above has its own set of options. To keep this
manpage readable, all the options are presented together. Please refer to
"
debtags help
command" to see which options are
accepted by a given command.
Help options:
- -h, -?, --help
- print commandline help and exit.
- --version
- print the program version and exit.
- --manpage=[hooks]
- output the debtags manpage and exit.
Other options:
- -v, --verbose
- enable verbose output.
- --debug
- enable debugging output (including verbose output).
Options for command help
Options for command cat
Options controlling matching of packages:
- -i, --invert
- invert the match, selecting non-matching items.
Options controlling transformations of tag data on output:
- --facets
- output only the names of the facets (mainly used for
computing statistics).
- --names
- output only the names of the packages.
- -q, --quiet
- do not write anything to standard output.
Options for command check
Options for command diff
Options for command dumpavail
Options controlling matching of packages:
- -i, --invert
- invert the match, selecting non-matching items.
Options controlling transformations of package data on output:
- --names
- output only the names of the packages.
- -q, --quiet
- do not write anything to standard output.
- --full
- output the full record of package data.
- --short
- output the names of the packages, plus a short
description.
Options for command grep
Options controlling matching of packages:
- -i, --invert
- invert the match, selecting non-matching items.
Options controlling transformations of tag data on output:
- --facets
- output only the names of the facets (mainly used for
computing statistics).
- --names
- output only the names of the packages.
- -q, --quiet
- do not write anything to standard output.
Options for command search
Options controlling matching of packages:
- -i, --invert
- invert the match, selecting non-matching items.
Options controlling transformations of package data on output:
- --names
- output only the names of the packages.
- -q, --quiet
- do not write anything to standard output.
- --full
- output the full record of package data.
- --short
- output the names of the packages, plus a short
description.
Options for command show
Options for command submit
Options for command tag
Options for command tagcat
Options for command tagshow
Options for command tagsearch
Options for command update
- --local
- do not download files when performing an update.
- --reindex
- do not download any file, just do reindexing if
needed.
Options for command vocfilter
- --vocabulary=file
- vocabulary file to use instead of the current debtags
vocabulary.
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
# 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 && works-with::image:raster && \
! (role::shared-lib || role::dummy)"
# Show all mail clients
debtags search 'works-with::mail && network::client'
# Output the collection of all mail clients, ready to be reprocessed via
# tagcoll
debtags grep 'works-with::mail && network::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 diff work-tags > my-tagpatch
# Submit the patch
debtags submit my-tagpatch
FILES¶
- /var/lib/debtags/vocabulary
-
The normative tag vocabulary
- /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.
- /etc/debtags/sources.list
-
The list of sources to build the package tags database from
SEE ALSO¶
tagcoll(1),
axi-cache(1),
http://wiki.debian.org/Debtags
http://debtags.debian.net
AUTHOR¶
debtags is maintained by enrico@enricozini.org.
This manpage has been automatically generated by the debtags program.