[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Announcing second release of Debian Package Tags


I'm announcing it again in debian-devel because it contains new
infrastructure to support proposals that are being discussed here, and
to ask a small testing run: if I see no big showstoppers, this is the
version that tomorrow I will upload to unstable.

I have made a bunch of neat additions:

Major updates to tagcoll (the computing engine enabling every sort of
operations on the tag databases):

 - Added a "reverse" command to tagcoll.  Now, if we want to see all
   packages that have a given tag, we can just do this:

   tagcoll reverse collection-file | grep ^tag:

   (of course it might have other applications)
 - Added the --derived-tags-from option to tagcoll.  This allows the
   introduction of tags that are added to an item if an expression
   matches the item tag set.  For example, we can define this (from a
   proposal by David Roundy):

   userlevel::novice: !specialized && (interface::gui || interface::curses)

   Tagcoll is now able to expand such things.

Major updates to debtags (the tool that manages the tag database for

 - Include a tag database with debtags (to be used for networkless
   systems, and, in the future, as the well-tested database for stable
 - Add the possibility of installing local vocabulary additions in
 - Merge the master vocabulary and all the additions at update time.
   This means that the public location of the vocabulary has been
   changed to /var/lib/debtags/vocabulary
 - Extract implications and derived tags from the merged vocabulary at
   import time and keep them in
   They can now be used directly for tagcoll manipulations of the
 - Expand implications and derived tags at update time, so that
   applications using the package database will find them.  The package
   database can then be re-compressed at any time with tagcoll.

We can now have custom vocabulary bits installed by {sub,meta}distro
maintainers with records like this:
Tag: userlevel::novice
Derived: !specialized && (interface::gui || interface::curses)

Tag: specialized
Derived: (!toy && !educational) && (devel || chemistry || electronics)

And yes, expressions can reference other expressions and tags resulting
from implication expansion, too.

I hope this can give the required technical support for the many good
proposals I've seen in the list.

				Ciao! Enrico

GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@debian.org>

Attachment: pgp6he7UuZU1w.pgp
Description: PGP signature

Reply to: