Package: python-foolscap Version: 0.3.2.dfsg-1 Severity: normal [note: I'm the upstream author of Foolscap]
Hey there.. first off, thanks for getting foolscap into debian! I'm running into a problem that results from differences between the .deb package that I used to build locally (which uses the packaging rules in the foolscap mercurial repository in the misc/sid/debian/ directory) and the new package that just arrived in sid. Our "Tahoe" project uses setuptools and pkg_resources to declare its dependencies. When it announces a dependency on foolscap, it also requires an "extra feature" named [secure_connections]. Foolscap announces that it provides this extra feature, but only when the pyOpenSSL package is available. We use this combination to make sure that everything gets built from source correctly. The foolscap 'setup.py' makes this announcement by adding an extra argument to the call to setup(): setup_args['extras_require'] = { 'secure_connections' : ["pyOpenSSL"] } The problem is that the package that is currently in sid does not make this announcement, so Tahoe fails to build against it. There's a one-line shell command you can use to see if the installed foolscap package provides this feature or not: python -c 'from pkg_resources import require; require("foolscap[secure_connections]")' When run against my old package, it exits silently. When run against the new package from sid, it complains: % python -c 'from pkg_resources import require; require("foolscap[secure_connections]")' Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 626, in require needed = self.resolve(parse_requirements(requirements)) File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 529, in resolve requirements.extend(dist.requires(req.extras)[::-1]) File "/usr/lib/python2.5/site-packages/pkg_resources.py", line 2115, in requires "%s has no such extra feature %r" % (self, ext) pkg_resources.UnknownExtra: foolscap 0.3.2 has no such extra feature 'secure_connections' Since the extras_require= argument in the foolscap setup.py is conditionalized upon the availability of setuptools (so it can run even without setuptools), the problem might simply be that the sid package was built in an environment where setuptools was unavailable. If so, the simplest fix is probably to add python-setuptools to the "Build-Depends:" line. I noticed that the sid package installs fewer egg-related files than my old package did, but I think that's related to the lack of setuptools during the build. When I debuild the package on a setuptools-capable machine, there are more .egg-info files in the .deb, including a foolscap-0.3.2.egg-info/requires.txt which mentions the [secure_connections] feature. thanks! -Brian -- System Information: Debian Release: 5.0 APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.22.1 Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968) Shell: /bin/sh linked to /bin/bash Versions of packages python-foolscap depends on: ii python 2.5.2-3 An interactive high-level object-o ii python-central 0.6.8 register and build utility for Pyt ii python-twisted-core 8.1.0-4 Event-based framework for internet ii python-twisted-web 8.1.0-1 An HTTP protocol implementation to ii python-zopeinterface 3.3.1-7 The implementation of interface de Versions of packages python-foolscap recommends: hi python-openssl 0.6-5 Python wrapper around the OpenSSL ii python-twisted-names 8.1.0-1 A DNS protocol implementation with python-foolscap suggests no packages. -- no debconf information -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org