Opened at 2016-04-01T17:06:48Z
Closed at 2020-01-17T16:35:55Z
#2765 closed defect (wontfix)
debian 1.11.0-1 package looks broken without cffi, enum34, pycparser
| Reported by: | warner | Owned by: | daira |
|---|---|---|---|
| Priority: | normal | Milestone: | soon (release n/a) |
| Component: | packaging | Version: | 1.11.0 |
| Keywords: | debian | Cc: | vu3rdd |
| Launchpad Bug: |
Description
I updated my debian/sid box to the new tahoe-lafs-1.11.0-1 debian package today, and also did an apt-get autoremove which removed python-cffi and python-pycparser.
The resulting /usr/bin/tahoe fails at startup, because of our (#2749) internal version checks. The error message looks like this:
warner@cernio3:~$ tahoe --version
tahoe-lafs: 1.11.0 [master: 04a3e7993f70ac87c208d61f4387a59f5f419367]
foolscap: 0.10.1
pycryptopp: 0.6.0.1206569328141510525648634803928199668821045408958
zfec: 1.4.5
Twisted: 16.0.0
Nevow: 0.13.0
zope.interface: unknown
python: 2.7.11+
platform: Linux-debian_stretch/sid-x86_64-64bit_ELF
pyOpenSSL: 0.15.1
OpenSSL: 1.0.2g [ 1 Mar 2016]
simplejson: 3.8.1
pycrypto: 2.6.1
pyasn1: 0.1.9
service-identity: 16.0.0
characteristic: 14.3.0
pyasn1-modules: 0.0.7
cryptography: 1.2.3
cffi: None [(<type 'exceptions.ImportError'>, 'No module named cffi', ('/usr/lib/python2.7/dist-packages/allmydata/__init__.py', 239, 'get_package_versions_and_locations', '__import__(modulename)'))]
six: 1.10.0
enum34: 1.1.2
pycparser: None [(<type 'exceptions.ImportError'>, 'No module named pycparser', ('/usr/lib/python2.7/dist-packages/allmydata/__init__.py', 239, 'get_package_versions_and_locations', '__import__(modulename)'))]
setuptools: 20.3.1
idna: 2.0 [according to pkg_resources]
Warning: dependency 'cffi' (version None imported from None) was not found by pkg_resources.
Warning: dependency 'enum34' (version '1.1.2' imported from '/usr/lib/python2.7/dist-packages') was not found by pkg_resources.
Warning: dependency 'pycparser' (version None imported from None) was not found by pkg_resources.
For debugging purposes, the PYTHONPATH was
None
install_requires was
['setuptools >= 11.3', 'zfec >= 1.1.0', 'simplejson >= 1.4', 'zope.interface >= 3.6.0, != 3.6.3, != 3.6.4', 'foolscap >= 0.10.1', 'pycrypto >= 2.1.0, != 2.2, != 2.4', 'pycryptopp >= 0.6.0', 'service-identity', 'characteristic >= 14.0.0', 'pyasn1 >= 0.1.8', 'pyasn1-modules >= 0.0.5', 'Twisted[tls] >= 15.1.0', 'Nevow >= 0.11.1', 'pyOpenSSL >= 0.14']
sys.path after importing pkg_resources was
/usr/bin:
/usr/lib/python2.7:
/usr/lib/python2.7/plat-x86_64-linux-gnu:
/usr/lib/python2.7/lib-tk:
/usr/lib/python2.7/lib-old:
/usr/lib/python2.7/lib-dynload:
/usr/local/lib/python2.7/dist-packages:
/usr/lib/python2.7/dist-packages
In retrospect, that's not actually a failure, but the successful list of versions scrolled off the screen, and what was left visible looked like a failure, so I'm going to claim that this is still a problem (to be fair, I'll note that tahoe create-introducer ran without noise).
We need to remove the transitive dependencies from our _auto_deps.py.
To fix this on Debian, I think the Debian package needs to either patch _auto_deps.py (which might involve patching __init__.py, I'm not sure), or re-introduce Depends: on the packages it wants (python-cffi, python-pycparser, maybe? I don't even know what that enum34 thing is, it's not in our install_requires= but it is listed in _auto_deps.py).
Or just delete all of __init__.py like #2749 suggests :).
Change History (2)
comment:1 Changed at 2016-04-01T17:17:04Z by warner
comment:2 Changed at 2020-01-17T16:35:55Z by exarkun
- Resolution set to wontfix
- Status changed from new to closed
Debian has since updated their package. Debian is also dropping Tahoe-LAFS due to lack of Python 3 support.

Installing python-cffi (which pulls in python-pycparser) is not sufficient to make it stop complaining. It changes the warning message for those two packages, though: