137
137
What does a notation such as "works-with::image:raster" mean?
138
------------------------------------------------------
138
-------------------------------------------------------------
140
140
It means that the facet (the point of view from which we look at the packages)
141
141
is "works-with", and that the tag (what kind of data this package can handle)
271
271
ignored by package managers, using debtags instead.
274
How come there are different sets of tags in the Packages file and in ``/var/lib/debtags``?
275
-------------------------------------------------------------------------------------------
277
There are a few reasons:
279
* Debtags supports merging different tag sources: for example, iterating.org
280
provides a tag source with package rankings and debtags is able to download
281
it and merge it to the other tags. Tag sources are listed in
282
``/etc/debtags/sources.list``. This also allows some of us to use the
283
unreviewed tags on Alioth instead of the ones in the Package database.
284
* For many applications the tags are easier to access when aggregated on a
285
small file rather than by parsing the very large package database
286
* Finally, the debtags database in ``/var/lib/debtags`` is also indexed for
289
Have the Packages file as the primary tag storage has never been the main idea,
290
although it's turned out to be useful to allow tags to be useable in
291
software such as apt-cache, aptitude and grep-dctrl without them having to be
292
modified to access an extra database.
295
The Packages file has tags like ``network::{client,server,service}`` and this breaks ``grep-dctrl``
296
---------------------------------------------------------------------------------------------------
298
Those compressed tags are there because APT does not like long lines.
300
You can use ``debtags dumpavail`` to feed data to grep-dctrl without the
303
``debtags dumpavail`` also supports tag expressions, so you can even run
306
debtags dumpavail 'role::program && game::*' | grep-dctrl <options>
278
313
How can I experiment writing applications using debtags?
279
314
--------------------------------------------------------
281
You can have a look at `libapt-front-dev`_, which allows access to both debtags
282
and apt package data and is a really good C++ library. Thanks to the work of
283
Torsten Marek, it may soon have Python bindings.
316
For C++, have a look at `libept-dev`_, which allows access to both
317
debtags and apt package data.
319
For Python, the `python-debian`_ package has a good ``debtags`` module and
320
various interesting code examples.
286
323
, which also has python__ and perl__
337
374
.. _libapt-front: http://libapt-front.alioth.debian.org/
338
375
.. _libdebtags1-dev: http://packages.debian.org/libdebtags1-dev
339
376
.. _libapt-front-dev: http://packages.debian.org/libapt-front-dev
377
.. _libept-dev: http://packages.debian.org/libept-dev
340
378
.. _packagebrowser: http://debian.vitavonni.de/packagebrowser/
341
379
.. _packagesearch: http://packagesearch.sourceforge.net/
342
380
.. _theorical foundation: http://debtags.alioth.debian.org/faceted.html
343
381
.. _Alioth project: http://debtags.alioth.debian.org/
382
.. _python-debian: http://packages.debian.org/python-debian