Continuing the Python 3 transition
We took a bit of a break in active Python 3 porting for Saucy, but now that we're in the 14.04 LTS cycle, we want to concentrate again on this important task. There are three general categories:
* Remove Python 2 from the Touch images
* Remove Python 2 from the default desktop images
* Remove Python 2 from the default server images
Much has been done by upstreams and Debian in the meantime, so now we need to re-evaluate the work needed for Trusty.
Blueprint information
- Status:
- Complete
- Approver:
- Steve Langasek
- Priority:
- High
- Drafter:
- Barry Warsaw
- Direction:
- Approved
- Assignee:
- Barry Warsaw
- Definition:
- Approved
- Series goal:
- Accepted for trusty
- Implementation:
- Implemented
- Milestone target:
- None
- Started by
- Barry Warsaw
- Completed by
- Barry Warsaw
Related branches
Related bugs
Bug #1283571: ofono-scripts must be ported to python3 | Fix Released |
Bug #1283574: packagekit-backend-aptcc pulls in python2 | Fix Released |
Whiteboard
Python 2 autopilot will be provided by the autopilot-legacy package, which will be eliminated asap in utopic. autopilot package will only provide Python 3.
Server pulls in Python 2 because of byobu, landscape-common, and vim. For vim we have: http://
Desktop has more dependencies.
Packages needing Python 3 port for 14.04 spreadsheet:
https:/
== AUTOPILOT migration to python3 ==
* Keep emulators bilingual for now (Python 2 and 3).
* Port all tests to Python 3.
* Eventually we will drop support for Python 2 emulators.
* Change Build-Depends for unported apps to use autopilot-
Upload debs and clicks using python3:
- for debs, drop /usr/lib/python2.7 tests and ship them in /usr/lib/python3
- for clicks, specify x-test:
path to tests module.
== BLOCKERS ==
$ adb shell click list --manifest
with no clicks missing python3 support (x-test)
== TODO (.debs, not a blocker for removal of python2 from the image) ==
dialer_app
https:/
merge proposed
mediaplayer_app
https:/
merge proposed
online_accounts_ui
messaging_app
https:/
merge proposed
ubuntu_
Smoke test blockers: http://
Review: https:/
$ adb shell click list --manifest -- and search for missing x-test keys
Work Items
Work items:
[barry] talk with landscape guys about porting landscape-client: DONE
[barry] get python3 vim into debian for server: TODO
[barry] work with dustin on byobu python3 transition: DONE
[doko] package up 3.4; do test rebuild w/3.4 support: DONE
[doko] test rebuild w/3.4 as default: INPROGRESS
analyze build failures: TODO
[barry] get authorative list of all autopilot tests we care about, in a form which we can directly use on a device: DONE
[barry] phablet-test-run should know (or be able to be told) when to run autopilot-py3: DONE
[barry] set up an autopilot test env on a device, ignoring jenkins, where we can run all of these tests and find out which ones need porting to py3: INPROGRESS
[barry] identify python3 autopilot test failures: TODO
[barry] port/fix py3 autopilot test failures: TODO
[barry] port address-book-app to autopilot-py3: DONE
[barry] submit patches/mps to official branches, to verify there are no py2 regressions, while waiting for ci to enable py3 testing: TODO
flip autopilot bit in archive to be python3: TODO
[barry] work with ci team on autopilot python3 migration: DONE
[doko] contact reportlab upstream about python 3 support: DONE
[doko] package reportlab for python 3 (done in experimental): INPROGRESS
virtual hackfest/sprint for looking at 3.4 transition build failures: TODO
[barry] re-evaluate desktop requirements for moving closer to a python3 world: TODO