Bug 200560

Summary: lang/perl5.18: wrong dependencies pre-5.20 upgrade
Product: Ports & Packages Reporter: philk
Component: Individual Port(s)Assignee: freebsd-pkg (Nobody) <pkg>
Status: Closed Overcome By Events    
Severity: Affects Many People CC: citrin+pr, franco, rene
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   

Description philk 2015-06-01 00:41:23 UTC
On 20150513 the default Perl version changed from 5.18 to 5.20.

There is no security reason to upgrade to 5.20, so many people, including myself have not done it.

There is a current security vulnerability with php5, and when I try to use pkg upgrade to install it, it says this...

# pkg upgrade php5
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.

The following 2 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
        perl5.18: 5.18.4_14

Installed packages to be UPGRADED:
        php5: 5.4.40 -> 5.4.41


The problem is that Perl v5.18 is already installed, and pkg is going to try and install it again as a side-by-side port.  It doesn't even offer to upgrade Perl 5.18 to 5.20.

This is definitely wrong.
Comment 1 Mathieu Arnold freebsd_committer freebsd_triage 2015-06-04 19:39:38 UTC
1) We do not support partial upgrades when using binary packages (pkg upgrade <some package>) always run "pkg upgrade" without any argument.  So it may be normal that pkg tries to make a mess.

2) You are using binary upgrades, so, I see no reason to not upgrade Perl, it's not going to take a long time to do it all.

(also, give the task to pkg@, it's their turf)
Comment 2 Anton Yuzhaninov 2015-06-04 19:44:26 UTC
> I see no reason to not upgrade Perl

I see at lease one reason to not upgrade perl to version 5.20.2: broken regexps for utf strings [perl #124109]
Comment 3 Franco Fichtner 2015-06-04 20:18:24 UTC
Maybe you get lucky with:

pkg install -f php5
Comment 4 Rene Ladan freebsd_committer freebsd_triage 2016-12-27 14:25:10 UTC
lang/perl5.18 will expire in 4 days, is this problem still relevant (perhaps the general use case?)