Perl5 (meta package) switched from 5.16 to 5.22 - p5-* and git not switched

David Evans devans at
Tue Jan 12 13:10:55 PST 2016

On 1/12/16 12:26 PM, David Evans wrote:
> On 1/12/16 10:40 AM, Justin Vallon wrote:
>> I just did a selfupdate && upgrade, and perl5 was upgraded from perl5.16
>> to perl5.22.
>> However, my p5-string-shellquote was not automatically upgraded from
>> p5.16- to p5.22-, and I had to reinstall it.
>> Similar for git and ossp-uuid.  Each had a perl5_16 variant installed
>> and ugprade did nothing, but reinstalling ended up with perl5_22.
>> My guess is that the perl5 Portfile was changed, so upgrade rebuilt it
>> and thus installed perl5.22, but p5-string-shellquote was not changed,
>> so did not get an automatic upgrade.
>> Is this expected?
> We're in the process of removing support for all perls older than perl5.22
> and perl5's default variant was recently changed from +perl5_16 to +perl5_22.  This
> change causes new installs of perl5 (without specifying a specific variant)
> to be updated to perl5.22 as you say and p5.22-* to be the default version
> of the p5-* module ports.  Upgrades would have honored the old installed variant
> (+perl5_16 and p5.16-* in your case).
> However, the older variants of perl5 were subsequently removed, breaking the
> desired upgrade behavior.  This step was premature and should have been deferred
> until support for the older perls had been obsoleted from the p5-* modules
> and the old perl variants removed from ports that use them so that the effected
> ports would automatically upgrade to the perl5.22 versions as you expected.
> It would then be safe to remove the old perl5 variants.
> I'm not sure what the best approach is now to heal this damage but I'm leaning
> toward restoring the older variants to perl5 until the other steps
> have been taken. You'll then be able to install perl5 +perl5_16 again and use
> your p5.16-* modules (if you haven't already upgraded them to p5.22-*
> manually).  In the interim you should be able to use your existing p5.16-* modules
> as long as perl5.16 is installed.
> Dave

perl5 variants +perl5_16 +perl5_18 (temporarily) restored in

After updating your ports with

sudo port selfupdate

you should be able to reinstall perl5 +perl5_16

sudo port install perl5 +perl5_16

and restore things as they were.

If you've already manually changed everything from p5.16-* to p5.22-* and ports with
perl variants to +perl5_22 no need to go back as this is the way things will be in the (not too distant) future.

Let us know if you have any remaining problems and sorry for any inconvenience.


More information about the macports-users mailing list