Feature #5875

Make sure all the Python 3 libraries we need are in Jessie

Added by Tails 2013-07-18 07:47:32 . Updated 2014-09-15 14:21:51 .

Status:
Resolved
Priority:
High
Assignee:
alant
Category:
Target version:
Start date:
2013-07-19
Due date:
2014-08-31
% Done:

100%

Feature Branch:
Type of work:
Code
Starter:
0
Affected tool:
Deliverable for:

Description

Check and report before Q2 2014 if all the libraries we need to convert our custom Python software to Python 3 are in Jessie


Subtasks

Feature #6175: List Python 3 libraries we need that are missing in Debian Jessie Resolved alant

100

Feature #7788: Update pycountry in Debian to support Python 3 Resolved

100

Feature #7789: Package python3-configobj Resolved

0

Feature #7790: Package Isis' python-gnupg Rejected

0

Feature #7791: Investigate the need for python-gnutls Resolved

100


Related issues

Related to Tails - Feature #5958: Port our custom software to Python 3 In Progress 2015-08-24
Related to Tails - Feature #5701: Port Tails Greeter to Python 3 Resolved
Related to Tails - Feature #9311: Update status of Python 3 migration Resolved 2015-05-01

History

#1 Updated by intrigeri 2013-07-19 09:38:51

  • Subject changed from check whether all the libraries we need are in Python 3 to Make sure all the Python 3 libraries we need are in Jessie
  • Type of work changed from Test to Code
  • Starter set to No

#2 Updated by intrigeri 2013-07-19 09:39:12

  • Due date set to 2014-05-31

#3 Updated by BitingBird 2014-06-20 13:41:04

  • blocked by Bug #7423: Have what we need included in Debian Jessie added

#4 Updated by BitingBird 2014-06-20 13:44:08

  • blocks deleted (Bug #7423: Have what we need included in Debian Jessie)

#5 Updated by BitingBird 2014-06-20 13:44:26

#6 Updated by intrigeri 2014-06-20 14:06:30

  • related to deleted (Feature #5958: Port our custom software to Python 3)

#7 Updated by intrigeri 2014-06-20 14:06:51

  • related to Feature #5958: Port our custom software to Python 3 added

#8 Updated by intrigeri 2014-06-29 10:19:11

  • Blueprint set to https://tails.boum.org/blueprint/python3/

#9 Updated by maker 2014-06-30 20:13:32

Hi,

I’m writing this to notify that the proposition “StringIO: no Python 3 in Debian” in [0] is not truly exact:
the `StringIO` module is included in the stdlib, and available in python3 as `io.StringIO` or `io.BytesIO`.
Moreover, as far as I can tell the `io` module have been backported in python >= 2.6 [1].
Therefore, I think this specific case concerns only the Tails installer source code.

Shall I open another issue for this? If so, would you mind posting the exact files including `StringIO`?

[0] <https://tails.boum.org/blueprint/python3/>
[1] <https://docs.python.org/2/library/stringio.html#module-StringIO>

#10 Updated by intrigeri 2014-07-01 11:54:18

> I’m writing this to notify that the proposition “StringIO: no Python 3 in Debian” in [0] is not truly exact:
> the `StringIO` module is included in the stdlib, and available in python3 as `io.StringIO` or `io.BytesIO`.

Thanks for the input! Feel free to edit the blueprint directly next time, it’s editable online.

> Shall I open another issue for this?

Not needed, since there’s actually no problem to solve :)

> If so, would you mind posting the exact files including `StringIO`?

Tails Installer lives in https://git-tails.immerda.ch/liveusb-creator

Cheers!

#11 Updated by maker 2014-07-05 10:56:24

>> If so, would you mind posting the exact files including `StringIO`?
> Tails Installer lives in https://git-tails.immerda.ch/liveusb-creator
Thank you.

Porting pycountry to python3 have been quite straightfoward, my solution resides in
<http://mentors.debian.net/debian/pool/main/p/pycountry/pycountry_0.14.1+ds1-3.1.dsc>.

Shall I open a new issue on bugs.debian.org and look for mentors, or what?
Not sure this mentoring thing applies in this case.


m.

#12 Updated by intrigeri 2014-07-07 09:34:24

> Porting pycountry to python3 have been quite straightfoward, my solution resides in
> <http://mentors.debian.net/debian/pool/main/p/pycountry/pycountry_0.14.1+ds1-3.1.dsc>.

I notice upstream has already done this work in the 0.15 release: https://pypi.python.org/pypi/pycountry/
Did you backport their changes, or did you do it anew?

Maybe the best path forward would be to file a wishlist bug against the pycountry package, asking the maintainers to package the latest upstream release (or at least 0.15+). Of course, doing that work yourself / ourselves and submitting it to the maintainer would be appreciated :)

