From owner-freebsd-questions@FreeBSD.ORG Sun Sep 13 10:38:04 2009 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id ACB94106566B for ; Sun, 13 Sep 2009 10:38:04 +0000 (UTC) (envelope-from m.seaman@infracaninophile.co.uk) Received: from smtp.infracaninophile.co.uk (gate6.infracaninophile.co.uk [IPv6:2001:8b0:151:1::1]) by mx1.freebsd.org (Postfix) with ESMTP id 462B58FC08 for ; Sun, 13 Sep 2009 10:38:04 +0000 (UTC) Received: from happy-idiot-talk.infracaninophile.co.uk (localhost [IPv6:::1]) (authenticated bits=0) by smtp.infracaninophile.co.uk (8.14.3/8.14.3) with ESMTP id n8DAbqjs028304; Sun, 13 Sep 2009 11:37:58 +0100 (BST) (envelope-from m.seaman@infracaninophile.co.uk) X-DKIM: Sendmail DKIM Filter v2.8.3 smtp.infracaninophile.co.uk n8DAbqjs028304 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=infracaninophile.co.uk; s=200708; t=1252838278; bh=LBv1IYcSRC07592wh6S4g3IXKO90xJtkzPttTW8Q56U=; h=Message-ID:Date:From:MIME-Version:To:CC:Subject:References: In-Reply-To:Content-Type:Cc:Content-Type:Date:From:In-Reply-To: Message-ID:Mime-Version:References:To; z=Message-ID:=20<4AACCB7A.2050106@infracaninophile.co.uk>|Date:=20S un,=2013=20Sep=202009=2011:37:46=20+0100|From:=20Matthew=20Seaman= 20|Organization:=20Infracaninophi le|User-Agent:=20Thunderbird=202.0.0.23=20(X11/20090823)|MIME-Vers ion:=201.0|To:=20Jos=20Chrispijn=20|CC:=20FreeBS D=20Questions=20|Subject:=20Re:=20P erl=20updates|References:=20<4AACBF63.8020304@webrz.net>|In-Reply- To:=20<4AACBF63.8020304@webrz.net>|X-Enigmail-Version:=200.95.6|Co ntent-Type:=20multipart/signed=3B=20micalg=3Dpgp-sha256=3B=0D=0A=2 0protocol=3D"application/pgp-signature"=3B=0D=0A=20boundary=3D"--- ---------enigE5FF4F0C961CE41ACA647A9B"; b=ZmevEBoLkFE6cwjD0vLCB/zlpbpsq0ugiCH4vllzSrPFH/rMHAsaw78uny0jL6yq3 0wWxbyJfV8ITOHQGSqpToMDkBGK/LCsUjDXw79xkltORbTQL+1SaWaZ677WD+7oDLe 7glXgmhCzhwRyXbiiBgcVAePnEtwLNPBuYkl/gfU= X-Authentication-Warning: happy-idiot-talk.infracaninophile.co.uk: Host localhost [IPv6:::1] claimed to be happy-idiot-talk.infracaninophile.co.uk Message-ID: <4AACCB7A.2050106@infracaninophile.co.uk> Date: Sun, 13 Sep 2009 11:37:46 +0100 From: Matthew Seaman Organization: Infracaninophile User-Agent: Thunderbird 2.0.0.23 (X11/20090823) MIME-Version: 1.0 To: Jos Chrispijn References: <4AACBF63.8020304@webrz.net> In-Reply-To: <4AACBF63.8020304@webrz.net> X-Enigmail-Version: 0.95.6 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------enigE5FF4F0C961CE41ACA647A9B" X-Virus-Scanned: clamav-milter 0.95.2 at happy-idiot-talk.infracaninophile.co.uk X-Virus-Status: Clean X-Spam-Status: No, score=-3.0 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VERIFIED,NO_RELAYS autolearn=ham version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on happy-idiot-talk.infracaninophile.co.uk Cc: FreeBSD Questions Subject: Re: Perl updates X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Sep 2009 10:38:04 -0000 This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enigE5FF4F0C961CE41ACA647A9B Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Jos Chrispijn wrote: > Can someone explain why we have to run an update batch in order to have= =20 > all Perl related programs running with this update? Wouldn't it be=20 > better to upgrade Perl and have all programs use it as it hadn't been=20 > updated at all? You're talking about the update of lang/perl5.10 from perl-5.10.0 to perl-5.10.1 ? The reason you need to run perl-after-upgrade is because perl library modules are stored in directory trees which encode the perl version numbe= r. perl-after-upgrade basically moves installed modules from /usr/local/lib/perl5/site_perl/5.10.0=20 to /usr/local/lib/perl5/site_perl/5.10.1 plus it fixes up all of the pkg-plists and various other places where the directory path is embedded. Alternatively you could just re-install every single perl module on the system, plus any other ports that depend on perl, but that's going to be the majority of the software on your mach= ine and perl-after-upgrade is a lot quicker. Even so, ports that embed a perl interpreter -- ie. that dynamically link= against libperl.so -- will need to be recompiled, to account for libperl.= so now being in a different location. There aren't too many of these: net-mgmt/net-snmp and www/mod_perl{,2} are probably the most commonly encountered. One of the functions of perl-after-upgrade is to tell you w= hat packages need to be rebuilt because of this. Why isn't perl-after-upgrade run automatically? Two reasons. Firstly, th= e ports system cannot itself distinguish what updates would require perl-after-upgrade to be run: when updating, the mechanism is to delete = the old package and then install the new one as if de-novo. The newly instal= led package has no information about what older version of itself it is repla= cing, if any. Secondly, you can't make perl-after-upgrade clever enough to deal with al= l conceivable corner cases. Other than by enforcing particular usage rules= on how individual admins manage their perl installations -- a policy that= is manifestly *not the BSD way* -- this is unfeasible. Given that we hol= d that it is in the gift of the individual admin to decide how to manage their s= ystems, there have to be stages somewhere that involve the admin making a conciou= s decision about what to do. Running perl-after-upgrade is one of those po= ints. Lastly, just to note that if the upgrade is across a significantly large = change in version number: eg from perl-5.8 to perl-5.10, then any dynamically lo= aded compiled extension modules (see perlxs(1)) will have to be recompiled as = the ABI is not guaranteed to be kept the same in that case. Unfortunately, distinguishing modules that use perlxs from pure perl modules is not some= thing the ports system is currently capable of, so the upgrade instructions the= re are "rebuild everything that depends on perl". Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 7 Priory Courtyard Flat 3 PGP: http://www.infracaninophile.co.uk/pgpkey Ramsgate Kent, CT11 9PW --------------enigE5FF4F0C961CE41ACA647A9B Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.13 (FreeBSD) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEAREIAAYFAkqsy4AACgkQ8Mjk52CukIxC7wCggv5Sa2FPophn6ClWxEHFISQC Wm0AniKl6zJTszExwppq19OdVaEt5a8K =x02N -----END PGP SIGNATURE----- --------------enigE5FF4F0C961CE41ACA647A9B--