Declares that it requires the test dependencies, but doesn't depend on them, breaking other python code

Bug #918307 reported by James Westby on 2012-01-18
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lazr.restfulclient
High
Unassigned
lazr.restfulclient (Debian)
Fix Released
Unknown
lazr.restfulclient (Ubuntu)
Undecided
Unassigned
Lucid
Undecided
Unassigned

Bug Description

Impact: code that uses lazr.restfulclient (or launchpadlib) and pkg_resources can't work. The python package declares that the test dependencies are required, but they aren't listed in the .deb dependencies, and so aren't installed. They aren't needed for the code so they should be dropped.

Development fix: Drop the requires on the test dependencies

Stable fix: the same thing

Test Case:
     1. Install the lazr.restfulclient package from -updates
     2. Check that van.testing, wsgi_intercept, lazr.restful and lazr.authentication are listed in the first section of /usr/share/pyshared/lazr.restfulclient-0.9.11.egg-info/requires.txt
     3. Install the lazr.restfulclient package from -proposed
     4. Check that those lines are now listed in a [tests] section.

Regression potential: low, as the packages haven't been installed as dependencies, and some aren't even packaged, so nothing should be relying on them being declared as dependencies.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lazr.restfulclient - 0.12.0-1ubuntu1

---------------
lazr.restfulclient (0.12.0-1ubuntu1) precise; urgency=low

  * Move test dependencies to extras_require so that setuptools doesn't think
    they are needed for the code to work. (LP: #918307)
    .
    Having them listed in requires, but not in the package dependencies leads
    to having a package installed that setuptools thinks is broken. This
    breaks any code that relies on lazr.restfulclient (or launchpadlib) and
    uses setuptools/pkg_resources.
 -- James Westby <email address hidden> Wed, 18 Jan 2012 12:50:39 -0500

Changed in lazr.restfulclient (Ubuntu):
status: New → Fix Released
Stefano Rivera (stefanor) wrote :

marking as affecting lazr.restfulclient, as it would be nice if this patch was applied upstream.

Changed in lazr.restfulclient (Debian):
status: Unknown → Fix Released
Aaron Bentley (abentley) on 2012-01-23
Changed in lazr.restfulclient:
status: New → Triaged
importance: Undecided → High
tags: added: trivial

Hello James, or anyone else affected,

Accepted lazr.restfulclient into lucid-proposed. The package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Changed in lazr.restfulclient (Ubuntu Lucid):
status: New → Fix Committed
tags: added: verification-needed
description: updated
Bartosz Kosiorek (gang65) wrote :

The package python-lazr.restfulclient from proposed works perfectly for me. I checked the /usr/share/pyshared/lazr.restfulclient-0.9.11.egg-info/requires.txt file, and it looks like:

httplib2
oauth
setuptools
wadllib>=1.1.4
zope.interface

[docs]
Sphinx
z3c.recipe.sphinxdoc

[tests]
lazr.authentication
lazr.restful>=0.9.18
wsgi_intercept
van.testing

Verification done.

tags: added: verification-done
removed: verification-needed
Michael Vogt (mvo) wrote :

I can confirm this as well.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package lazr.restfulclient - 0.9.11-1ubuntu1.3

---------------
lazr.restfulclient (0.9.11-1ubuntu1.3) lucid-proposed; urgency=low

  * Move test dependencies to extras_require so that setuptools doesn't think
    they are needed for the code to work. (LP: #918307)
    .
    Having them listed in requires, but not in the package dependencies leads
    to having a package installed that setuptools thinks is broken. This
    breaks any code that relies on lazr.restfulclient (or launchpadlib) and
    uses setuptools/pkg_resources.
 -- James Westby <email address hidden> Wed, 18 Jan 2012 12:16:35 -0500

Changed in lazr.restfulclient (Ubuntu Lucid):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.