#13 Updated by maker 2014-07-11 14:27:39

#14 Updated by intrigeri 2014-07-12 10:09:29

> * cross fingers * <https://bugs.debian.org/754364>

Thanks a lot! I’ve usertagged that bug “for-jessie” so that it’s on our radar.

#15 Updated by intrigeri 2014-07-20 16:39:16

#16 Updated by BitingBird 2014-07-24 20:23:55

  • Target version set to Tails_1.2.1

#17 Updated by intrigeri 2014-08-16 23:35:56

  • Target version changed from Tails_1.2.1 to Tails_1.2

Actually, 1.2.1 will be out after the freeze, so rescheduling. Having this done for 1.2 is quite late already, given the current state of the NEW queue.

#18 Updated by maker 2014-08-29 16:00:55

As of today, python3-pycountry and python3-configobj are available in debian unstable.
I’ve update the wiki accordingly.

The only ones surviving now are `python-gnupg` and `gnutls`.
Concerning the latter, I see in whisperback::

$ git grep gnutls
ChangeLog: * CA certificates handeling with libgnutls
debian/control:Depends: ${misc:Depends}, ${python:Depends}, python-gnupginterface, python-gnutls, python-gtk2, python-webkit
setup.py:    requires=['gtk', 'GunPGInterface', 'gnutls'],
whisperBack/mail.py:import gnutls.errors
whisperBack/mail.py:        from gnutls.crypto import X509Certificate
whisperBack/mail.py:        from gnutls.connection import ClientSession, X509Credentials
whisperBack/mail.py:            except gnutls.errors.OperationWouldBlock:
whisperBack/mail.py:                except gnutls.errors.OperationWouldBlock:
whisperBack/mail.py:                except gnutls.errors.OperationWouldBlock:


Python3 provides the `ssl` module in standard library, that can probably assolve the same functionalities. Moreover, it has been backported also to python2’s standard library. Would it be appreciated a patch removing pygnutls as dependency?

#19 Updated by maker 2014-08-29 16:07:04

redmine@labs.riseup.net writes:

[sry]

> I’ve update the wiki accordingly.
*updated

> Python3 provides the `ssl` module in standard library, that can
> probably assolve the same functionalities. Moreover, it has been
*absolve

> backported also to python2’s standard library. Would it be appreciated
> a patch removing pygnutls as dependency?
Specifically, `ssl` is available on python >= 2.6.
<https://docs.python.org/2/library/ssl.html>


m.

#20 Updated by intrigeri 2014-08-29 17:44:46

maker wrote:
> Would it be appreciated a patch removing pygnutls as dependency?

Replied on Feature #7791, that I therefore assigned to you :)

#21 Updated by intrigeri 2014-09-14 20:37:10

  • Assignee set to alant
  • QA Check set to Info Needed

This task seems completed to me. Alan, any reason you see to keep it around?

#22 Updated by alant 2014-09-15 14:21:51

  • Status changed from Confirmed to Resolved
  • QA Check deleted (Info Needed)

#23 Updated by intrigeri 2015-05-01 06:59:02

  • related to Feature #9311: Update status of Python 3 migration added