Bug #15945
Drop Python 2 in Tails 5.0
80%
Description
Files
Related issues
Related to Tails - |
Resolved | 2018-04-17 | |
Blocks Tails - Feature #16209: Core work: Foundations Team | Confirmed |
History
#1 Updated by lamby 2019-01-06 11:11:00
- File 2019-01-06_12-09.png added
See attached image for the current packages blocking this removal.
#2 Updated by hefee 2019-01-06 12:09:01
From the screenshot you sent I searched for entries in the tails-common.list that we surly want to keep:
- bookletimposer - GTK interface for pdfimposer
- gnome-control-center
- ibus-pinyin - chinese input method
- tails-installer
- inkscape
- scribus (scribus-ng also still depdends on Python2)
- mat
- monkeysign
- python-dogtail - our test suite needs this
All in all it looks not achievable for buster to get rid of Python2.
apt install python- bookletimposer gnome-control-center ibus-pinyin tails-installer inkscape scribus-ng mat monkeysign python-dogtail
Reading package lists... Done
Building dependency tree
Reading state information... Done
bookletimposer is already the newest version (0.2-5).
gnome-control-center is already the newest version (1:3.30.2-2).
ibus-pinyin is already the newest version (1.5.0-5).
inkscape is already the newest version (0.92.3-7).
mat is already the newest version (0.6.1-5).
monkeysign is already the newest version (2.2.4).
python-dogtail is already the newest version (0.9.9-2).
scribus-ng is already the newest version (1.5.4+dfsg-3).
tails-installer is already the newest version (5.0.13+dfsg-0tails1).
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
bookletimposer : Depends: python-pypdf2 but it is not going to be installed
Depends: python:any (< 2.8)
Depends: python:any (>= 2.7.5-5~)
Depends: python-gi but it is not going to be installed
ibus-pinyin : Depends: python-gi but it is not going to be installed
Depends: python-xdg but it is not going to be installed
Depends: python:any
inkscape : Depends: python:any
mat : Depends: python-mutagen but it is not going to be installed
Depends: python-pdfrw but it is not going to be installed
Depends: python:any (< 2.8)
Depends: python:any (>= 2.7~)
Depends: python-gi but it is not going to be installed
monkeysign : Depends: python-socks but it is not going to be installed
Depends: python:any (< 2.8)
Depends: python:any (>= 2.7.5-5~)
Depends: python-pkg-resources but it is not going to be installed
python-dogtail : Depends: python-apt (>= 0.7.93) but it is not going to be installed
Depends: python-gi but it is not going to be installed
Depends: python-gi-cairo but it is not going to be installed
Depends: python-pyatspi but it is not going to be installed
Depends: python (< 2.8) but it is not going to be installed
Depends: python (>= 2.7) but it is not going to be installed
Depends: python:any (>= 2.6.6-7~)
python-talloc : Depends: python (< 2.8) but it is not going to be installed
Depends: python (>= 2.7~) but it is not going to be installed
Depends: python:any (< 2.8)
Depends: python:any (>= 2.7~)
scribus-ng : Depends: python-tk but it is not going to be installed
Depends: scribus-ng-data (= 1.5.4+dfsg-3) but it is not going to be installed
Depends: libopenscenegraph-3.4-131 but it is not going to be installed
tails-installer : Depends: python (< 2.8) but it is not going to be installed
Depends: python (>= 2.7) but it is not going to be installed
Depends: python:any (>= 2.6.6-7~)
Depends: python-configobj but it is not going to be installed
Depends: python-gi but it is not going to be installed
Depends: python-urlgrabber but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
#3 Updated by hefee 2019-01-06 12:10:12
- Status changed from Confirmed to Rejected
#4 Updated by intrigeri 2019-01-06 12:44:49
> From the screenshot you sent I searched for entries in the tails-common.list that we surly want to keep:
> * bookletimposer - GTK interface for pdfimposer
Let’s report a bug (+ forward upstream) to get it ported to Python 3. Either way, could be removed IMO, I’m pretty sure very few users need it and now we have a good Additional Software feature.
> * gnome-control-center
I’m curious how this (transitively?) depends on Python 2.
> * tails-installer
Should be relatively easy to port, modulo text encoding.
> * inkscape
Could be removed IMO → Additional Software.
> * scribus (scribus-ng also still depdends on Python2)
Could be removed IMO → Additional Software.
> * mat
Deprecated. Should be replaced by mat2 which is Python 3, see Debian BTS for the last blocker.
> * monkeysign
Abandoned upstream, could be removed IMO: Feature #11240.
> * python-dogtail - our test suite needs this
> All in all it looks not achievable for buster to get rid of Python2.
Given the above, apart of gnome-control-center
which remains to be researched and might be a blocker, the blockers seem to be:
- dogtail → mostly Debian packaging work that we could do ourselves (not sure what’s going on there:
Feature #12185#note-31); needs one new binary package, has to go through NEW - mat2 → mostly Debian packaging work that we could do ourselves; not trivial though, one package needs to be split, has to go through NEW
- Tails Installer: Python coding work
- reach an agreement about “yes we can stop shipping packages X and Y by default”
We could surely do this in time for 4.0 if we focused on it now (so things are done before the freeze) but I agree it’s not cheap.
I propose we 1. file bugs wherever relevant to ensure things are fixed in time for Bullseye (clearly we’re starting this too late this time); 2. postpone to Tails 5.0.
#5 Updated by intrigeri 2019-01-06 13:01:31
- Status changed from Rejected to In Progress
- Assignee changed from hefee to intrigeri
> I propose we 1. file bugs wherever relevant to ensure things are fixed in time for Bullseye (clearly we’re starting this too late this time); 2. postpone to Tails 5.0.
I’ll do that — unless hefee wants it — because I’d rather not be in almost the same situation in 2 years.
#6 Updated by intrigeri 2019-04-02 14:37:33
- related to
Feature #15291: Remove less popular packages that users could install themselves added
#7 Updated by intrigeri 2019-04-02 14:40:05
The Nautilus extension for MAT2 in Buster is Python 2 and there’s no way this changes. But for Bullseye hopefully python-nautilus
will support Python 3.
#8 Updated by intrigeri 2019-04-02 14:43:26
- Subject changed from Drop Python 2 in Tails 4.0 if it's cheap to Drop Python 2 in Tails 5.0
Next steps:
- ensure we have a ticket about porting tails-installer to Python3
- file an upstream bug about bookletimposer
- postpone this ticket to 5.0
#9 Updated by intrigeri 2019-04-02 14:52:18
- Type of work changed from Test to Code
#10 Updated by intrigeri 2019-04-02 15:02:09
- Assignee deleted (
intrigeri) - Priority changed from Low to Normal
- Target version changed from Tails_4.0 to Tails_5.0
intrigeri wrote:
> Next steps:
>
> # ensure we have a ticket about porting tails-installer to Python3
Feature #10085, which is now a subtask of this very ticket.
> # file an upstream bug about bookletimposer
Filed https://bugs.debian.org/926244, Cc’ing the upstream author.
> # postpone this ticket to 5.0
Boom!
#11 Updated by intrigeri 2019-08-31 14:03:14
- Status changed from In Progress to Confirmed
#12 Updated by intrigeri 2019-12-01 08:26:52
- blocks Feature #16209: Core work: Foundations Team added