Packaging changes / bug fixes for Python3.3
This page lists issues found when adding Python3.3 as a supported Python version, and then making Python3.3 the default Python3 version. Known issues should be reported in the Debian BTS with
User: debian-python@lists.debian.org Tags: python3.3
Existing issues in the Debian BTS: http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=python3.3;users=debian-python@lists.debian.org
Preparing Python for MultiArch is documented in Python/MultiArch.
Common Packaging Issues
- The debian/rules file is prepared to build for multiple Python versions, but the build dependency is only python3{,-dev} instead of python3-all{,-dev}. Similarly not all versioned 3.X scripts are provided or installed.
- The u character in the abiflags is gone. include directories, the config directory and the extension names did change.
- The names for the include directories did change (use python3.x-config --includes, or pkgconfig).
- The names for the config directories did change (use python3.x-config --configdir).
- Extensions from builds which don't use distutils/distribute/setuptools have to renamed, so that the file for a 3.2 extension doesn't conflict with the one from 3.3 (use sysconfig.get_config_var("SOABI")).
- extension modules of the form foomodule.so are not recognized anymore. Just rename the .so file to foo.so instead (including the appropriate abiflags).
- Many packages still (pointlessly) have Provides: {python3:Provides}. Please drop this if you don't have any rdepends.
Common Upstream Issues
For upstream changes, see http://docs.python.org/3.3/whatsnew/3.3.html
- Some API functions which were deprecated in 3.2 are now removed in 3.3.
- PYTHONHASHSEED=random is now the default, that means some testsuites fail due to relying on the iteration order of sets and dictionaries.