[tahoe-lafs-trac-stream] [Tahoe-LAFS] #2765: debian 1.11.0-1 package looks broken without cffi, enum34, pycparser

Tahoe-LAFS trac at tahoe-lafs.org
Fri Apr 1 17:06:48 UTC 2016


#2765: debian 1.11.0-1 package looks broken without cffi, enum34, pycparser
-----------------------+------------------------------------
 Reporter:  warner     |          Owner:  daira
     Type:  defect     |         Status:  new
 Priority:  normal     |      Milestone:  soon (release n/a)
Component:  packaging  |        Version:  1.11.0
 Keywords:  debian     |  Launchpad Bug:
-----------------------+------------------------------------
 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 at 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 :).

--
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2765>
Tahoe-LAFS <https://Tahoe-LAFS.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list