[FreeBSD-Ports-Announce] Time to bid farewell to the old pkg_ tools

Mathieu Arnold mat at FreeBSD.org
Tue Feb 4 09:25:03 UTC 2014

+--On 3 février 2014 19:23:12 -0800 Jeffrey Bouquet
<jeffreybouquet at yahoo.com> wrote:
| /# find /var/db/pkg -type d -name "p5*" | xargs -J % find -type f -name
| "+CONTENTS" -exec grep -H "5.12" {} \; | grep pm | gtr -s \/ "\n" | grep
| p5 | sort | uniq | xargs -J % portmaster -d -B -P -i -g % && yell || yell
| That pipe, corrected ( the working version includes an incrementing |
| head -NN |  thru hundreds of p5 upgrades,  15-25  at a time,
| so easy completion of the upgrade  with
| only a repeat with the up arrow and a minor edit ,)  handily upgraded a
| /perl5/ subdirectory to
| the default on several installs.

So, you want a command going to upgrade all p5- ports that install files
that contain 5.12 in their path. I'm not sure what it's supposed to be
doing in the end, but it certainly won't help you going from one perl
version to the other, you're missing every port that installs perl modules
and is not named p5 something (like, say, net-snmp) and every port that
links with, say, libperl.so (like, say, vim)

If you want to do that with pkg, and do it that way, you can have a look at
what :

pkg query %ro lang/perl5.12

and feed that to portmaster. But the easiest way to do it would be to do,
say :

portmaster -o lang/perl5.16 lang/perl5.12
portmaster -r perl5-

Now, I would do :

pkg set -o perl5.12:perl5.16
pkg upgrade (possibly with -f depending on what it says without it)

But that's just me :-)

Mathieu Arnold

More information about the freebsd-ports mailing list