Opened 11 years ago
Closed 11 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)
Change History (5)
Changed 11 years ago by
| Attachment: | install-without-service_identity.txt added |
|---|
Changed 11 years ago by
| Attachment: | install-with-service_identity.txt added |
|---|
install log *with* service_identity dependency
comment:1 Changed 11 years ago by
Installing it with pip install foolscap.tar.gz works fine (and looks rather different: it uses cached tarballs, for one).
comment:2 Changed 11 years ago by
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 11 years ago by
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
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).

install log *without* service_identity dependency