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

Re: Status of recent and upcoming changes



Raphael Hertzog writes:
> Hi all,
> 
> first of all Matthias will announce shortly the timeframe of the switch to
> Python2.4 by default. He will upload ASAP the new python-defaults to
> experimental and a few days later to unstable.

I'm attaching here a draft for an announcement to d-d-a, feedback is
welcome.  Steve Vorlon asked to upload the python-defaults package
this weekend.  The package will arrive today in experimental (together
with a newt NMU to experimental)

> About python-central
> --------------------
> 
> Private modules/extensions are byte-compiled in place AFAIK.

yes

> Open issue
> ----------
> We're lacking a standardized way to find out the list of versions that a
> given package is supposed to support. Someone should write a script that
> does:
> - extract the list of supported versions from the upcoming python-minimal
>   (/usr/share/python/debian_defaults)
> - parse the XS-Python-Version and generate the list of python versions
>   that the package supports
>   (for example if XS-Python-Version says ">= 2.4", right now it would
>   generate "2.4", if XS-P-V says "all", it would generate "2.3 2.4", etc.)
> 
> Matthias will implement that in python-central as "pycentral
> showrequested" which complements the already existing "pycentral
> showversions".

As dicussed with Raphael I'm adding a script to parse the version
information into the python package, so that packagers can rely on it.

  Matthias


d-d-a draft:
----------------------------------------------------------------------
MOVE to python 2.4 / Changing the packaging style for python packages


We will hopefully soon switch the default python version in sid from
2.3 to 2.4.  With the upcoming releases of the last packages which
didn't support 2.4 yet (Plone on the Zope application server) we may
be able to drop support for 2.3 in sid as well.

We think that the support of more than one python version in the
distribution at the same time is still needed, as it takes time for
some applications to adopt new python versions, and the migration of a
python version change from sid to testing can be eased by supporting
the python version you come from and the version you go to.

In the past months many changes to to the current python policy were
proposed, which were summarized at the python BoF at Debconf6.  In
short:

 - Applications using python and application specific python modules
   (called here "private modules") do not need an reupload on a
   python version change, but are just byte-compiled using the new
   python version.

 - The current pythonX.Y-foo packages having modules in the python
   library path are collapsed into one package python-foo. Binary
   independent modules are made available for the python versions
   currently supported in the distribution.  Binary dependent
   extensions are put for all supported python versions into the
   same python-foo package.  The overhead for a maybe unused
   extension module was accepted in favour of a reduction of
   packages, the removed need to rebuild a package for a change
   of the default python version and less NEW processing when
   adding new pythonX.Y-foo packages.

 - We keep information on which python versions are supported by
   a source package in the source package database, and information
   for which python versions a package is currently built in the
   binary package database.  That information allows on overview
   for a python version transition, addition of a new python
   version, or removal of a python version without looking at the
   package contents itself.

 - Some infrastructure was implemented to remove all hardcoded
   information about versions in the packaging scripts, so that
   sourceless package rebuilds (binary NMUs) are enough to update
   a package for new/removed/default python versions.


The current transition from 2.3 to 2.4 will not yet benefit completly
from these proposed changes; further transitions will be smarter.

We will prepare the transition in experimental by an upload of the
python, python-dev packages on XX-06-2006 and try to prepare many
packages, so that most packages in unstable can be uploaded at the
same time and reduce the amount of uninstallable packages. The upload
of all these packages should happen on XX-06-2006

Package maintainers currently can not find details in just one place.
Information currently can be found at

 - On the wiki pages at http://wiki.debian.org/DebianPythonFAQ

 - #debian-python on OFTC

 - Tutorials ...

 - Packaging examples ...

What else?



Reply to: