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@debian.org> An open-source platform for XML and RDF processing python-adns Peter Hawkins <peterh@debian.org> Python bindings to the asynchronous DNS resolver library python-albatross Fabian Fagerholm <fabbe@debian.org> Toolkit for Stateful Web Applications (default) python-apsw Joel Rosdahl <joel@debian.org> another Python SQLite 3 wrapper python-biggles Peter Hawkins <peterh@debian.org> Scientific plotting package for Python [dummy package] python-celementtree Torsten Marek <shlomme@gmx.net> Light-weight toolkit for XML processing python-cheetah Chad Walstrom <chewie@debian.org> text-based template engine and Python code generator python-clearsilver Jesus Climent <jesus.climent@hispalinux.es> python bindings for clearsilver python-clientcookie Ganesan Rajagopal <rganesan@debian.org> Python module for automating HTTP Cookie management (dummy) python-configlet Progeny Debian Packaging Team <debian-packages@progeny.com> alternative debconf configuration interface: core API python-crypto Andreas Rottmann <rotty@debian.org> cryptographic algorithms and protocols for Python python-dhm Michelle Ribeiro <michelle@cipsga.org.br> Collection of Python utilities python-egenix-mxdatetime Joel Rosdahl <joel@debian.org> date and time handling routines for Python [dummy package] python-egenix-mxproxy Joel Rosdahl <joel@debian.org> generic proxy wrapper type for Python [dummy package] python-egenix-mxqueue Joel Rosdahl <joel@debian.org> fast and memory-efficient queue for Python [dummy package] python-egenix-mxstack Joel Rosdahl <joel@debian.org> fast and memory-efficient stack for Python [dummy package] python-egenix-mxtexttools Joel Rosdahl <joel@debian.org> fast text manipulation tools for Python [dummy package] python-egenix-mxtools Joel Rosdahl <joel@debian.org> collection of new builtins for Python [dummy package] python-elementtree Torsten Marek <shlomme@gmx.net> Light-weight toolkit for XML processing python-eunuchs Tommi Virtanen <tv@debian.org> Missing manly parts of UNIX API for Python python-fam Martin v. Loewis <martin@v.loewis.de> Python interface to FAM python-fixedpoint Ganesan Rajagopal <rganesan@debian.org> A fixed point math object for python [dummy package] python-forgethtml Morten Werner Olsen <werner@skolelinux.no> Python module for easy HTML-writing python-forgetsql Morten Werner Olsen <werner@skolelinux.no> Python module for easy SQL-database access python-gadfly Matthias Klose <doko@debian.org> SQL database and parser generator for Python [dummy package] python-gdchart2 Jonas Smedegaard <dr@jones.dk> Python OO interface to GDChart python-gpib Robert Jordens <jordens@debian.org> libgpib python bindings (default package) python-id3lib Jonas Smedegaard <dr@jones.dk> id3lib wrapper for Python - dummy package python-japanese-codecs Takuo KITAME <kitame@debian.org> Japanese Codecs for Python python-kjbuckets Matthias Klose <doko@debian.org> Set and graph data types for Python [dummy package] python-ldap Peter Hawkins <peterh@debian.org> A LDAP interface module for Python. [dummy package] python-ldaptor Tommi Virtanen <tv@debian.org> Pure-Python library for LDAP python-libxml2 Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> Python bindings for the GNOME XML library python-libxslt1 Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> Python bindings for libxslt1 python-logilab-common Sylvain Thénault <sylvain.thenault@logilab.fr> useful miscellaneous modules used by Logilab projects [dummy package] python-moinmoin Jonas Smedegaard <dr@jones.dk> Python clone of WikiWiki - dummy library package python-musicbrainz Andreas Rottmann <rotty@debian.org> Second generation incarnation of the CD Index - library python-nevow Tommi Virtanen <tv@debian.org> Web application templating system for Python and Twisted python-optcomplete Bastian Kleineidam <calvin@debian.org> provide bash-completion for Python programs (dummy package) python-osd Tommi Virtanen <tv@debian.org> Python bindings for X On-Screen Display library python-oss Tommi Virtanen <tv@debian.org> Open Sound System (OSS) interface for Python python-pam Dima Barsky <dima@debian.org> A Python interface to the PAM library python-pexpect Ganesan Rajagopal <rganesan@debian.org> Python module for automating interactive applications (dummy) python-pgsql Ben Burton <bab@debian.org> A Python DB-API 2.0 interface to PostgreSQL v7.x python-psyco Alexandre Fayolle <afayolle@debian.org> python specializing compiler (for the default python version) python-psycopg Federico Di Gregorio <fog@debian.org> Python module for PostgreSQL [dummy package] python-pychart Santiago Ruano Rincon <santiago@unicauca.edu.co> Python library for creating high quality charts python-pylibacl Iustin Pop <iusty@k1024.org> module for manipulating POSIX.1e ACLs python-pyopenssl Martin Sjogren <sjogren@debian.org> Python wrapper around the OpenSSL library (dummy package) python-pyparsing Tommi Virtanen <tv@debian.org> Python parsing module python-pyrex Paul Brossier <piem@debian.org> compile native-code modules for python from python-like syntax python-pyxattr Iustin Pop <iusty@k1024.org> module for manipulating filesystem extended attributes python-rpy Dirk Eddelbuettel <edd@debian.org> Python interface to the GNU R language and environment python-simpy Antal A. Buss <abuss@puj.edu.co> python-based simulation package [dummy package] python-slides Matthias Klose <doko@debian.org> Python-based Slide Maker python-sqlite Joel Rosdahl <joel@debian.org> python interface to SQLite 2 python-sqlobject Carlos Perelló Marín <carlos@pemas.net> Python module for SQLObject [dummy package] python-sqlrelay Matthias Klose <doko@debian.org> SQL Relay Python (default version) API python-syck Robert Jordens <jordens@debian.org> YAML parser kit -- python bindings (default package) python-tclink Dan Helfman <witten@debian.org> TrustCommerce credit card processing for Python [dummy package] python-tcpwrap Brian Sutherland <jinty@web.de> python interface for libwrap (TCP wrappers) python-tunepimp Robert Jordens <jordens@debian.org> libtunepimp python bindings (default package) python-twisted Matthias Klose <doko@debian.org> Event-based framework for internet applications (dummy package) python-tz Brian Sutherland <jinty@web.de> Python version of the Olson timezone database python-unit Alexandre Fayolle <afayolle@debian.org> unit test framework for Python (default version) python-weblib Jonas Smedegaard <dr@jones.dk> Yet another web programming framework for Python - library python-xlib Martin v. Löwis <martin@v.loewis.de> Interface for Python to the X11 Protocol (dummy package) python-xml Alexandre Fayolle <afayolle@debian.org> XML tools for Python [dummy package] python-zopeinterface Tommi Virtanen <tv@debian.org> Python library for API definitions through interfaces (dummy) -- GPG key: 1024D/797EBFAB 2000-12-05 Enrico Zini <enrico@enricozini.org>
Attachment:
signature.asc
Description: Digital signature