From owner-freebsd-perl@freebsd.org Wed Jan 20 07:59:35 2016 Return-Path: Delivered-To: freebsd-perl@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF596A8925D for ; Wed, 20 Jan 2016 07:59:35 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from smtp.infracaninophile.co.uk (smtp.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3cd3:cd67:fafa:3d78]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.infracaninophile.co.uk", Issuer "infracaninophile.co.uk" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 60AED1014 for ; Wed, 20 Jan 2016 07:59:35 +0000 (UTC) (envelope-from matthew@FreeBSD.org) Received: from liminal.local (liminal.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3636:3bff:fed4:b0d6]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.15.2/8.15.2) with ESMTPSA id u0K7xWZn014257 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Wed, 20 Jan 2016 07:59:32 GMT (envelope-from matthew@FreeBSD.org) Authentication-Results: smtp.infracaninophile.co.uk; dmarc=none header.from=FreeBSD.org X-Authentication-Warning: lucid-nonsense.infracaninophile.co.uk: Host liminal.infracaninophile.co.uk [IPv6:2001:8b0:151:1:3636:3bff:fed4:b0d6] claimed to be liminal.local Subject: Re: Upgrading perl on -CURRENT To: freebsd-perl@freebsd.org References: <7dfcb35e2006d1a31c4e3e9f4e2c7160@ultimatedns.net> <5ab40e1eca1733ca0cd5278e93f5d5ac@ultimatedns.net> From: Matthew Seaman X-Enigmail-Draft-Status: N1110 Message-ID: <569F3E5E.70501@FreeBSD.org> Date: Wed, 20 Jan 2016 07:59:26 +0000 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:38.0) Gecko/20100101 Thunderbird/38.5.1 MIME-Version: 1.0 In-Reply-To: <5ab40e1eca1733ca0cd5278e93f5d5ac@ultimatedns.net> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="Dj8KFgnT4m544PO74Lj5lSC3MFucmeSPm" X-Virus-Scanned: clamav-milter 0.99 at lucid-nonsense.infracaninophile.co.uk X-Virus-Status: Clean X-BeenThere: freebsd-perl@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: maintainer of a number of perl-related ports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Jan 2016 07:59:35 -0000 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" 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--