Skip site navigation (1)Skip section navigation (2)
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>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--Dj8KFgnT4m544PO74Lj5lSC3MFucmeSPm
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: quoted-printable

On 20/01/2016 03:56, Chris H wrote:
> On Tue, 19 Jan 2016 16:58:10 -0800 "Chris H" <bsd-lists@bsdforge.com> w=
rote
>=20
>> 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+=3Dperl5=3D5.18 to perl5=3D5.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-snmp=
d.

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



--Dj8KFgnT4m544PO74Lj5lSC3MFucmeSPm
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----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-----

--Dj8KFgnT4m544PO74Lj5lSC3MFucmeSPm--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?569F3E5E.70501>