[freeside-users] Installing CPAN modules using a local Bundle

Richard Siddall richard.siddall at elirion.net
Wed Sep 21 13:51:15 PDT 2005


This is just a quick description of a technique I've used a couple of
times to simplify the installation of Freeside.

Bundles are essentially Perl modules which contain a list of other Perl
modules instead of code.  When CPAN is told to install a Bundle, it
installs all the modules referenced in the bundle.

It turns out that you can use a local bundle instead of one on CPAN.  I
believe this is a feature of the CPAN module to allow you to restore
or replicate Perl installations using autobundle files.

Step by step:

1/ Write your bundle file.  (There's a sample bundle file for the
billing server part of the Freeside system attached to this e-mail; I 
think it's for 1.4.1.)

2/ Make sure CPAN has been run at least once by the user that will be
doing the installation (root).  (On older Perls it can be a good idea to
update the CPAN module, so cpan doesn't try to upgrade Perl.)

3/ Copy your bundle file to the Bundle subdirectory of the user's CPAN
directory (/root/.cpan/Bundle for example).

4/ Start CPAN and install the bundle:
	cpan
	install Bundle::Freeside-Server

5/ Watch the output and make sure there are no fatal errors.  (I think
on one system I re-ran the installation several times and ultimately
everything installed.)

This doesn't really save you much.  With the same amount of work you
could write a shell script that makes cpan install the same set of
modules.  However, it is useful for creating a bunch of RPMs of Perl
modules using Ovid, as you can do:
	ovid Bundle::Freeside-Server

Regards,

	Richard.

-------------- next part --------------
package Bundle::Freeside::Server;

$VERSION = '0.01';

1;

__END__

=head1 NAME

Bundle::Freeside::Server - Required Perl modules for the core Freeside Billing Server installation

=head1 SYNOPSIS

perl -MCPAN -e 'install Bundle::Freeside::Server'

=head1 CONTENTS

MIME::Base64

Digest::MD5

Net::FTP	- for libnet

Locale::Constants	- for Locale-Codes

Net::Whois

Business::CreditCard

Mail::Header	- for MailTools

Date::Format	- for TimeDate

File::CounterFile

FreezeThaw

String::Approx

Text::Template

DBIx::DataSource

DBIx::DBSchema

Net::SSH

String::ShellQuote

Net::SCP

Tie::IxHash

Time::Duration

HTML::Widgets::SelectLayers

Storable

Apache::DBI

=head1 CONFIGURATION



=head1 AUTHOR

Richard Siddall






More information about the freeside-users mailing list