[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: perl system integrity?



Miles Fidelman wrote:
> On 7/18/17 12:52 PM, Jude DaShiell wrote:
> 
> >Does any means exist within perl to detect that a perl base installed on a
> >system is completely intact?  Perl base is perl binary and all support
> >packages that binary uses before cpan or cpanp is run.  The perl base is
> >put on newly installed systems.
> >I am interested in this since sometimes system updates break perl and
> >steps have to be taken to clear the breakage then repair steps need to be
> >taken.  If a means exists to let a user know this list of packages came
> >with your installed system and are now missing perl system repairs could
> >be expedited.
> >Aside from perl, such capabilities added to other base systems like python
> >for one example could help out repairing those other systems too.
> 
> Perl has the best collection of regression tests that I've ever seen.  When
> you install from a source tarball, and run "make test" - everything gets
> checked.  Same again when you install/update modules via cpan.  It takes a
> while, but you know everything is working.
> 
> Personally, when I'm using perl, I always install from scratch, and maintain
> using cpan - packagers & packaging just muck it up.

The Debian Perl team does an amazing job of packaging -- and
patching -- the base perl as well as thousands of
distributions from CPAN. Their bug reports and patches
are a significant contribution to upstream maintenance.

Debian packaging handles external dependencies of perl
modules, which the perl toolchain is not capable of
handling on its own. For casual, trouble-free installations,
the system perl is excellent. 

That said, I generally compile perl from sources and install
it in my $HOME directory, along with any CPAN modules that I
need.

There are various ways to install non-system perl. 
The newest and neatest IMO is plenv, which allows multiple 
perl versions to coexist. You can select a global perl
version to use, and override it in individual directories.
That floats my boat, however perlbrew and local::lib
can also be useful.

I find that cpanm (App::cpanminus)  is the most convenient
way to install CPAN modules.

Coming to the OP's question, I agree with the poster who
said that perl's testing framework is awesome. If there is a
problem upgrading system perl, it's a bug. If reported, the
Debian perl team will investigate it thoroughly.

Problems are most likely with an unintended mix of system
perl, perl installed by root in /usr/local, or unprivileged
perl installed in $HOME.

Which perl is picked up by a shebang line #!/usr/bin/env
perl will depend on your $PATH variable. 

cheers,

Joel
 
> Miles Fidelman
> 
> 
> -- 
> In theory, there is no difference between theory and practice.
> In practice, there is.  .... Yogi Berra
> 

-- 
Joel Roth
  


Reply to: