On Sat, Nov 2, 2019 at 10:53 PM Chris Bennett <..hidden..
Let me see if I am understanding something.
I've been running baremetal, since forever.
But not everybody can do that or get the privilege to get Perl modules
Right. That's where 'local::lib' comes in: it's a place where additional modules can be installed by the regular CPAN 'module manager tools' (cpan / cpanm / etc).
So is the intent of building a localized Perl and local::lib to get
around that problem?
"local::lib" and "localized Perl" (or: using non-system Perl) are to different technical solutions for, I think, two different problems.
When an admin can't get access to install his own Perl modules, depending on "local::lib" can help to build a layer of user-specific modules on top of the system-provided modules. (Note that this is *not* dependent on installing a Perl version along side the one already provided by the system.)
When the system provides a Perl version that's too old for the software to run on, installing a newer version along side the system Perl might be a solution. One way to do that is to use 'perlbrew'; another is to use 'plenv'.
Normally, I would resort only to one of these options when the distribution I'm using doesn't provide the required packages. That is, if I were a LedgerSMB user (as opposed to the developer that I actually am), I'd use the Debian packages that come with the distro (or head over to Jame's PPA to install his package of a newer version).
If so, that would be pretty important.
If you're going to develop packages for your OS/distribution, I think you should use the method expected by admins of the platform. That is: if there's a Drupal package and that package *includes* (as opposed to "depends on") a PHP interpreter, then it's appropriate to include a Perl interpreter when distributing LedgerSMB. If such packages do not come standard on the OS, then I'd say admins will expect you to use the system Perl interpreter. The Perl modules that LedgerSMB depends upon will have to be turned into OS packages too, so that the LedgerSMB package can depend on it and pull the packages in when the LedgerSMB package gets installed.