Date: Wed, 24 Mar 2004 18:19:58 +0000 From: Matthew Seaman <m.seaman@infracaninophile.co.uk> To: Bart Silverstrim <bsilver@chrononomicon.com>, FreeBSD Questions <freebsd-questions@freebsd.org> Subject: Re: How To Upgrade to Perl 5.8 on 4.9 System? Message-ID: <20040324181958.GA68070@happy-idiot-talk.infracaninophile.co.uk> In-Reply-To: <20040324161855.GA1816@cs025_2k> References: <4060DB5B.20305@mykitchentable.net> <4060E747.2050208@mac.com> <37EF4C48-7D92-11D8-8CE1-000A956D2452@chrononomicon.com> <20040324161855.GA1816@cs025_2k>
next in thread | previous in thread | raw e-mail | index | archive | help
--VS++wcV0S1rZb1Fb Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Wed, Mar 24, 2004 at 08:18:55AM -0800, Joshua Lokken wrote: > * Bart Silverstrim <bsilver@chrononomicon.com> [2004-03-24 07:35]: > >=20 > > On Mar 23, 2004, at 8:41 PM, Chuck Swiger wrote: > >=20 > > >Drew Tomlinson wrote: > > >>I'm using 4.9-RELEASE. Is is possible to upgrade Perl from the=20 > > >>default 5.005 version to 5.8.2? > > > > > >Yes. > > > > > >>Are there any steps required beyond installing the port? > > > > > >Try: > > > > > >cd /usr/ports/lang/perl5.8 > > >make install > > >use.perl port > > > > >=20 > > I also had to re-install some of my ports after installing the new Perl= =20 > > and switching the system perl to the newer version (4.9-release-p3). = =20 >=20 >=20 > If you install sysutils/portupgrade, you can do (after > installing the new Perl) >=20 > # portupgrade -rf perl It would be nice if that was the case, but unfortunately it won't work. If you change the perl version, you usually need to reinstall any extra perl modules -- that is, anything that installs files under /usr/local/lib/perl5/{,site_perl/}5.X.Y/ Unfortunately most perl modules in the ports tree don't register a dependency on perl itself. eg: % pkg_info -r p5-Time-HiRes\* Information for p5-Time-HiRes-1.55,1: =20 Depends on: =20 Without that dependency in there, portupgrade(1) can't know that it needs to update those ports. The most effective way I've found to generate a list of ports that should be upgraded say when upgrading from perl-5.005.03 would be: % find /usr/local/lib/perl5/5.00503 /usr/local/lib/perl5/site_perl/5.00= 5/ \ -type f -print0 | xargs -0 -n 1 pkg_which | sort -u Run this command before you update perl, saving the results. Edit the list to delete the lines for the old perl port, and any perl modules that are now bundled with core perl port. Then after you've installed the new perl, run 'portupgrade -f' against that list of ports: # portupgrade -f `cat list-of-ports` Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. 26 The Paddocks Savill Way PGP: http://www.infracaninophile.co.uk/pgpkey Marlow Tel: +44 1628 476614 Bucks., SL7 1TH UK --VS++wcV0S1rZb1Fb Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFAYdFOdtESqEQa7a0RAg+AAJ9ghLzj2JV81HzmVtpFTAyZoQlecQCfdaUg tX7/vz1/a/QkfktSmX7rWos= =+dnc -----END PGP SIGNATURE----- --VS++wcV0S1rZb1Fb--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040324181958.GA68070>