Opened 9 years ago

Closed 9 years ago

#231 closed defect (fixed)

hush "missing service_identity" warning from Twisted

Reported by: Brian Warner Owned by:
Priority: major Milestone: 0.8.0
Component: packaging Version: 0.7.0
Keywords: Cc:

Description

Modern Twisted complains if you use SSL but it cannot import the service_identity module. This module parses X.590 certificates to check things like SubjectName and CommonName. Foolscap doesn't use these (it just hashes the entire certificate), but the only sane way to suppress the warning is to install service_identity.

However doing this from setup.py install_require= runs into some sort of packaging bug: python setup.py install complains that it can't find pyasn1 (full install log attached). This is weird, because it found pyasn1 just fine when I omitted service_identity from the dependency list. Maybe something to do with the order in which the deps were searched and installed?

Attachments (2)

install-without-service_identity.txt (35.2 KB) - added by Brian Warner 9 years ago.
install log *without* service_identity dependency
install-with-service_identity.txt (30.1 KB) - added by Brian Warner 9 years ago.
install log *with* service_identity dependency

Download all attachments as: .zip

Change History (5)

Changed 9 years ago by Brian Warner

install log *without* service_identity dependency

Changed 9 years ago by Brian Warner

install log *with* service_identity dependency

comment:1 Changed 9 years ago by Brian Warner

Installing it with pip install foolscap.tar.gz works fine (and looks rather different: it uses cached tarballs, for one).

comment:2 Changed 9 years ago by Brian Warner

Also, running python setup.py install twice in a row works ok. The first pass fails, but leaves pyasn1 in place, and the second pass sees it and completes successfully.

This sounds like a problem we had in Tahoe a while back, where one of our dependencies was importing (or trying to import) a subdependency during its build process, and the old/missing file got "stuck". That process was forever tainted, and was never able to believe the presence of a newer version.

comment:3 Changed 9 years ago by Brian Warner

Resolution: fixed
Status: newclosed

Ok, we're adding service_identity as a dependency, and changing the README to recommend pip install . rather than setup.py install. From what I hear, pip is preferred these days, and doesn't happen to hit this problem.

We'll investigate the root problem later (probably some other dependency's setup.py requiring something without using a setup_requires= declaration).

Note: See TracTickets for help on using tickets.