[Debtags-devel] Dummy packages and metapackages (call for consistency in the descriptions)

Enrico Zini enrico at enricozini.org
Fri Oct 28 21:41:37 UTC 2005


Hello,

<service annoucement>

Some of us are using 'metapackage' and 'dummy package' in the wrong way,
and this is bad, not only because they're different concept, but also
because it leads people to categorize them wrongly with debtags.

This could have implications:

 - future debtags-aware package managers might choose not to display
   dummy packages but to indeed display metapackages, and a mistagging
   here could cause a substantial annoyance.

 - future debtags-aware package managers might also offer to
   automatically remove all installed dummy packages, and a mistagging
   here could cause an even more substantial annoyance.

So, let's see how to get it right:

 * Dummy packages

A dummy package is one of those packages used to smooth upgrades.  One
can safely remove it, and everything is fine.

Examples of dummy packages are:
 - xpdf
 - fileutils
 - gs


 * Metapackages

A metapackage is one of those packages used to pull in other packages.
If they are removed, it's likely that something goes wrong.  They are
used for various reasons, such as ensuring that one out of many versions
of a package is installed (like the python modules do) or ensuring that
a specific set of functionality is present (like the med-* packages).

Examples of such packages are:
 - python-*, lib*-ruby (the ones without a python version in the name)
 - med-*
 - kernel-image-2.6-k7
 - gnome and kde


 * Mislabeled packages

Examples of packages that get it wrong in the description are:
 - libalgorithm-diff-ruby
 - pylint
 - xmldiff
 - gap

And in fact, they're currently categorised role::aux:dummy.


 * The solution

Luckily, it's easy to get it right.  When writing the description, a
quick rule of thumb is this:

 - if you can write "this package can be safely removed", you should
   call it a 'dummy package'
 - else, it's probably a metapackage.  Or of course a normal package :)


 * Mass filing bugs?

Maybe, as minor bugs.  It's easy to look for packages that have 'dummy'
in the description but are tagged with 'role::aux:metapackage'[1].
However, this would only catch those ones that have been already caught
by someone, and needs manual inspection before filing anyway.  So, I'm
trying with this message first.


Thank you all for the kind attention :)


Ciao,

Enrico


[1]
Remember that this command gives only what's been hand-checked already,
so the list is not exaustive:

$ grep-aptavail -FTag metapackage -and -FDescription dummy -sPackage,Maintainer
python-4suite
Raphael Bossek <bossekr at debian.org>
An open-source platform for XML and RDF processing

python-adns
Peter Hawkins <peterh at debian.org>
Python bindings to the asynchronous DNS resolver library

python-albatross
Fabian Fagerholm <fabbe at debian.org>
Toolkit for Stateful Web Applications (default)

python-apsw
Joel Rosdahl <joel at debian.org>
another Python SQLite 3 wrapper

python-biggles
Peter Hawkins <peterh at debian.org>
Scientific plotting package for Python [dummy package]

python-celementtree
Torsten Marek <shlomme at gmx.net>
Light-weight toolkit for XML processing

python-cheetah
Chad Walstrom <chewie at debian.org>
text-based template engine and Python code generator

python-clearsilver
Jesus Climent <jesus.climent at hispalinux.es>
python bindings for clearsilver

python-clientcookie
Ganesan Rajagopal <rganesan at debian.org>
Python module for automating HTTP Cookie management (dummy)

python-configlet
Progeny Debian Packaging Team <debian-packages at progeny.com>
alternative debconf configuration interface: core API

python-crypto
Andreas Rottmann <rotty at debian.org>
cryptographic algorithms and protocols for Python

python-dhm
Michelle Ribeiro <michelle at cipsga.org.br>
Collection of Python utilities

python-egenix-mxdatetime
Joel Rosdahl <joel at debian.org>
date and time handling routines for Python [dummy package]

python-egenix-mxproxy
Joel Rosdahl <joel at debian.org>
generic proxy wrapper type for Python [dummy package]

python-egenix-mxqueue
Joel Rosdahl <joel at debian.org>
fast and memory-efficient queue for Python [dummy package]

python-egenix-mxstack
Joel Rosdahl <joel at debian.org>
fast and memory-efficient stack for Python [dummy package]

python-egenix-mxtexttools
Joel Rosdahl <joel at debian.org>
fast text manipulation tools for Python [dummy package]

python-egenix-mxtools
Joel Rosdahl <joel at debian.org>
collection of new builtins for Python [dummy package]

python-elementtree
Torsten Marek <shlomme at gmx.net>
Light-weight toolkit for XML processing

python-eunuchs
Tommi Virtanen <tv at debian.org>
Missing manly parts of UNIX API for Python

python-fam
Martin v. Loewis <martin at v.loewis.de>
Python interface to FAM

python-fixedpoint
Ganesan Rajagopal <rganesan at debian.org>
A fixed point math object for python [dummy package]

python-forgethtml
Morten Werner Olsen <werner at skolelinux.no>
Python module for easy HTML-writing

python-forgetsql
Morten Werner Olsen <werner at skolelinux.no>
Python module for easy SQL-database access

