Python 3.6 Transition
For Ubuntu 18.04 LTS and Debian Buster, we want to transition to Python 3.6 as the default (and probably only) Python 3 version.
Here is the start of the test rebuilds in Ubuntu.
Here is the current archive test rebuild PPA.
Here are the scripts used to keep the PPA updated.
Other issues
There are some other interesting issues in performing this transition. Many packages haven't been built for a while, and just get copied to the new distro version's archive, so they are only rebuilt during transitional events such as this one. One of the most pernicious problems is circular dependencies. Because all packages in the cycle need to be rebuilt, we have to break the cycle with a temporary upload, and then re-enable the cycle causing problem. Ideally of course, there would be no cycles, but that's not what we see in practice.
Another common problem is that flake8 codes have changed, so some packages which check for no-flake8-violations will break during their build.
Next steps
- Make Python 3.6 a supported version. Requires a mass rebuild.
- Make Python 3.6 the default version. No mass rebuild required.
- Drop Python 3.5 support. Requires a mass rebuild.