Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 30 Nov 2017 22:33:20 +0000
From:      bugzilla-noreply@freebsd.org
To:        perl@FreeBSD.org
Subject:   maintainer-feedback requested: [Bug 224007] devel/p5-MooseX-Getopt: Escape cyclic dependencies
Message-ID:  <bug-224007-14331-gVm0PpBLgy@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-224007-14331@https.bugs.freebsd.org/bugzilla/>
References:  <bug-224007-14331@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
Sergei Vyshenski <svysh.fbsd@gmail.com> has reassigned Bugzilla Automation
<bugzilla@FreeBSD.org>'s request for maintainer-feedback to perl@FreeBSD.or=
g:
Bug 224007: devel/p5-MooseX-Getopt: Escape cyclic dependencies
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D224007



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

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

port (1)=20
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)=20
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)=20
devel/p5-MooseX-Types-Path-Tiny (author Karen Etheridge, maintainer kuriyam=
a@)
	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 inconsisten=
cy
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).=20

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:=20
	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:=20
	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=3D224006

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-224007-14331-gVm0PpBLgy>