On 2020-08-05 22:03 +0100, Ken Moffat via lfs-dev wrote:
> On Thu, Aug 06, 2020 at 03:57:29AM +0800, Xi Ruoyao via lfs-dev wrote:
> > On 2020-08-05 19:53 +0100, Ken Moffat via lfs-dev wrote:
> > > (I've changed the subject and cut down some of hte obsolete detail)
> > > 
> > > On Wed, Aug 05, 2020 at 04:22:49AM +0100, Ken Moffat via lfs-dev wrote:
> [...]
> > > False-ish alarm : the "missing" modules were installed in the
> > > initial (chapter 7) build, but they are in
> > > /usr/share/perl5/site_perl NOT /usr/lib/perl5/5.32/core_perl.
> > > 
> > > The items in /usr/lib/perl5/5.32/core_perl were either installed by
> > > chapter 7 perl, as someone mentioned the other day, or (a few) were
> > > installed in chapter 8 perl.  But all the items in /usr/share are
> > > from chapter 7 and ;acking the 5.32 version.
> > > 
> > > At best, the location of the modules looks messy and I'm not happy
> > > that they are in unversioned directories.
> > > 
> > > These are from the privlib.
> > > 
> > > The first useful match for privlib which I found was a bug from a
> > > module developer (5.30 was doing somethign different from 5.26)
> > > where the output from cpan mentioned privlib:
> > >  Dprivlib=/usr/local/cpanel/3rdparty/perl/530/lib/perl5/5.30.0
> > > 
> > > https://www.nntp.perl.org/group/perl.perl5.porters/2019/10/msg256381.html
> > > 
> > > (Just pasting the link in case it is of any interest later)
> > > 
> > > I think that
> > > 
> > > https://stackoverflow.com/questions/54470275/what-is-the-difference-between-the-core-vendor-and-site-locations-in-perl
> > > 
> > > provides detailed explanations, and that from the UPDATE there we
> > > should at least be using a version in the privlib i.e.
> > > /usr/share/perl5/5.32/core_perl.
> > > 
> > > But until now we have managed without putting pure perl core modules
> > > in /usr/share (although ISTR that when we used separate modules
> > > related to git - perhaps Errno.pm - something did go into
> > > /usr/share.
> > > 
> > > We did not used to have -Dprivlib, I guess that dropping that would
> > > stop core modules being placed in /usr/share.
> > > 
> > > This leaves the items in /usr/lib/perl5/core_perl which were NOT
> > > updated in chapter 8.  Looking at the times in ls -lR these are
> > > either pure perl modules (*.pm), headers (in CORE) or else
> > > directories.  I'm happy that those have not been changed between
> > > chapter 7 and chapter 8.
> > > 
> > > I'll start a build WITHOUT Dprivlib later.
> > 
> > Is there any rationale to change the default Perl module directory, besides
> > to
> > remove the Perl patch level from path?
> > 
> 
> Som of the modules (.so libs) are in archlib, i.e.
> /usr/lib/perl5/5.32/core_perl
> 
> > I suggest three alternatives:
> > 
> > (1) -Dprivlib=/usr/share/perl5/5.32/core_perl
> > 
> > It's like the status quo, but versioned.
> > 
> 
> I am hopeful that not specifying privlib will do that.  If not, I
> will go with that.

It's not.  The default is /usr/lib/perl5/5.32.0.

> > (2) -Dprivlib=/usr/lib/perl5/5.32
> > 
> > It's almost the default, but patch level (".0") removed.  -Darchlib will
> > also
> > need to be adjusted.
> > 
> I don't understand how you would change archlib ?  At the moment it
> is /usr/lib/perl5/5.32/core_perl unless you mean to remove core_perl
> which was one of the features of Thomas's original proposal for the new
> layout :
> http://lists.linuxfromscratch.org/pipermail/lfs-dev/2020-June/073877.html
> 
> The possibility that anything other than vendor modules (i.e. from
> third parties) would end up in /usr/share was not apparent.
> 
> > (3) -Dprivlib=/usr/lib/perl5/5.32/core_perl
> > 
> > It matches the current -Darchlib.
> > 
> 
> Another possibility.
> 
> > And, -Dvendorlib should also be adjusted in the same manner.
> 
> I suppose that setting vendorlib the same as vendorarch, i.e.
> /usr/lib/perl5/5.32/vendor_perl would make sense, but I don't have
> anything (third-party?) that installs in vendor_lib.

I prefer to put everything into /usr/lib/perl5, instead of using
/usr/share/perl5.  Like:

sh Configure -des                                         \
             -Dprefix=/usr                                \
             -Dvendorprefix=/usr                          \
             -Dprivlib=/usr/lib/perl5/5.32/core_perl      \
             -Darchlib=/usr/lib/perl5/5.32/core_perl      \
             -Dsitelib=/usr/lib/perl5/5.32/site_perl      \
             -Dsitearch=/usr/lib/perl5/5.32/site_perl     \
             -Dvendorlib=/usr/lib/perl5/5.32/vendor_perl  \
             -Dvendorarch=/usr/lib/perl5/5.32/vendor_perl \
             -Dman1dir=/usr/share/man/man1                \
             -Dman3dir=/usr/share/man/man3                \
             -Dpager="/usr/bin/less -isR"                 \
             -Duseshrplib                                 \
             -Dusethreads
-- 
Xi Ruoyao <xry...@mengyan1223.wang>
School of Aerospace Science and Technology, Xidian University

-- 
http://lists.linuxfromscratch.org/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to