portmaster: AFFECTS: users of lang/perl*

In /usr/ports/UPDATING can be read:
20130612:
AFFECTS: users of lang/perl* and any port that depends on it
AUTHOR: az@FreeBSD.org

lang/perl5.12 has been upgraded from version 5.12.4 to 5.12.5
lang/perl5.14 has been upgraded from version 5.14.2 to 5.14.4
lang/perl5.16 has been upgraded from version 5.16.2 to 5.16.3

The directory structure where Perl is installed has also been modified:
"major.minor" is now used instead of "major.minor.patchlevel".

The "perl-after-upgrade" script has been removed.

Please rebuild all Perl ports and all ports that depend on it:

# portmaster -r perl
But doing just that results in:
Code:
# portmaster -r perl

===>>> Working on:
        perl-5.16.3

===>>> Gathering distinfo list for installed ports


===>>> perl-5.16.3 1/1

===>>> Currently installed version: perl-5.16.3
===>>> Port directory: /usr/ports/lang/perl5.16

===>>> Launching 'make checksum' for lang/perl5.16 in background
===>>> Gathering dependency list for lang/perl5.16 from ports
===>>> No dependencies for lang/perl5.16


===>>> Checking ports that depend on perl-5.16.3

===>>> bsdpan-Clone-0.34 depends on perl-5.16.3
===>>> Launching child to reinstall bsdpan-Clone-0.34

===>>> Checking dependent ports >> bsdpan-Clone-0.34 (1/1)

===>>> BSDPAN ports cannot be upgraded with portmaster
       (bsdpan-Clone-0.34)


===>>> Update for bsdpan-Clone-0.34 failed
===>>> Aborting update

===>>> Killing background jobs
Terminated
===>>> Exiting
How should it be done properly?

And it raises the general question on how to set up perl in FreeBSD, when Perl modules are installed via cpan or cpanp?

The CPAN installed Perl modules appear in portmaster as BSDPAN ports and have always been seen to be skipped by portmaster. But now it breaks the rebuild which should be targeted at the p5- ports?
 
Just find the ports equivalents of your CPAN modules, and deinstall the latter ( pkg delete or pkg_delete) and install the former (e.g. devel/p5-Clone). A tool like ports-mgmt/psearch should make it relatively easy to find the ports version. Once everything's replaced, run the portmaster -r perl command.
 
Looks like the coexistence of CPAN modules and p5-ports is not that easy. I learned to prefer the CPAN modules, as they tend to be more actual than the p5-ports and one cannot get every module as p5-port. Right?

Once started with installing CPAN modules, more depends on CPAN modules are drawn in. And one can find probably hundreds of them after hacking Perl for some time.

In fact I started deinstalling some but not all p5-ports and reinstalled them as CPAN modules. This mix seems to be problematic for now, at least for portmaster.

What I've done now is # portmaster -x bsdpan -r perl and it looks like that it works, as it doesn't touch the bsdpan-modules.

Still some comments from Perl programmers on FreeBSD are welcome on that matter, as it is not clear to me if that kind of mix is healthy (for Perl) :)
 
Back
Top