# perl 5.32



## Mwh65 (Aug 7, 2020)

FreeBSD 11.3-RELEASE-p3

I received an update notification today for perl 5.32 which I followed as per the instructions in the UPDATING file 20161103 ...

`portupgrade -o lang/perl5.32 -f lang/perl5.30`
`portupgrade -f `pkg shlib -qR libperl.so.5.30``

All good so far and upon checking `pkg version` it showed as expected perl5-5.32.0.

However if I now run `pkg upgrade` it wants to downgrade perl5-5.32.0 to perl5-5.30.3 and undo the changes made to the rebuilt ports. At this point I refused to continue.

Am I making a mistake trying to run `pkg upgrade` afterward ?


----------



## SirDice (Aug 7, 2020)

You're mixing _latest_ ports with _quarterly_ packages. Stick to packages only. The quarterly branch doesn't have this change yet, and won't get it until Q4 is branched off.


----------



## Mwh65 (Aug 7, 2020)

Then I must be getting confused here. I have /usr/local/etc/pkg/repos/FreeBSD.conf  which shows ...


```
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
```

which has been the case for years. The original file though in  /etc/pkg/FreeBSD.conf does show this ...


```
# $FreeBSD: releng/11.3/etc/pkg/FreeBSD.conf 347034 2019-05-02 23:59:44Z gjb $
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/quarterly",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}
```

and I thought the file in /usr/local/etc/pkg/repos/FreeBSD.conf  overrode this.


----------



## Alain De Vos (Aug 7, 2020)

UPDATING of Quarterly has :
20190812:
  AFFECTS: users of lang/perl5*
  AUTHOR: mat@FreeBSD.org
  The default Perl version has been switched to Perl 5.30


----------



## SirDice (Aug 7, 2020)

Mwh65 said:


> I thought the file in /usr/local/etc/pkg/repos/FreeBSD.conf overrode this.


Look at the output from `pkg -vv` to verify your change is actually active or not. 

And you don't need to copy the whole thing, just the URL is enough:

```
FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest"
}
```

There's no point in building any of this from ports if you're going to run `pkg upgrade`, pkg-upgrade(8) takes care of this upgrade automatically, there's nothing you need to do for it to work. Make sure your locally cached catalog is up to date: `pkg update -f`

Note that this change happened 3 days ago, the package repositories may not have caught up yet. I suggest you wait and just let pkg-upgrade(8) do its thing.


----------



## Mwh65 (Aug 7, 2020)

Using `pkg -vv` does show the following relevant section ...


```
Repositories:
  FreeBSD: {
    url             : "pkg+http://pkg.FreeBSD.org/FreeBSD:11:amd64/latest",
    enabled         : yes,
    priority        : 0,
    mirror_type     : "SRV",
    signature_type  : "FINGERPRINTS",
    fingerprints    : "/usr/share/keys/pkg"
  }
```

When I get an email from CRON about updates I always use `portupgrade -arR`. Is this correct still?


----------



## SirDice (Aug 7, 2020)

If you're going to build everything with the default options why don't you simply use the packages? There's no reason to build from ports. If you do decide to build everything from ports, why are you using pkg(8)? Use one or the other, not both.


----------

