Opened 5 years ago

Closed 5 years ago

#22581 closed defect (fixed)

lack of service_identity Python package creates doctest failure

Reported by: vdelecroix Owned by:
Priority: blocker Milestone: sage-8.1
Component: packages: optional Keywords: days84
Cc: mderickx Merged in:
Authors: Jeroen Demeyer Reviewers: Vincent Delecroix
Report Upstream: N/A Work issues:
Branch: 980ab31 (Commits, GitHub, GitLab) Commit: 980ab3108fefdf7c2c75fa932713100292a269ab
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

On a fresh build of Sage with pyopenssl installed, the test suite breaks at many places with complaints from service_identity not being installed. This is because a warning a printed when importing twisted:

:0: UserWarning: You do not have a working installation of the service_identity module: 'No module named service_identity'.  Please install it from <https://pypi.python.org/pypi/service_identity> and make sure all of its dependencies are satisfied.  Without the service_identity module and a recent enough pyOpenSSL to support it, Twisted can perform only rudimentary TLS client hostname verification.  Many valid certificate/hostname mappings may be rejected.

This causes various doctest failures, in particular in SageNB.

See also:

Change History (16)

comment:1 Changed 5 years ago by vdelecroix

  • Branch days84 deleted
  • Keywords days84 added

comment:2 Changed 5 years ago by jdemeyer

Details please... in particular can you show the actual doctest failure that you get?

comment:3 Changed 5 years ago by vbraun

  • Priority changed from blocker to major

I'll go out on a limb and say that whatever this is, its not a blocker.

comment:4 Changed 5 years ago by jdemeyer

  • Cc mderickx added
  • Component changed from packages: standard to packages: optional
  • Description modified (diff)
  • Priority changed from major to blocker

comment:5 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:6 Changed 5 years ago by vdelecroix

  • Milestone changed from sage-7.6 to sage-8.1

The description in #23540 that you decided to close as duplicate contains much more information than the one here...

comment:7 Changed 5 years ago by mderickx

This would be a trivial fix if sage's pip packages allowed for dependencies, but this is something that needs to be implemented a.f.a.i.k..

comment:8 Changed 5 years ago by jdemeyer

pip packages do support dependencies just like any other package. But you cannot have a dependency on a pip package, so service_identity should be an optional package.

comment:9 Changed 5 years ago by jdemeyer

  • Authors set to Jeroen Demeyer
  • Description modified (diff)

comment:10 Changed 5 years ago by jdemeyer

  • Description modified (diff)

comment:11 Changed 5 years ago by jdemeyer

  • Branch set to u/jdemeyer/lack_of_service_identity_python_package_creates_doctest_failure

comment:12 Changed 5 years ago by jdemeyer

  • Commit set to 980ab3108fefdf7c2c75fa932713100292a269ab
  • Status changed from new to needs_review

New commits:

980ab31Install pyopenssl together with service_identity

comment:13 follow-up: Changed 5 years ago by mderickx

Hi Jeroen,

I started to review this ticket, and the install script looks ok, but what are 'script' type packages? They are not mentioned in http://doc.sagemath.org/html/en/developer/packaging.html , and from reading the source code are also not listed by sage.misc.package.list_packages .

comment:14 in reply to: ↑ 13 Changed 5 years ago by jdemeyer

Replying to mderickx:

Hi Jeroen,

I started to review this ticket, and the install script looks ok, but what are 'script' type packages? They are not mentioned in http://doc.sagemath.org/html/en/developer/packaging.html , and from reading the source code are also not listed by sage.misc.package.list_packages .

They are a special case just like pip packages. Essentially, a script package is a package without sources: the spkg-install file is just run as a script.

comment:15 Changed 5 years ago by vdelecroix

  • Reviewers set to Vincent Delecroix
  • Status changed from needs_review to positive_review

At least it fixes the issue for my configuration. Setting to positive review.

comment:16 Changed 5 years ago by vbraun

  • Branch changed from u/jdemeyer/lack_of_service_identity_python_package_creates_doctest_failure to 980ab3108fefdf7c2c75fa932713100292a269ab
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.