Assuming no significant interference from the polar vortex, later this
week I will be installing either FreeBSD or OpenBSD on a recent model
Asus ultrabook computer. This will be the first time since ... well,
first time in many years that I will be working with a new operating
system on a machine that I own and am completely responsible for. So it
provides me with an opportunity to configure the machine with up-to-date
(and, perhaps, "best") practices.

I would like your guidance on how to proceed once the new OS is
installed. Here are my plans for this machine:

1. I don't intend it to be my primary personal laptop -- at least not
at first. I don't intend it to be the box to which I download my email
or from which I browse the web. At least at first it will not be the
machine on which I do my perl5.porters-related work or go on IRC.

2. I do intend to use it to do smoke-testing of CPAN distributions.
Specifically, those distributions which changes in Perl 5 blead break,
as reported in the tickets Andreas files on rt.perl.org. Andreas does
his testing on Linux, so smoke-testing on a non-Linux system can be
helpful in resolving an RT. For example, if I were able to do a *BSD
smoke test against blead for Devel-SizeMe, I would be confident in
closing https://rt.perl.org/rt3/Ticket/Display.html?id=119295.

I don't currently do testing of CPAN distros *against blead* or *against
dev releases* (e.g., 5.19.*) because, on dromedary at least, I haven't
figured out how to install an easily disposable blead or dev against
which I can test a CPAN distro.

(I don't intend to do general smoke-testing of "all CPAN against blead
or dev release" with this machine. It's just a laptop, after all.)

3. I do intend to use this machine for testing of Perl 5 blead.
Currently I test blead on Linux/x86_64 (the dromedary server) several
times a week and on my 10-year-old iBook G4 (Darwin/PPC) several times a
month. I don't actually submit smoke reports; I merely file RTs when
they occur. I may or may not consider smoke tests against blead on this
*BSD once it's up and running.

4. I do intend to use this machine for learning a new language which
sits on top of the JVM. Both my current laptop and my Linode are not
suitable candidates for installing a JVM.

5. For the past several years, my approach when being presented with a
new box on, say, $job, has been to compile the latest Perl 5 stable
release from source and install it into /usr/local/. I then use 'cpan'
to install Devel::Cover, DateTime, LWP, Moose, etc. I have had some
limited experience with 'perlbrew' at $job, but not for the purpose of
switching between a stable version of Perl and one intended to test
things against the cutting edge.

So, given the above, what would you recommend once the new OS is
installed and I can do 'perl -V'?

Specifically, how should I install and use tools like:

* perlbrew
* cpanm

Note that outside of the considerations listed above, I would like to
rely on the OS's ports/packages system for all other software installation.

Thank you very much.
Jim Keenan

Search Discussions

  • David Golden at Jan 20, 2014 at 2:41 am

    On Sun, Jan 19, 2014 at 8:07 PM, James E Keenan wrote:
    Specifically, how should I install and use tools like:

    * perlbrew
    * cpanm
    Though I hear good things about plenv (and might start there if I were
    starting over) my experience to date is with perlbrew, so I'll
    describe that.

    I would bootstrap perlbrew following the instructions on perlbrew.pl.
    (Be sure to modify your .bashrc or whatever to load perlbrew functions
    into your shell.)

    Then I would use a script along these lines to install each perls that
    I would be working with:


    That is an UNTESTED modification of my regular "newperl" script,
    without using a local library on top of perlbrew, which I stole from
    rjbs and have come to regret (for reasons I won't elaborate on here.)

    I encourage you to look closely at the steps, which you can do
    manually or change as you see fit. (Or that you'll need to debug if
    my stripping out the local-lib code had a bug.)

    You'll see variables for modules to install, modules to force, etc.
    Modify those as desired. It installs cpanm automatically for each
    perl, which miyagawa recommends over the cpanm that perlbrew can
    install. (So don't do "perlbrew install-cpanm").

    Assuming you save it as "newperl", it would work something like this:

         $ newperl 18.2

    That would grind for a while installing Perl 5.18.2, but naming it for
    perlbrew purposes as "18.2".


         $ perlbrew switch 18.2

    Would make v5.18.2 your active perl in the current shell and the
    default perl for any new shell. For temporary use (assuming you've
    run "newperl 16.3"):

         $ perlbrew use 16.3

    That makes v5.16.3 your perl for the current shell only.

    There are some other little features, like "newperl 18.2t" should
    install a threaded version of v5.18.2 as "18.2t" so you can "use
    18.2t" to make that active.

    Perlbrew appears to have an "install-multiple" command that can
    install threaded/non-threaded variants, etc. but that feature
    postdates my own automation so I haven't bothered.

    Hope that helps,

    David Golden <xdg@xdg.me>
    Take back your inbox! → http://www.bunchmail.com/
    Twitter/IRC: @xdg

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcpan-workers @
postedJan 20, '14 at 1:07a
activeJan 20, '14 at 2:41a

2 users in discussion

David Golden: 1 post James E Keenan: 1 post



site design / logo © 2021 Grokbase