On Wed, Mar 24, 2004 at 08:18:55AM -0800, Joshua Lokken wrote:
> * Bart Silverstrim <[EMAIL PROTECTED]> [2004-03-24 07:35]:
> > 
> > On Mar 23, 2004, at 8:41 PM, Chuck Swiger wrote:
> > 
> > >Drew Tomlinson wrote:
> > >>I'm using 4.9-RELEASE.  Is is possible to upgrade Perl from the 
> > >>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
> > >
> > 
> > I also had to re-install some of my ports after installing the new Perl 
> > and switching the system perl to the newer version (4.9-release-p3).  
> 
> 
> If you install sysutils/portupgrade, you can do (after
> installing the new Perl)
> 
> # 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:
    
    Depends on:
    

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.005/ \
         -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

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

Attachment: pgp00000.pgp
Description: PGP signature

Reply via email to