Tuesday, May 17, 2011

CPAN-Testers



Como se me olvidó colocar al menos una entrada en mayo :( , bueno coloco una entrada algo diferente de la habitual, de este tipo siempre tengo por acá porque mi memoria no es muy buena, lo importante es que tiene fecha de creación mayo jijiji. y Bueno el contenido muestra el como compilar una versión de perl para realizar pruebas de humo (smoke testing) sobre esa versión y enviar los reportes. Sólo voy a cubrir la instalación y el 90% de la información en esta entrada y una información más amplia, pueden buscarla en los siguientes links:

http://ur1.ca/4hx3d SmokerLong
http://ur1.ca/4hx3a Smoker
http://ur1.ca/4hx35 (QuickStart)
http://ur1.ca/4hx31 (CPAN::Tester)
http://ur1.ca/4hx2x

UNO- App::Smokerbrew.

1.1 - Se instala El siguiente módulo:

http://ur1.ca/4hx3h (App::Smokerbrew)
http://ur1.ca/4hx3i

1.2 - Esto se ejecuta en CLI:

smokebrew --email tester@cpan.org --builddir /cygdrive/e/buildperl5.12.1 --prefix /cygdrive/e/perl5.12.1 \
--perlargs "-Dusethreads" --perlargs "-Duse64bitint" --mirrors http://cpan.hexten.net/ \
--plugin App::SmokeBrew::Plugin::CPANPLUS::YACSmoke --install perl-5.12.1 --verbose

Los argumentos pueden cambiarlos a gusto, igual que en la compilación del perl, en caso que quieran copiar la configuración de esta persona BINGOS, revisen este módulo:
( App::SmokeBrew::Plugin::BINGOS )
ahí están las instrucciones.. http://ur1.ca/4hx3l

DOS. compilando Perl.
sh Configure -des
-Dprefix=/cygdrive/e/perl5.14
se pueden añadir banderas a gusto.. en este caso tomara las que son por defecto.
y muy importante modificar las opciones del cpan y colocarlo en un directorio aparte del usualmente utilizado, o conf init realizará preguntas y te permite configurar todas las opciones.

TRES. utilizando perlbrew (App-perlbrew)

http://ur1.ca/4hx3q

Es recomendable que utilizan el gestor de paquetes de su distribución para instalar este módulo, en caso de linux..

luego de haber instalado por preferido gestor de paquete.. el indicará si tienen que configurar alguna variable de entorno en el caso de archlinux creo que si, pero ahorita no recuerdo ni lo tengo a la mano.

Ejecutar (Esto se ejecuta una sola vez)
$ init
para instalar una versión de perl:
$ install perl-5.14.0
$ install /path/to/perl-5.14.0
$ perlbrew list
Esto lista las diferentes versiones que se tienen instaladas
$ perlbrew switch
cambia la versión de perl a utilizar y esta la toma por defecto para futuras sesiones.
$ perlbrew use
cambia la versión a utilizar.
$perlbrew off
detener la ejecución del entorno local.

Todo esto se instala en tu directorio $HOME.

CUATRO. local::lib.
descargar desde cpan, http://search.cpan.org/dist/local-lib
luego descomprimir y ubicarse en el directorio.
ejecutar : $ perl Makefile.PL --bootstrap
Attempting to create directory /home/jmaldo03/perl5
*** Module::AutoInstall version 1.03
*** Checking for Perl dependencies...
[Core Features]
- ExtUtils::MakeMaker ...loaded. (6.55_02 >= 6.31)
- ExtUtils::Install ...loaded. (1.54 >= 1.43)
- Module::Build ...loaded. (0.3613 >= 0.36)
- CPAN ...loaded. (1.9600 >= 1.82)
*** Module::AutoInstall configuration finished.
Checking if your kit is complete...
Looks good
Writing Makefile for local::lib

$ make && make test
cp lib/POD2/PT_BR/local/lib.pod blib/lib/POD2/PT_BR/local/lib.pod
cp lib/lib/core/only.pm blib/lib/lib/core/only.pm
cp lib/local/lib.pm blib/lib/local/lib.pm
cp lib/POD2/DE/local/lib.pod blib/lib/POD2/DE/local/lib.pod
Manifying blib/man3/POD2.PT_BR.local.lib.3pm
Manifying blib/man3/lib.core.only.3pm
Manifying blib/man3/local.lib.3pm
Manifying blib/man3/POD2.DE.local.lib.3pm
PERL_DL_NONLAZY=1 /usr/bin/perl.exe -I/home/jmaldo03/perl5/lib/perl5/i686-cygwin-thread-multi-64int -I/home/jmaldo03/perl5/lib/perl5 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'inc', 'blib/lib', 'blib/arch')" t/classmethod.t t/coderefs_in_inc.t t/de-dup.t t/install.t t/lib-core-only.t t/pipeline.t t/stackable.t
t/classmethod.t ...... Name "File::Spec::rel2abs" used only once: possible typo at t/classmethod.t line 20.
t/classmethod.t ...... 1/? Attempting to create directory t/var/splat
t/classmethod.t ...... ok
t/coderefs_in_inc.t .. ok
t/de-dup.t ........... ok
t/install.t .......... ok
t/lib-core-only.t .... ok
t/pipeline.t ......... ok
t/stackable.t ........ ok
All tests successful.
Files=7, Tests=31, 14 wallclock secs ( 0.05 usr 0.05 sys + 4.72 cusr 4.33 csys = 9.15 CPU)
Result: PASS
$ make install
Installing /home/jmaldo03/perl5/lib/perl5/lib/core/only.pm
Installing /home/jmaldo03/perl5/lib/perl5/local/lib.pm
Installing /home/jmaldo03/perl5/lib/perl5/POD2/DE/local/lib.pod
Installing /home/jmaldo03/perl5/lib/perl5/POD2/PT_BR/local/lib.pod
Installing /home/jmaldo03/perl5/man/man3/lib.core.only.3pm
Installing /home/jmaldo03/perl5/man/man3/local.lib.3pm
Installing /home/jmaldo03/perl5/man/man3/POD2.DE.local.lib.3pm
Installing /home/jmaldo03/perl5/man/man3/POD2.PT_BR.local.lib.3pm
Appending installation info to /home/jmaldo03/perl5/lib/perl5/i686-cygwin-thread-multi-64int/perllocal.pod

Se añade esta línea al final del tu configuración
de bash en caso que utilizes bash.
echo 'eval $(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)' >>~/.bashrc
y listo. Cualquier módulo será instalado en su directorio $HOME.

CPAN, y configuración para que acepte la instalación de dependencias de forma automática..
  1. o conf prerequisites_policy follow
  2. o conf build_requires_install_policy yes
  3. o conf commit
Si quieres eliminar todos los módulos que has instalado y comenzar de nuevo solo elimina los siguientes directorios ~/.cpan and ~/perl5 .

Ejecutar el smoker:

Tienes que tener instalado CPAN::Reporter::Smoker
  1. nice perl -MCPAN::Reporter::Smoker -e "start(install=>1)" <-- Esto lo vi en la lista de cpan-tester
  2. perl -MCPAN::Reporter::Smoker -e "start"
  3. nohup /Users/jj/perl/perl-5.8.2/bin/perl -MCPAN::Reporter::Smoker -e start & <-- Esto es de la wiki de cpan tester