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

Re: Debian Python Policy [draft]



On Sat, Sep 29, 2001 at 11:10:43PM -0700, Neil Schemenauer wrote:
> Carey Evans wrote:
> > By way of example, suppose I have a package "spam" that embeds Python
> > 2.1, and therefore depends on python-2.1.  spam also uses the "eggs"
> > module, and therefore depends on python-eggs, which depends on
> > python-2.1 itself.
> > 
> > Now Python 2.2 is released, and eggs is recompiled for it.  The spam
> > maintainer is on holiday, so it doesn't get recompiled for a while.
> > If I then install "lumberjack", which depends on python-2.2 and on
> > eggs, apt will upgrade python and eggs to satisfy the dependencies,
> > and hopefully install "python-2.1" to keep spam happy.
> > 
> > Still with me?  All the dependencies are satisfied, but spam doesn't
> > work any more - the eggs module has disappeared out from under it.
> 
> Excellent point.  I've updated the policy document to prevent this.  The
> python package should provide python-api-X.Y.  Module packages should
> depend on python-api-X.Y.  If someone packages an older version of
> Python they should call it python-X.Y.  Packaged modules for that Python
> should depend on python-X.Y.  Older versions of Python should never
> provide python-api-X.Y.

This fixes the dependancies, but requires new packages for old versions.
Every new version of python will cause cascading updates of everything...
updates of existing packages for the new python, and _new_ packages for the
old version. Before all these packages are updated/created, everything is
busted... even the new "old" python-X.Y is busted untill all the new
python-X.Y-foo packages are created. Your only option is don't apt-update
anything untill all the packages are done. 

Actually, the case of spam and eggs demonstrates how this busts things.
No-one with spam installed will be able to install any of the new python
packages untill spam is updated. Your only option is to remove spam if you
want any new python packages. Installing a python-X.Y package won't fix it,
since it doesn't provide python-api-X.Y.

-- 
----------------------------------------------------------------------
ABO: finger abo@minkirri.apana.org.au for more info, including pgp key
----------------------------------------------------------------------



Reply to: