Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

Module distribution

by EMC (Initiate)
on Jul 27, 2010 at 17:46 UTC ( [id://851576]=perlquestion: print w/replies, xml ) Need Help??

EMC has asked for the wisdom of the Perl Monks concerning the following question:

Hello,

I'm a AIX Sysadmin who has been bugged for years that our 50 or so AIX 5.3 machines never really worked with CPAN and we've never had a plan to distribute modules consistently. The Perl that comes with the OS is compiled with IBM'c XLC compiler, which doesn't live on all machines. We are in the process of upgrading to AIX 6.1 and I'd like to solve this issue.

I've installed IBM's C compiler and walked though getting CPAN::Bundle installed. I'd like to compile a few additional modules as well, and use this system an a 'build system.' Now I need to distribute these local modules to all of the other systems, hopefully in a nice and simple way.

Any thoughts? I know folks with lots of servers don't simply log in and use CPAN for everytime they want to deploy a module to all of their servers.

I was thinking of just rsync'ing the following directories
/usr/opt/perl5/lib/5.8.8
/usr/opt/perl5/lib/site_perl/5.8.8

from the 'build' machine with the C compiler.

Sorry if I'm over-thinking this and missing some obvious solution. I'm not a Perl expert, but I do like to use it.

Replies are listed 'Best First'.
Re: Module distribution
by almut (Canon) on Jul 27, 2010 at 18:09 UTC
    I was thinking of just rsync'ing the following directories
    /usr/opt/perl5/lib/5.8.8
    /usr/opt/perl5/lib/site_perl/5.8.8

    Sounds like a reasonable plan (if the machines are binary-compatible).  But note that if modules depend on 3rd-party shared libraries (installed in different locations), you'd have to distribute them too...  For the latter case, some packaging/distribution tool might be easier to use.

    In case you intend to do larger cpan installations, in particular of modules that might risk destabilizing any system tools that rely on the Perl installation as it ships, you might want to think about setting up a second separate Perl installation for your own use (e.g. in /usr/local/perl/...), into which you then install the CPAN modules (and rsync them...).

      Sounds like a reasonable plan (if the machines are binary-compatible).

      And the perl binaries were built using the same settings.

      But note that if modules depend on 3rd-party shared libraries (installed in different locations), you'd have to distribute them too...

      There's often a good case for building those modules against static libraries - as there's then no additional files to distribute.
      Another problem with shared libraries is that there's a possibility that the shared library being distributed is not the shared library that gets loaded by the perl module - which is something that needs to be considered when troubleshooting. (Obviously, this aspect is also avoided if the module is built against a static library.)

      Cheers,
      Rob
Re: Module distribution
by JavaFan (Canon) on Jul 27, 2010 at 17:59 UTC
    It's been a while since I last used AIX, and I don't recall which version we used back then, but I do remember we deployed a lot of software using rpms. It took some effort to get yum running, but once we had that, it was yum+rpms all the way (well, except for our main software - that was a nightmare to deploy - a little different for each delivery).
Re: Module distribution
by exussum0 (Vicar) on Jul 27, 2010 at 18:40 UTC
    Wasn't there a node about SSLeay and recompiling it if the underling OpenSSL lib may need upgrading?

    /too busy to go diving

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://851576]
Approved by lostjimmy
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others taking refuge in the Monastery: (8)
As of 2024-04-22 13:01 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found