Bug 234529 - devel/py-stevedore: Missing RUN_DEPENDS (pbr) since 1.28.0
Summary: devel/py-stevedore: Missing RUN_DEPENDS (pbr) since 1.28.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: Kubilay Kocak
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2018-12-31 13:30 UTC by Luís Carneiro
Modified: 2019-01-01 02:50 UTC (History)
3 users (show)

See Also:
koobs: maintainer-feedback? (nivit)
koobs: merge-quarterly-


Attachments
Subliminal Output (1000 bytes, text/plain)
2018-12-31 14:12 UTC, Luís Carneiro
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Luís Carneiro 2018-12-31 13:30:13 UTC
Hello :-)
My situation is the same as https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197373 
except that I use binary packages.
Thanks in advance!
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2018-12-31 13:42:09 UTC
(In reply to Luís Carneiro from comment #0)

Thank you for your report Luís

Could you please include a full log (build or runtime) as an attachment

I can see that pbr was removed from RUN_DEPENDS in ports r465381 (committer CC'd)
Comment 2 Luís Carneiro 2018-12-31 14:12:01 UTC
Created attachment 200655 [details]
Subliminal Output
Comment 3 Luís Carneiro 2018-12-31 14:18:11 UTC
(In reply to Luís Carneiro from comment #2)
I hope that this attachment helps.
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2018-12-31 14:35:20 UTC
(In reply to Luís Carneiro from comment #2)

Thank you. So...

stevedore:setup.py:setup_requires=['pbr>=2.0.0'],

So it appears at first look the error is not coming from stevedore's requirements

But:

stevedore:requirements.txt:pbr!=2.1.0,>=2.0.0 # Apache-2.0

This is super confusing since most people look only at setup.py for dependencies, but this is pbr.

The setup.py:setup_requires=pbr just bootstraps the rest of pbr, which processes setup.cfg/requirements.txt files for additional install_requires.

Good times.
Comment 5 commit-hook freebsd_committer 2018-12-31 15:11:39 UTC
A commit references this bug:

Author: koobs
Date: Mon Dec 31 15:11:15 UTC 2018
New revision: 488791
URL: https://svnweb.freebsd.org/changeset/ports/488791

Log:
  devel/py-stevedor: Add missing runtime dependency

  stevedor uses pbr, which declares its build time (setup_requires) dependency
  on it in setup.py. This is used to bootstrap pbr, which the package then uses to
  declare other dependencies in setup.cfg or requirements.txt files.

  stevedore declares the following in its requirements.txt file:

    pbr!=2.1.0,>=2.0.0 # Apache-2.0
    six>=1.10.0 # MIT

  These are install_requires (RUN_DEPENDS), normally declared in setup.py files
  for most python packages, notably except for those that use pbr.

  ports r465381 inadvertently removed pbr from RUN_DEPENDS because it wasn't
  listed in setup.py, which causes all consumers of stevedore to fail at runtime,
  including multimedia/py-subliminal [1], with the following error:

    pkg_resources.DistributionNotFound: The 'pbr!=2.1.0,>=2.0.0' distribution was not found stevedore

  This has happened before [2].

  Accordingly, this change re-adds pbr as a RUN_DEPENDS, and adds a comment
  explaining that it's required at runtime, with references to previous
  regressions to avoid footshooting in the future.

  [1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234529
  [2] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197373

  PR:		234529
  Reported by:	Lu?s Carneiro <luiscarneiro1993 yandex com>
  Approved by:	portmgr (blanket: run time, dependency fix, jfi)
  MFH:		2018Q4

Changes:
  head/devel/py-stevedore/Makefile
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2018-12-31 15:13:37 UTC
Thank you for the report Luís, hopefully this wont happen again (see commit log message) :)
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-01 02:50:23 UTC
2019Q1 has been branched