Bundles

Un bundle es un tipo de objeto CPAN que simplifica la instalación de un conjunto de módulos. El modulo CPAN detecta que nos estamos refiriendo a un bundle porque siempre van prefijados por Bundle::.

Construccion de un Bundle con autobundle

Una de las formas de construir un Bundle es mediante el comando autobundle. El comando autobundle crea un Bundle conteniendo la información necesaria para la instalación de los módulos especificados:

cpan[1]> autobundle CGI Crypt::Rot13 Date::Christmas Date::Manip
CPAN: Storable loaded ok (v2.15)
Going to read /root/.cpan/Metadata
  Database was generated on Tue, 08 May 2007 03:10:17 GMT

Package namespace         installed    latest  in CPAN file
CGI                            3.15      3.29  LDS/CGI.pm-3.29.tar.gz

Wrote bundle file
    /root/.cpan/Bundle/Snapshot_2007_05_08_00.pm

Ahora el fichero "Snapshot_2001_05_09_01.pm" puede ser usado en conjunción con CPAN.pm para instalar la familia de módulos descrita en el bundle:

perl -MCPAN -e 'install Bundle::Snapshot_2001_05_09_01'

En que Directorio queda un Bundle

El fichero se deja en el directorio "$CPAN::Config->{cpan_home}/Bundle". En modo interactivo podemos consultar la opción cpan_home:

cpan> o conf cpan_home
    cpan_home          /home/chaos/monkey/.cpan

Transportando una Instalación de Perl con autobundle

Si no se especifica lista de módulos se construirá un bundle para la instalación actual de la máquina:

cpan> autobundle

Package namespace         installed    latest  in CPAN file
AnyDBM_File                    1.00      1.00  N/NW/NWCLARK/perl-5.8.6.tar.gz
Apache                         1.27      1.27  G/GO/GOZER/mod_perl-1.29.tar.gz
Apache::Connection             1.00      1.00  G/GO/GOZER/mod_perl-1.29.tar.gz
Apache::Constants              1.09      1.09  G/GO/GOZER/mod_perl-1.29.tar.gz
Apache::Constants::Exports     undef     undef  G/GO/GOZER/mod_perl-1.29.tar.gz
Apache::Debug                  1.61      1.61  G/GO/GOZER/mod_perl-1.29.tar.gz
Apache::ExtUtils               1.04      1.04  G/GO/GOZER/mod_perl-1.29.tar.gz
....
Wrote bundle file
    /root/.cpan/Bundle/Snapshot_2005_05_11_00.pm
Esto permite la creación automática de un bundle que congela la lista de módulos en nuestro sistema. Si ahora queremos tener una instalación de Perl en otra máquina con los mismos módulos que esta, sólo tendremos que instalar el bundle.



Subsecciones
Casiano Rodríguez León
2009-10-04