[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

ports/92711: PERL_{BUILD,RUN}_DEPENDS fundamentally broken



>Number:         92711
>Category:       ports
>Synopsis:       PERL_{BUILD,RUN}_DEPENDS fundamentally broken
>Confidential:   no
>Severity:       serious
>Priority:       high
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Feb 02 00:30:04 GMT 2006
>Closed-Date:
>Last-Modified:
>Originator:     Ade Lovett
>Release:        FreeBSD 6.0-STABLE i386
>Organization:
>Environment:

Not relevant.

>Description:

Current implementation of PERL_{BUILD,RUN}_DEPENDS is fundamentally
broken:

1.  ports flagged in PERL_{BUILD,RUN}_DEPENDS do not make it into
    the equivalent {BUILD,RUN}_DEPENDS list.

(a) dependencies will not be registered

(b) package building clusters and tinderboxes will attempt to recompile
    the port every single time (and often fail mysteriously) as opposed
    to using a pre-built package

(c) INDEX for such ports will be incomplete, breaking tools such as
    portupgrade that rely on such information


2.  the "convenience" of such a function is minimal.  Indeed, it's not
    even possible to write the actual module name (eg: Foo::Bar), rather
    it has to be manually altered to Foo-Bar

    So we're comparing:

	BUILD_DEPENDS= ${SITE_PERL}/Foo/Bar.pm:${PORTSDIR}/...
    vs
	PERL_BUILD_DEPENDS= Foo-Bar:${PORTSDIR}/...

    saving a whole 11 characters.

>How-To-Repeat:

Not relevant.

>Fix:

The current half-baked implementation should be removed with extreme
prejudice before it spreads further than the handful of ports that are
currently using it.

This is not to say that a PERL_{BUILD,RUN}_DEPENDS concept is broken
in and of itself, however the major issues listed above far, far
outweigh any possible convenience.  Particularly as we're coming up
to 5.5/6.1, an implementation should be developed within the confines
of devel/portmk, thoroughly tested to address the issues raised above,
then, and only then, let loose in the tree.
>Release-Note:
>Audit-Trail:
>Unformatted: