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>