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 <vent...@debian.org> (only 1st of the two hours) * Gaudenz Steinlin <gaud...@debian.org> * Kumar Appaiah <aku...@debian.org> * Matthias Klose <d...@debian.org> * Piotr Ożarowski <pi...@debian.org> * Tiziano Zito <tiziano.z...@bccn-berlin.de> * Varun Hiremath <va...@debian.org> * Yaroslav Halchenko <y...@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 -- To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20100814201100.gt20...@piotro.eu