cvs commit: ports MOVED ports/archivers/p5-Archive-Tar Makefile ports/archivers/p5-Archive-Zip Makefile ports/archivers/p5-PerlIO-gzip Makefile ports/comms/p5-Device-SerialPort Makefile ports/converters/p5-MIME-Base64 Makefile ports/databases/p5-POE-Component-LaDBI ...

Sergey Skvortsov skv at FreeBSD.org
Sun Jun 12 10:15:29 GMT 2005


Hajimu UMEMOTO wrote:
> skv>     mail/cyrus-imapd2    Makefile 
> skv>     mail/cyrus-imapd22   Makefile 
> 
> skv>   * reflect renaming on CPAN File-Spec to PathTools
> skv>      + add devel/p5-PathTools, remove devel/p5-File-Spec
> skv>      + update dependencies for all affected ports (make them unconditional),
> skv>        bump PORTREVISION for these ports
> skv>   module was renamed
> skv>   * reflect renaming on CPAN PodParser to Pod-Parser
> skv>      + add textproc/p5-Pod-Parser, remove textproc/p5-PodParser
> skv>      + update dependencies for all affected ports (make them unconditional),
> skv>        bump PORTREVISION for these ports
> 
> It seems you did non-trivial change without maintainer's approval.

These modules was renamed hence changing relevant dependencies and
PORTREVISION bumping doesn't require maintainer's approval. At least it's a
de-facto approach and I suppose this commit is not prohibited by any policy.

> I believe we don't need to install p5-File-Spec and p5-Pop-Parser as
> recent Perl provides them by default.  So, I prefer to depend them
> conditionally.  But, you did remove it.  Why?

Obviously any port in ports tree should (and must) have the latest version.
Conditional dependencies for p5-ports are very vicious practice.

1. Each of these ports has newer versions than in perl's core modules:
(see Module::CoreList for futher reference):

perl-5.006001	File-Spec-0.82		PodParser-1.13
perl-5.008006	File-Spec-3.01		PodParser-1.14
current		PathTools-3.08		Pod-Parser-1.31

Each of this modules has critical updates in the latest version.
Relying on thesis "old module works fine too" is incorrect in common case
and can produce spurious errors.

2. Even if one of module has exactly the same version as in some perl's:
.if ${PERL_LEVEL} < 500800
BUILD_DEPENDS+= ${SITE_PERL}/File/Temp.pm:${PORTSDIR}/devel/p5-File-Temp
.endif

this dependency needs to be updated when newer version of port will be
released (i.e. this dependency must be converted to unconditional).

Or if any of lang/perl5(.8) is updated (like upcoming 5.8.7) then all
similar dependencies must be updated too (more useless PERL_LEVEL checks).
Anyway PORTREVISION is bumped.

This "bumping" produces cvsup-storm. Many ports (~100) must increment their
PORTREVISION only to reflect fact of updating the only one upgraded port!

To avoid this behaviour using unconditional dependencies for p5-ports must
be prohibited.

Note that your questions has been already discussed in perl at FreeBSD.org
list. I hope my explanation is clear enough.

-- 
Sergey Skvortsov
mailto: skv at FreeBSD.org


More information about the cvs-all mailing list