| Walt Mankowski on Tue, 30 Sep 2003 09:20:56 -0400 |
|
On Tue, Sep 30, 2003 at 08:00:04AM -0400, Mark Dominus wrote:
> It appears from casual testing that when you configure 5.8.1, it looks
> in your old site_perl library directory for older subdirectories, and
> arranges for all of them to be listed in @INC, in reverse
> chronological order. I installed 5.8.1 yesterday, and its @INC is:
>
> /usr/local/lib/perl5/5.8.1/i586-linux
> /usr/local/lib/perl5/5.8.1
> /usr/local/lib/perl5/site_perl/5.8.1/i586-linux
> /usr/local/lib/perl5/site_perl/5.8.1
> /usr/local/lib/perl5/site_perl/5.8.0/i586-linux
> /usr/local/lib/perl5/site_perl/5.8.0
> /usr/local/lib/perl5/site_perl/5.7.3
> /usr/local/lib/perl5/site_perl/5.7.2
> /usr/local/lib/perl5/site_perl/5.6.1
> /usr/local/lib/perl5/site_perl/5.6.0
> /usr/local/lib/perl5/site_perl
> .
>
> So you won't have to reinstall all your modules.
Thanks. I noticed the same thing when I built 5.8.1 last night with a
plain vanilla "Configure -des" build.
Here's what INSTALL has to say about it:
Beginning with 5.6.0 the version number in the site libraries are
fully versioned. Now, suppose you install version 5.6.0. The directories
searched by version 5.6.0 will be
/usr/local/lib/perl5/5.6.0/$archname
/usr/local/lib/perl5/5.6.0
/usr/local/lib/perl5/site_perl/5.6.0/$archname
/usr/local/lib/perl5/site_perl/5.6.0
/usr/local/lib/perl5/site_perl/5.005/$archname
/usr/local/lib/perl5/site_perl/5.005
/usr/local/lib/perl5/site_perl/
Notice the last three entries -- Perl understands the default structure
of the $sitelib directories and will look back in older, compatible
directories. This way, modules installed under 5.005_03 will continue
to be usable by 5.005_03 but will also accessible to 5.6.0. Further,
suppose that you upgrade a module to one which requires features
present only in 5.6.0. That new module will get installed into
/usr/local/lib/perl5/site_perl/5.6.0 and will be available to 5.6.0,
but will not interfere with the 5.005_03 version.
Walt
Attachment:
pgpX9QM27jLCN.pgp
|
|