Monday, 23 January 2017

First Python 3.6 test rebuild for Zesty

Python 3.6 was released at the end of 2016. It's available in Zesty (as it
was in Yakkety), but it is not yet a supported version, so many things won't
work (e.g. any package with an extension module). Similarly in Debian
experimental.

The first step toward fully supporting Python 3 proper is a test rebuild of
the Ubuntu archive with Python 3.6 set as a supported but not default version.
I've now done this test rebuild in a PPA, and the failure rate on retries has
stabilized so it's worth looking at the results.

https://launchpad.net/~pythoneers/+archive/ubuntu/python-rebuilds/+packages

Full archive:
2113 source packages, 259 FTBFS gives us ~12% failure rate.

Main only:
423 source packages, 37 FTBFS gives us ~9% failure rate.

Of course these are only build results; it doesn't necessarily say anything
about how well upstreams actually support Python 3.6 yet. It's also possible
some of these would FTBFS if rebuilt in Zesty.

It's rarely feasible to wait until everything is ported before we enable a new
Python version, but we should at least have all of main building. Please take
a look at the failures and see if there are any upstreams or Debian packages
you can fix. I'll be resync'ing new packages into the PPA over time so keep
checking back.

All that said, I think it's unlikely that we'll enable Python 3.6 as a
supported version for Zesty. Feature freeze and Debian import freeze is in a
little over 3 weeks, and Debian Stretch is in soft freeze, with full freeze
coming in February too. That makes uploading package fixes problematic since
we'd obviously like to push as much into Debian as possible.

I'd like to enable Python 3.6 as a supported version early in the Zesty+1
cycle, with a goal of 3.6 as default-and-only in the 18.04 LTS.

Cheers,
-Barry

P.S. The scripts I'm using to upload, sync, and report on status for this PPA
are here: https://code.launchpad.net/~barry/+git/pydeps