DWIM Perl for Linux 5.18.1
A long time ago I started to build a Perl distribution for Linux, but then I did not have more time and I did not have the immediate need. But it has changed and thus I created a new version of the DWIM Perl for Linux.
It includes perl 5.18.1, DBI, DBD::SQlite, Moo, and for the first time it include XML::LibXML. This is the big change for me and for the package. It now includes a directory called c/ where external (non-perl) dependencies are installed.
If you have time, please give it a try!
Do not take this as an offense, but what is the point of DWIMPerl?
With perlbrew and cpanm I can achieve the same result.
So my question is: What is a reasonable use case of DWIM Perl for Linux?
My guess:
- installs faster
- for when you dont want to learn perlbrew/cpanm usage
oops. forgot one possible argument. included dependencies of devel versions of libs.
@davewood you are right. A few use-cases
1) I have several servers and I'd like to make sure I have the same version of perl and the same versions of modules everywhere. It makes maintenance easier.
(That is really the case for myself)
2) I need to send a script or application to a client and I don't want to bother them with the installation of modules. (Specifically PAR failed for me now. Ticket was opened. Once it is fixed, this use case might be less of a valid use case, but for now it was urgent to me to solve this.)
3) I'd like to write an entry in the Perl Tutorial and give the readers an easy route to get started. Without first explaining how to install modules.
Letting them install everything they need quickly
4) ??
Isn't it true that most folks these days are standardizing on a distro that employs package management? I use CentOS and RedHat so rpms are the preferred method for prepping a server for use. Debian based distros like Ubuntu use apt.
While there is a lot of benefit that has been derived historically from CPAN, I find it imperative for my purposes to use the package manager to install new software and my applications. I have to use cpan2rpm more than I would prefer to.
As you move your applications to the cloud and utilize their platform build tools, you're going to want a saner way of prepping servers from base distros like CentOS, RedHat, Debian/Ubuntu or just the vanilla AWS AMIs.
It seems much easier at least for me to start with a known good base and use CloudFormat, chef or puppet to the provision the server appropriately.
OTOH, having your own distro certainly gives you a lot of fine grained control over more than you might have by simply installing packages. Kernel tuning perhaps?
Sorry meant to say "CloudFormation", not "CloudFormat"...here's a link to a series of post I did on using Amazon's CloudFormation too for prepping a platform stack.
http://openbedrock.blogspot.com/2013/11/aws-cloudformation-tips-for-novice-me.html
As far as I understand many people in the vocal part of the Perl community actually recommend to leave the system-perl alone and build your own perl. (perlbrew or otherwise.)
So I don't know if either of these case is the majority and I can see merit in either directions.
I don't know if sane, but writing
wget http://URL-of-DWIM-Perl
tar xzf ....
seem quite an easy way to set up servers in the cloud.
Nevertheless I am going to explore the other ways as well.
That makes sense - installing a customized perl if required side-by-side...and using wget && tar is compatible with automation tools.
I think I was confused and thinking you were advocating a customized distribution with your own perl. I see the difference. Thanks for clarifying.
DWIM Perl is a customized Perl distribution and not a a customized Linux distribution. If that was the confusion.
Actually I also thought of creating a customized Linux distribution called Pubuntu, that would be a derivative of Ubuntu with manyPerl modules already installed (via apt-get) and extra CPAN modules not yet packaged for Debian/Ubuntu also installed. But that's another story.
regarding your pubuntu comment, instead of reinventing the wheel (unless for some fun) maybe talk to the guys/girls at Mageia.
they love Perl http://perl.mageia.org/stats/
and a little. old but article about Mageia Perl stack maintainer and cpan contributor http://blog.mageia.org/en/2011/07/01/make-mageia-jq/
But you still need a compiler for other modules you might want to add on, no? You are not including a toolchain, right?
@flebber.crue thanks for the links. According to cpan.org There are 28,767 distributions, according to that interview with jq, Mageia had 2,500 about 2.5 years ago. So it was about 10% As far as I know the same true for Debian/Ubuntu and Fedora as well. (When I checked a few years ago they kept being around 10%) So I am not sure what is the difference.
@Matthew Persico, currently DWIM Perl for Linux does NOT come with a compiler and my bold assumption is that it will contain everything you'd need. I am thinking about including a compiler and everything needed to compiler Perl and the modules, but I am not sure if it is worth it. (Or if I can do that.)
Something like DWIM Perl could also be done with Stratopan. But rather than distributing entire Perls with extra modules, you would simply curate a stack with a Task::DWIM module that declares all the dependencies.
Stratopan makes it possible to build stacks of modules for different scenarios. To install, a user might just say...
cpanm --mirror https://stratopan.com/sazgab/DWIM-Perl/perl-5.16.2-win32 --mirror-only Task::DWIM
...and he/she would get all the modules you had cherry picked for Perl 5.16.2 and Win32. Same could be done for any other Perl & OS combination.