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

Most maintainable way to install perl modules on Debian sysetms



I try to keep my systems as up to date as possible.  I use apt update regularly.  When I can install a perl module from apt, I usually do so because then apt update picks up new versions of it.  When I install something which has a dependency on a perl module in apt, that module gets installed.  Things just work and I am unstressed and happy.

 

However, what should I do if I need a perl module that someone hasn’t kindly created a package for?  I know I can install it from cpan.  But once I do that, then I have to keep that module up to date via cpan.  Perhaps I’m not alone and someone has a way to cross maintain these things that I’m unaware of?

 

So I yesterday, I decided to install a perl module from cpan.  I ran cpan for the first time in a long time, it asked me some question which I took the default (maybe I shouldn’t have!), then I installed Mail::DMARC.  It downloaded the source, grinded away for several minutes and when it was finished, it successfully installed the module.  Miraculous!

 

But it installed it in /usr/share/perl/5.30/Mail/DMARC.

 

I thought that’s odd, why would it install it in a folder that has a perl version?  Why not somewhere a bit more general like /usr/share/perl5?

 

What happens when Perl gets updated and /usr/share/perl/5.30/ is no longer in perl’s search path for its modules?  I’m worried that using this DMARC perl module, updating perl could just break mail someday!  Shouldn’t the default for cpan be something other than this version based directory on Debian?  Should I worry about this?  (this may be more a CPAN question than a Debian question to be honest).

 

So my question is, is there a recommended, maintainable way to install perl modules on Debian that are not installed by apt-get such that things get updated properly?

 

I suppose this could even be a general question when you consider other things like python, php, nodejs  and others, all of which have their own module systems.  Feels like there’s a need for a sort of meta-module system that works with apt, but I’m not sure which is why I am asking here.

 

Suggestions and advice welcome!

 

Michael Grant


Reply to: