App distribution method?

B

Bret Wortman

I've got a Perl application I recently developed which relies on a number of
modules, including a variety of XML and SAX flavors. I really need a
minimum of Perl 5.6.1. The application polls each target system for system
information and gathers version information for installed software products.
It also does some hardware investigation and the like. It runs from an
automounted (or NFS-mounted) directory and, outside of Perl and the module
dependencies, is self-contained.

We want to deploy this application across a very large number of systems and
the problem is that we have Perl versions ranging back to 5.005 and up to
5.8.0. Some have never been configured for CPAN and others have obsolete
configurations. The application will be deployed to a variety of Unixes
(Tru64, Solaris) and Linux.

I've written some scripts which are capable of installing all the
prerequisites (including building Perl 5.8.0, installing CPAN-1.70 and
setting up a basic MyConfig.pm file) then building some key modules before
using CPAN to install from an autobundle-created bundle file. After that,
my app is good to go on the target system.

My question is this: is there a way to install the necessary libraries and
modules under a common directory and not directly on the target systems?
Could I create a series of subdirectories of the main NFS-mounted dir which
could contain enough modules and libraries to avoid having to do the full-up
CPAN installation on each target system? The process of rolling this out is
becoming daunting and I'm looking for shortcuts which might reduce the
requirements on the target systems.

If this is possible, would I need directories organized both by target OS
*and* by Perl version?

Thanks!


Bret Wortman
 
J

James Willmore

My question is this: is there a way to install the necessary
libraries and modules under a common directory and not directly on
the target systems? Could I create a series of subdirectories of the
main NFS-mounted dir which could contain enough modules and
libraries to avoid having to do the full-up CPAN installation on
each target system? The process of rolling this out is becoming
daunting and I'm looking for shortcuts which might reduce the
requirements on the target systems.

If this is possible, would I need directories organized both by
target OS*and* by Perl version?

Two thoughts:

1) Install the Perl version you want, modules and all, on an NFS mount
common to all machines.

2) Install the modules on an NFS mount using the
following:

perl Makefile.PL PREFIX=<NFS mount here>
make
make test
make install

Each method has various issues associated with them. The second,
depending on what modules you use, may need you to update core Perl
modules - which will cause tons of headaches. The first, although
it's attractive, may cause headaches when the modules you're building
depend on libraries that not all the machines have (such as expat and
libxml). Not to mention that, again, core Perl modules may need to be
updated.

These are just two thoughts. Someone else may have better solutions
for you. These are the two I have right off the top of my head, both
are pretty messy.

HTH

Jim
 
E

Edward Wildgoose

We want to deploy this application across a very large number of systems
and
the problem is that we have Perl versions ranging back to 5.005 and up to
5.8.0. Some have never been configured for CPAN and others have obsolete
configurations. The application will be deployed to a variety of Unixes
(Tru64, Solaris) and Linux.

Try PAR

Latest version can even package stuff up for multiple architectures...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,581
Members
45,055
Latest member
SlimSparkKetoACVReview

Latest Threads

Top