Jul 10, 2005

18 slides

Enrico Zini (enrico@debian.org)

A cute presentation of Debtags

The last, ultimate step towards Total World Domination!

Jul 10, 2005

18 slides

Enrico Zini (enrico@debian.org)

A cute presentation of Debtags

The best way of knowing what's in Debian
without being ftp-master

What I'll be talking about

Current problems that need to be solved

Theoretical background of Debtags

Demo of existing tools

Browsing Debian today

17068 binary packages.

Brain goes banana when seeing more than 7±2.

33 different sections do not help.

What is the section of OpenOffice?

Full-text searches

apt-cache search web browser
197 results

apt-cache search text editor
170 results

apt-cache search gnome text editor
9 results: 3 are not editors, 6 are emacs packages

apt-cache search image editor
22 results, but Gimp is not among them

Word of mouth

These are my favourite Debian packages:

cappuccino

polygen

cowsay

filters

gromit

xdiskusage

mmv

kfilelight

buffy

guessnet

dict

Which ones are yours?

Shall we trade?

Black magic

grep-dctrl -sPackage,Version . /var/lib/apt/lists/*_sid_*Sources | perl -ne 'next if /^$/;chomp;s/^(Package|Version):\s*//o;$1 eq "Version" && do {print " $_\n"; next}; print' | sort | uniq

(big thanks to djpig)

What do we need

Something to narrow the package list down to about 7±2 packages (since more don't fit in our brain)

Something that can describe packages from different points of view (since we have different kinds of users)

Something that can cope with the great variety and diversity of Debian packages

Something that works with a body of software continuously changing over time

(plus, of course, we need sex, love, friends, hugs, cuddles, peace, nice food, comfy sleep, wine or beer, a fast computer, bandwidth, ice creams, smiles...)

Debtags theoretical foundations

Please meet Shiyali Ramamrita Ranganathan,
the first Debtags developer.

Laws of (Software) Library Science

I

Software is for use.

II

Every user his or her software.

III

Every software its user.

IV

Save the time of the user.

V

Debian is a growing organism.

(Ranganathan wrote them in 1931. This makes Debtags the oldest project in Debian)

I	Software is for use.

II	Every user his or her software.

III	Every software its user.

IV	Save the time of the user.

V	Debian is a growing organism.

Faceted classification

A faceted classification [is a way of classification that] uses clearly defined, mutually exclusive, and collectively exhaustive aspects, properties, or characteristics of a class or specific subject.

*Wynar, Bohdan S. ''Introduction to cataloging and classification''. 8th edition. p. 320*

We have more than one set of categories, one for each aspect ("facet") of packages

We categorise under different points of view

Debtags

Debtags components: facets

Facets are the groups of tags.

Facet: implemented-in
Description: Language that the package is implemented in

Facet: interface
Description: Kind of user interface

Facet: role
Description: Role of the package in the system

Facet: use
Description: Purpose of the package

Facet: works-with
Description: What the package can work with
These tags describe what is the kind of data (or even
processes, or people) that the package can work with.

[...]

Debtags components: tags

Tags are the categories used to describe a facet of packages.

role::aux-data - (Auxiliary) Application-specific data
role::aux-dummy - (Auxiliary) Dummy package used for upgrades
role::aux-metapackage - (Auxiliary) Dependency metapackage
role::aux-shlib - (Auxiliary) Shared library
role::content-dictionary - (Content) Dictionaries
role::content-doc - (Content) Documentation
role::content-font - (Content) Fonts
role::content-icons - (Content) Icons
role::content-text - (Content) Books and text documents
role::content-userdoc - (Content) User Documentation
role::sw-applet - (Software) Applets and Dockapps
role::sw-application - (Software) Applications
role::sw-client - (Software) Client applications
role::sw-devel-lib - (Software) Development libraries
role::sw-driver - (Software) Hardware drivers
role::sw-server - (Software) Servers
role::sw-theme - (Software) Themes
role::sw-utility - (Software) Utilities

Debtags components: Vocabulary

The vocabulary lists the available facets and tags.

There can be more than one vocabulary, and many different vocabularies can be automatically merged together.

The main Debian Tag Vocabulary is maintained in svn on the Debtags project on Alioth.

(keep an eye on this 'merging' feature!)

Debtags components: Tag Database

The tag database lists the tags attached to packages.

There can be more than one tag database, and many different databases can be automatically merged together.

The main Debian Tag Database is maintained inside Erich's packagebrowser at: http://debian.vitavonni.de/packagebrowser

Debtags in action

Conclusion

As a Debian Developer, tag your packages: for some facets, you are the one who knows best.

Adopt a facet or a tag.

Help maintaining the Debtags website or the Debtags packages.

Maintain a language binding.

Play with the code!

Resources:

debtags-devel@lists.alioth.debian.org

http://debtags.alioth.debian.org

45 mins including questions: ~35 mins of talk

Goal: show that there are problems we don't usually think about, nor we are

aware of

Introduction: what the talk is about

Showing non-technical problems that can happen inside Debian and we ren't always aware of

2003-07-19T11:28:55