maintainer-feedback requested: [Bug 224007] devel/p5-MooseX-Getopt: Escape cyclic dependencies

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Nov 30 22:33:21 UTC 2017


Sergei Vyshenski <svysh.fbsd at gmail.com> has reassigned Bugzilla Automation
<bugzilla at FreeBSD.org>'s request for maintainer-feedback to perl at FreeBSD.org:
Bug 224007: devel/p5-MooseX-Getopt: Escape cyclic dependencies
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224007



--- Description ---
Created attachment 188439
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=188439&action=edit
patch to update the port

- fix BUILD_DEPENDS and TEST_DEPENDS to prevent cyclic dependencies (see below)
- "portlint -AC" gives non-relevant warns.
- testport of poudriere 3.2.99.20171127 at 11.1-release-amd64 with perl 5.24.3
runs ok.
- "make test" for this port (as run from within the same poudriere's jail) say:
"PASS".

port (1) 
devel/p5-MooseX-Getopt (author Karen Etheridge, maintainer perl@)
	depends from port devel/p5-MooseX-ConfigFromFile as BUILD_DEPENDS
	(but module MooseX::Getopt depends from module MooseX::ConfigFromFile
only as a "test-prereq")
	http://search.cpan.org/~ether/MooseX-Getopt-0.71/

port (2) 
devel/p5-MooseX-ConfigFromFile (author Karen Etheridge, maintainer kuriyama@)
	depends from port devel/p5-MooseX-Types-Path-Tiny as BUILD_DEPENDS
	http://search.cpan.org/~ether/MooseX-ConfigFromFile-0.14/

port (3) 
devel/p5-MooseX-Types-Path-Tiny (author Karen Etheridge, maintainer kuriyama@)
	does NOT depend from port devel/p5-MooseX-Getopt as BUILD_DEPENDS
	(but module MooseX::Types::Path::Tiny _explicitly_ depends from module
MooseX::Getopt as a "prereq")
	http://search.cpan.org/~ether/MooseX-Types-Path-Tiny-0.012/

Very often all ports (1,2,3) are installed simultaneously as a common
dependensies of other ports. This may be a reason why the found inconsistency
managed to stay hidden for so long. But port (3) if installed by itself is not
functional in present state, due to missing run_dependency from port (1). 

Let "A -> B" mean that A depends from B as BUILD_DEPENDS
Let "A ? B" mean that A does NOT depend from B as BUILD_DEPENDS

At present we have build_dependencies of ports (1,2,3) as follows: 
	1 -> 2 -> 3 ? 1
We can not simply add a new build_dependency "devel/p5-MooseX-Getopt" to the
port devel/p5-MooseX-Types-Path-Tiny. Because this way we get a cycle of
dependencies as:
	1 -> 2 -> 3 -> 1
But we can arrange build_dependencies of ports (1,2,3) as follows: 
	1 ? 2 -> 3 -> 1
with all ports (1,2,3) fully functional this time.

For this we have to simultaneously edit two ports:

(1) devel/p5-MooseX-Getopt
	- move devel/p5-MooseX-ConfigFromFile from BUILD_DEPENDS to
TEST_DEPENDS
	(see patch of this PR)

(3) devel/p5-MooseX-Types-Path-Tiny
	- add devel/p5-MooseX-Getopt to BUILD_DEPENDS
	see PR No 224006:
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224006

Maybe exp-run is needed after editing of BOTH ports (1,3), as 
	16 ports depend from devel/p5-MooseX-Getopt,
	 4 ports depend from devel/p5-MooseX-Types-Path-Tiny


More information about the freebsd-perl mailing list