Date: Wed, 20 Jan 2016 07:59:26 +0000 From: Matthew Seaman <matthew@FreeBSD.org> To: freebsd-perl@freebsd.org Subject: Re: Upgrading perl on -CURRENT Message-ID: <569F3E5E.70501@FreeBSD.org> In-Reply-To: <5ab40e1eca1733ca0cd5278e93f5d5ac@ultimatedns.net> References: <7dfcb35e2006d1a31c4e3e9f4e2c7160@ultimatedns.net> <5ab40e1eca1733ca0cd5278e93f5d5ac@ultimatedns.net>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On 20/01/2016 03:56, Chris H wrote:
> On Tue, 19 Jan 2016 16:58:10 -0800 "Chris H" <bsd-lists@bsdforge.com> wrote
>
>> I just finished a long overdue update on one of my
>> boxes that track -CURRENT. It's on 5.18. Is it enough
>> to cd /usr/ports/lang/perl5.20;
>> make; make deinstall && make reinstall clean ?
> I probably should have also mentioned that I already changed
> DEFAULT_VERSIONS+=perl5=5.18 to perl5=5.20
No, you're going to need to do more than that. There are critical parts
of the perl package that are version specific. For instance:
% locate perl.so
/usr/local/lib/perl5/5.22/mach/CORE/libperl.so
/usr/local/lib/perl5/5.22/mach/CORE/libperl.so.5.22
/usr/local/lib/perl5/5.22/mach/CORE/libperl.so.5.22.1
This means that anything that embeds a perl interpreter will need
rebuilding to use the new perl. That includes applications like net-snmpd.
The same goes for any perl modules that include compiled (XS) code. For
instance:
% locate Socket6.so
/usr/local/lib/perl5/site_perl/mach/5.22/auto/Socket6/Socket6.so
All those modules will need rebuilding. Pure-perl modules should be OK
without.
By far the easiest and cleanest perl upgrade mechanism I've found is to
use pkg(8) -- modify the DEFAULT_VERSIONS in your poudriere config and
do a 'poudriere bulk' which will rebuild anything with a dependency on
perl in your repo. Then a simple 'pkg upgrade' will do the trick.
One thing to watch out for: there's no longer a /usr/bin/perl symlink
with perl-5.22 so you'll need to check any #! lines in locally developed
scripts: change that either to '#!/usr/bin/env perl' (preferred) or
'#!/usr/local/bin/perl' in situations where the script is run with $PATH
not including /usr/local/bin -- for instance perl run at boot from
${LOCALBASE}/etc/rc.d scripts.
Cheers,
Matthew
[-- Attachment #2 --]
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2
iQJ8BAEBCgBmBQJWnz5kXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC
QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkATHGEP/3MMkAeDI37/vjq1BsbraVw5
Fc4qANJnTjQTB7RFKRYZtn0kYjs8lsI7yYi+5cOS3AJZMWxS2sQCb3nJpxdvojZX
jAF+whdlyY5rmIBcje1+MfoZXMWv2ErfetXdtqu4g5iwDw8Fn6qQXErHAu2fGQHc
8I5i/38qP39k23HwYhLHLJiPouU8qpMPcWEvz4c+KnFnYqQPDJzQYam88N/BrjNX
C+pGD83jP76bVxfFx7AvVd0oAlEoyRrFQGEH0Pu74izMveKh5aXfuBxp8BP8j8nz
la0QDQ4RVrAgeXAcDS3qT2ZWM1lu1TG8d8tL7MASwJI+oXuW8qQkjvUOMw4VsEWZ
dn+M2OOjK28yc6anL5gzWpUgwhnOQ7Bb7/dfYqQW0JTE53GcR8Rwx2IyyF7Kc/cy
2dqT3ydKEbH5yjLRuDXuVpYQF7wH8FmJjqPj8IZZCMAaofyKOxLN0cF1J6VkM8Q+
dGrg/t/57Pum7HfgNdYaSTKeE4gRFf1bcaYf1IAaVtn2Ec6SBtR9tDulzznvnAEV
7Ev4LgF25bdZ3fOdnVGkrK4jSJJKPmzvRxb7/R4vRVkfJwK01CZcPNU1Xv/1ehjW
222+AkBrHKvQW3TP63Hnn8/5yCE4zhCghEl5nzDNpuHLI2B7bgLA5G8HhUNtYxnx
LLEXBqDS2VHcADJK8vr/
=+VB5
-----END PGP SIGNATURE-----
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569F3E5E.70501>
