(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: > O Wed, Aug 05, 2020 at 01:54:44AM +0100, Ken Moffat via lfs-dev wrote: > > I'm looking at perl module dependencies, and I can see a reference > > to Test::More in a test, although I'm not sure if that test actually > > gets run. The reason I'm askng is that this used to be a core > > module, but I cannot see it in my 5.32.0 builds, althought the man > > page for Test::More.3 is still installed. > > > > Looking at https://perldoc.perl.org/Test/More.html suggests it is > > still part of core perl. > > > > Does anyone have any knowledge of this, please ? > > > > ĸen > [...] > It occurred to me that I could go to my backups and look at the > files from the last old-style build I did. That was for 5.30.3, so > I expect some slight variation. > > What I did in each of the core perl root directories was run > find . -name '*.pm' | sort >somefile > > I'm attaching these (new-style-5.32.0 first), on the face of it I > seem to have lost a phenomenal amount of modules. But so far all my > perl module builds and tests have worked, so I hope I'm missing > something obvious. >
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. ĸen -- Juliet's version of cleanliness was next to godliness, which was to say it was erratic, past all understanding and was seldom seen. -- Unseen Academicals -- http://lists.linuxfromscratch.org/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page