[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


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224007

            Bug ID: 224007
           Summary: devel/p5-MooseX-Getopt: Escape cyclic dependencies
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
               URL: http://search.cpan.org/~ether/MooseX-Getopt-0.71/
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: perl at FreeBSD.org
          Reporter: svysh.fbsd at gmail.com
             Flags: maintainer-feedback?(perl at FreeBSD.org)
          Assignee: perl at FreeBSD.org

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

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-perl mailing list