Port dependencies on p5-Test-*

Dag-Erling Smørgrav des at des.no
Tue Feb 26 15:35:22 UTC 2008


Anton Berezin <tobez at tobez.org> writes:
> Dag-Erling Smørgrav <des at des.no> writes:
> > Why?  If perl isn't installed, build that first.
> > If perl is installed, use 'perl -M$MODULE -e "1;"' to check whether the
> > module exists, or if a certain version is required, 'perl -e "use $MODULE
> > $VERSION;"'
>
> I think it is a bad idea, because
>
>  - you need the "build that first" part (currently we create the complete
>    list of direct dependencies before actually building anything; too many
>    things to change with regard to our current procedure if we get rid of
>    this constraint);

The rest of the ports tree checks every dependency right before building
it; I don't see why Perl ports should be any different.

>  - we introduce modules into the equation when before we had only ports and
>    packages to worry about;

Why?  I don't see what the difference is between "check if gcc34 exists,
otherwise install lang/gcc34" and "check if Test::Unit exists, otherwise
install devel/p5-Test-Unit".

Or would you say that dependency tests on binaries "introduce binaries
into the equation when before we had only ports and packages to worry
about"?

>  - "use $MODULE" might have unanticipated side effects since a bunch of
>    preamble code is executed [this is not a security risk as such (a
>    malicious port can do worse things already), but as a general principle I
>    don't like that];

OK, most of these ports define their dependencies in Makefile.PL.  Guess
how ExtUtils::MakeMaker checks for dependencies...

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the freebsd-perl mailing list