On 1/12/16 1:19 PM, Justin Vallon wrote: > On 1/12/16 3: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. > I fixed everything by either uninstalling and reinstalling (p5-*) or > "build git && install git", which ended up picking up the new default > variant (as far as I remember). > > Your discussion does not appear to solve the problem of p5-* modules not > getting upgraded/rebuilt when perl5 is changed. Consider: > > 1) perl5 was installed (default version 5.16), p5-blah module is installed > 2) /opt/local/bin/perl can use the "Blah" module. > 3) perl5 is upgraded to 5.22. /opt/local/bin/perl is now 5.22. p5-blah > is not automatically switched to 5.22. > 4) /opt/local/bin/perl cannot find the "Blah" module. > 5) reinstall p5-blah > 6) /opt/local/bin/perl can use the "Blah" module again. >
This is why I restored the variants. In the future when the p5.16 - p5.20 subports are removed from the p5 ports, they will declared obsolete which will cause them to update to p5.22. Then the old variants and ultimately the old perl5.* ports themselves can be removed without problems. For now, if you reinstall perl5 +perl5_16 it will reset your default perl to perl5.16 avoiding the issue. _______________________________________________ macports-users mailing list macports-users@lists.macosforge.org https://lists.macosforge.org/mailman/listinfo/macports-users