[lfs-dev] perl install dirs

Ken Moffat zarniwhoop at ntlworld.com
Sat Jan 19 14:04:16 PST 2019

On Sat, Jan 19, 2019 at 02:05:25PM -0600, Douglas R. Reno via lfs-dev wrote:
> On 1/19/19 2:03 PM, Thomas Trepl via lfs-dev wrote:
> > 
> > The reason why i ask is what happens when perl gets upgraded (from
> > 5.28.0 to 5.28.1). Looks like the result is a structure like
> > 
> > /usr
> >    +---> lib
> >          +---> perl5
> >                +---> 5.28.0
> > +---> 5.28.1
> >                +---> site_perl
> >                      +--->
> > 5.28.0
> >                      +---> 5.28.1
> > 
> > Are the modules installed in the */5.28.0 directoies still available
> > to perl or are they "lost" and need to be reinstalled in order to get
> > placed into the */5.28.1 directories? Or does perl automatically
> > recognize those multible directories?
> > 
> > There are several options to the Configure script of perl (-Dprivlib
> > -Darchlib -Dsitelib -Dvendorlib etc.) which seems to have influence on
> > the final directory structure.
> > Could the usage of those options ease the upgrade of perl (without
> > having to rebuild the modules (if required))?
> > 
> > (All those are dump questions as I'm really not an perl expert but i
> > have the strong feeling that an in-place-upgrade of perl somehow
> > breaks installed modules.)
> > 
> > Whats your opinion?
> > 
> > --
> > Thomas
> > 
> As far as I know, upgrading perl means having to reinstall all perl modules
> on the system, even for minor versions. I could be wrong though, as it's
> been a while since I've done it (thinking Perl 5.20).

I agree with Douglas, but having said that I have not tried to use
modules from a previous version after upgrading.  Instead, the
previous time there was a vulnerability I had become aware of, I
just updated the (core) module.

Check the archives for blfs-support [sic - non-core modules are in
blfs ;) ] for December.  At the start of the month I posted about
this, and then a few days later I made a post with a different
process (take latest point release for that minor, alter a few
things so that it will install as if it is the currently-installed
point release).

I've now used that to upgrade my available previous systems, back as
far as one lingering BLFS-8.0.  For one perl minor version I had to
get patches from a distro (last release lacked a few fixes), but I
hacked it in the end.

For perl, I have a lot of modules (from testing biber, and also from
a few other things on some systems), rebuilding them all does not
seem worthwhile.

AFAICS Python modules also need to be updated if the _minor_ version
changes (for python2, that is hopefully never going to happen).

In my seventh decade astride this planet, and as my own cells degrade,
there are some things I cannot do now: skydiving, marathon running,
calculus. I couldn't do them in my 20s either, so no big loss.
            -- Derek Smalls, formerly of Spinal Tap

More information about the lfs-dev mailing list