python-gadfly
Matthias Klose <doko at debian.org>
SQL database and parser generator for Python [dummy package]

python-gdchart2
Jonas Smedegaard <dr at jones.dk>
Python OO interface to GDChart

python-gpib
Robert Jordens <jordens at debian.org>
libgpib python bindings (default package)

python-id3lib
Jonas Smedegaard <dr at jones.dk>
id3lib wrapper for Python - dummy package

python-japanese-codecs
Takuo KITAME <kitame at debian.org>
Japanese Codecs for Python

python-kjbuckets
Matthias Klose <doko at debian.org>
Set and graph data types for Python [dummy package]

python-ldap
Peter Hawkins <peterh at debian.org>
A LDAP interface module for Python. [dummy package]

python-ldaptor
Tommi Virtanen <tv at debian.org>
Pure-Python library for LDAP

python-libxml2
Debian XML/SGML Group <debian-xml-sgml-pkgs at lists.alioth.debian.org>
Python bindings for the GNOME XML library

python-libxslt1
Debian XML/SGML Group <debian-xml-sgml-pkgs at lists.alioth.debian.org>
Python bindings for libxslt1

python-logilab-common
Sylvain Thénault <sylvain.thenault at logilab.fr>
useful miscellaneous modules used by Logilab projects [dummy package]

python-moinmoin
Jonas Smedegaard <dr at jones.dk>
Python clone of WikiWiki - dummy library package

python-musicbrainz
Andreas Rottmann <rotty at debian.org>
Second generation incarnation of the CD Index - library

python-nevow
Tommi Virtanen <tv at debian.org>
Web application templating system for Python and Twisted

python-optcomplete
Bastian Kleineidam <calvin at debian.org>
provide bash-completion for Python programs (dummy package)

python-osd
Tommi Virtanen <tv at debian.org>
Python bindings for X On-Screen Display library

python-oss
Tommi Virtanen <tv at debian.org>
Open Sound System (OSS) interface for Python

python-pam
Dima Barsky <dima at debian.org>
A Python interface to the PAM library

python-pexpect
Ganesan Rajagopal <rganesan at debian.org>
Python module for automating interactive applications (dummy)

python-pgsql
Ben Burton <bab at debian.org>
A Python DB-API 2.0 interface to PostgreSQL v7.x

python-psyco
Alexandre Fayolle <afayolle at debian.org>
python specializing compiler (for the default python version)

python-psycopg
Federico Di Gregorio <fog at debian.org>
Python module for PostgreSQL [dummy package]

python-pychart
Santiago Ruano Rincon <santiago at unicauca.edu.co>
Python library for creating high quality charts

python-pylibacl
Iustin Pop <iusty at k1024.org>
module for manipulating POSIX.1e ACLs

python-pyopenssl
Martin Sjogren <sjogren at debian.org>
Python wrapper around the OpenSSL library (dummy package)

python-pyparsing
Tommi Virtanen <tv at debian.org>
Python parsing module

python-pyrex
Paul Brossier <piem at debian.org>
compile native-code modules for python from python-like syntax

python-pyxattr
Iustin Pop <iusty at k1024.org>
module for manipulating filesystem extended attributes

python-rpy
Dirk Eddelbuettel <edd at debian.org>
Python interface to the GNU R language and environment

python-simpy
Antal A. Buss <abuss at puj.edu.co>
python-based simulation package [dummy package]

python-slides
Matthias Klose <doko at debian.org>
Python-based Slide Maker

python-sqlite
Joel Rosdahl <joel at debian.org>
python interface to SQLite 2

python-sqlobject
Carlos Perelló Marín <carlos at pemas.net>
Python module for SQLObject [dummy package]

python-sqlrelay
Matthias Klose <doko at debian.org>
SQL Relay Python (default version) API

python-syck
Robert Jordens <jordens at debian.org>
YAML parser kit -- python bindings (default package)

python-tclink
Dan Helfman <witten at debian.org>
TrustCommerce credit card processing for Python [dummy package]

python-tcpwrap
Brian Sutherland <jinty at web.de>
python interface for libwrap (TCP wrappers)

python-tunepimp
Robert Jordens <jordens at debian.org>
libtunepimp python bindings (default package)

python-twisted
Matthias Klose <doko at debian.org>
Event-based framework for internet applications (dummy package)

python-tz
Brian Sutherland <jinty at web.de>
Python version of the Olson timezone database

python-unit
Alexandre Fayolle <afayolle at debian.org>
unit test framework for Python (default version)

python-weblib
Jonas Smedegaard <dr at jones.dk>
Yet another web programming framework for Python - library

python-xlib
Martin v. Löwis <martin at v.loewis.de>
Interface for Python to the X11 Protocol (dummy package)

python-xml
Alexandre Fayolle <afayolle at debian.org>
XML tools for Python [dummy package]

python-zopeinterface
Tommi Virtanen <tv at debian.org>
Python library for API definitions through interfaces (dummy)


--
GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico at enricozini.org>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/debtags-devel/attachments/20051028/3f6723ca/attachment.pgp


More information about the Debtags-devel mailing list