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

Python BoF at DebConf10 - summary



Summary of discussions in the Python BoF meet at DebConf10

The Python BoF meet was held in the afternoon of Friday, 6th August
2010 at Debconf10 in New York City. Several participants in the Python
community in Debian were present at the discussion, and many issues
were discussed and a way forward for several missing aspects were
considered. For further discussion of these aspects, a summary of the
discussions follows.

Python in Squeeze
=================

Squeeze will ship with Python 2.5, 2.6 (as default) and 3.1.

Discussions:

 * Destiny of 3.x in Squeeze, freeze exceptions for new binary
   python3-* packages built from existing sources: To provide
   for a semblance of completeness, Python 3.x should ship with
   at least certain important modules in a working state for Squeeze.

 * Replace the use of python-central/dh_pycentral with dh_python2 for
   all packages. This also led to the question as to how this would
   affect efforts to backport a package to Lenny. The proposed
   solution for this was to backport dh_python2 to Lenny and use an
   updated python-defaults for Lenny, as this would be much easier
   than other methods to allow dh_python2 based packages to be
   backported. Some further questions which remain are: how to handle
   this case in CDBS and how to handle python2.5 in this case (these
   weren't obvious during the discussions).

 * Currently the debug information for .so files (not _d.so) cannot be
   accessed by gdb in python-support based packages (as gdb expects them
   in a different location). This issue affects several packages.

 * Testing modules/extensions at build time.

Recommendations:

 * As testing is frozen, there will be no new Python versions uploaded
   for Squeeze. The versions which will ship with Squeeze will be
   based on the current versions which are already present.

 * Piotr Ożarowski has volunteered to approach the release team to
   request freeze exceptions for the python3.x-* binary packages. We
   hope that we can convince them to provide the exceptions, since
   these are binary packages built out of the same sources as packages
   existing in Squeeze, which means that we are not introducing
   totally new source packages.

 * It is necessary that we prioritize the binary packages in a way
   such that the important reverse dependencies are in first, for the
   Python 3.x modules.

 * Source packages building an additional python3-* binary package
   should be uploaded into experimental first for testing them out.
   Once the python3-* binary is tested it may be uploaded to unstable
   provided that is has a freeze exception, since it has already
   cleared NEW. The python-all and python3-all* packages will not
   include python2.7 and python3.2 as supported Python versions to not
   disrupt the building of these python3-* binary packages.

 * dh_python{2,3} support needs to be added into CDBS.

 * Further discussion about moving extensions by dh_pysupport to the
   location recognized by gdb.

 * It's too late to remove python-central in Squeeze.

 Testing
 -------

 * It was recommended that the use of unit tests during build time be
   promoted, against all 'install'-ed (supported versions according to
   pyversions). Use of distutils' --no-compile should be avoided.
   This provides for much better build time checking of
   packages, and catches lots of errors in packages before they
   actually hit the archive.

   Some interesting aspects in this regard which were discussed are:

   + It would be necessary to disable all tests which require network
     access or extremely lengthy (in time) or memory hungry. How this
     is achieved may differ from package to package; and it was decided
     that it would be best if upstream code was not patched heavily in
     order to achieve this.

   + Only the subset of tests which succeed on the buildds
     should be enabled by default. DEB_BUILD_OPTIONS currently supports
     nocheck, so should we recommend something like check-all, no
     nocheck-{net,x} to provide for a better classification of sets of
     tests?

Squeeze + 1 plans
=================

Discussions:

 * List of supported Python versions in Squeeze + 1.

 * A single installation location for public Python 3 modules.
   Some concerns are:
   + What if the package doesn't work with default Python version? How
     do we handle this case, and how many such packages exist?
   + If a module is not compatible with all supported, multiple
     versions of the module are needed. How many packages fall in this
     category?

 * Dropping python-central. In most cases dropping the Build-Dependency
   on python-central and replacing the dh_pycentral call with dh_python2
   should suffice when using a sufficiently new python-defaults
   (2.6.5-13 or later)

Recommendations:

 * We want to support Python 2.7 and 3.2 in Squeeze + 1.

 * It was recommended that we DO NOT generate any files or symbolic
   links during package installation; all files belonging to a package
   after install should be shipped within the respective .deb
   files. In other words, install-time file generation (other than
   .pyc files) should be strictly avoided.

 * It was recommended that dh_python3 be proposed as the default
   packaging helper for debhelper and cdbs.

 * Consider dropping python-central and python-support helpers for
   Python 2.X

Participants:
=============
 * Bastian Venthur <venthur@debian.org> (only 1st of the two hours)
 * Gaudenz Steinlin <gaudenz@debian.org>
 * Kumar Appaiah <akumar@debian.org>
 * Matthias Klose <doko@debian.org>
 * Piotr Ożarowski <piotr@debian.org>
 * Tiziano Zito <tiziano.zito@bccn-berlin.de>
 * Varun Hiremath <varun@debian.org>
 * Yaroslav Halchenko <yoh@debian.org>
-- 
Piotr Ożarowski                         Debian GNU/Linux Developer
www.ozarowski.pl          www.griffith.cc           www.debian.org
GPG Fingerprint: 1D2F A898 58DA AF62 1786 2DF7 AEF6 F1A2 A745 7645


Reply to: