Bug 220284 - devel/py-pytest and devel/py-py: circular dependency
Summary: devel/py-pytest and devel/py-py: circular dependency
Status: Closed Overcome By Events
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Po-Chuan Hsieh
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-06-26 12:23 UTC by Alexey Dokuchaev
Modified: 2018-03-05 17:39 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (python)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey Dokuchaev freebsd_committer freebsd_triage 2017-06-26 12:23:54 UTC
Currently, devel/py-pytest RUN_DEPENDS on devel/py-py, which in turn lists devel/py-pytest as its TEST_DEPENDS.  This creates circular dependency in environments when both RUN and TEST dependencies are attempted to install (e.g. in a tinderbox), breaking unattended builds of all ports that depend on these ports (like sysutils/qzeitgeist) and just does not look good in general.
Comment 1 Walter Schwarzenfeld 2018-01-17 15:02:50 UTC
Any news here?
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2018-02-22 09:08:29 UTC
I'll take a very good look at both project dependencies, but I am almost completely sure both dependencies are absolutely correct and necessary, in that pytest literally uses py library code and py uses pytest specific test suite & tests.
Comment 3 Po-Chuan Hsieh freebsd_committer freebsd_triage 2018-02-22 17:50:57 UTC
The dependencies are correct.
But we have to unregister either RUN_DEPENDS from py-pytest or TEST_DEPENDS from py-py to avoid circular dependency.
I plan to remove TEST_DEPENDS from py-py to avoid circular dependency.
Comment 4 commit-hook freebsd_committer freebsd_triage 2018-02-22 19:51:53 UTC
A commit references this bug:

Author: sunpoet
Date: Thu Feb 22 19:51:25 UTC 2018
New revision: 462637
URL: https://svnweb.freebsd.org/changeset/ports/462637

Log:
  Remove TEST_DEPENDS to avoid circular dependency

  PR:		220284
  Reported by:	danfe

Changes:
  head/devel/py-py/Makefile
Comment 5 Po-Chuan Hsieh freebsd_committer freebsd_triage 2018-02-22 19:59:49 UTC
Committed. Thanks!
Comment 6 Bryan Drewery freebsd_committer freebsd_triage 2018-02-23 01:43:34 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #3)
> The dependencies are correct.
> But we have to unregister either RUN_DEPENDS from py-pytest or TEST_DEPENDS
> from py-py to avoid circular dependency.
> I plan to remove TEST_DEPENDS from py-py to avoid circular dependency.

Where is the cyclic dependency you are fixing? I don't think any change to either
port is proper.

Really there is no cyclic dependency if you consider the whole picture.

Reading comment #0 I see:
py-pytest needs py-py installed to run.
py-py needs py-pytest installed to *test*.

No cyclic dependency present.

The real problem here is tinderbox (and is why Poudriere has not yet implemented
'make test').  Tinderbox needs to do 2 passes, build everything, then test
everything.

So the bug here is in TINDERBOX, not these ports.
Comment 7 commit-hook freebsd_committer freebsd_triage 2018-03-05 17:15:40 UTC
A commit references this bug:

Author: sunpoet
Date: Mon Mar  5 17:15:11 UTC 2018
New revision: 463662
URL: https://svnweb.freebsd.org/changeset/ports/463662

Log:
  Revert r462637

  PR:		220284
  Pointed out by:	bdrewery
  Reference:	https://lists.freebsd.org/pipermail/svn-ports-all/2018-February/175369.html
  		https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220284#c6

Changes:
  head/devel/py-py/Makefile
Comment 8 Po-Chuan Hsieh freebsd_committer freebsd_triage 2018-03-05 17:20:03 UTC
The commit is reverted.
Comment 9 Bryan Drewery freebsd_committer freebsd_triage 2018-03-05 17:39:22 UTC
(In reply to Sunpoet Po-Chuan Hsieh from comment #8)
> The commit is reverted.

Thank you.

For the record, I have been working towards getting 'make test' support in Poudriere.