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

Dummy packages and metapackages (call for consistency in the descriptions)



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


Reply to: