TooManySecrets HeadQuarters
openSUSE: trucos instalación paquetes módulos Perl (rpm).

Como muchos sabreis, existe el repositorio devel:languages:perl, donde podreis encontrar unos cuantos módulos del lenguaje Perl (unos 2000 aproximadamente ahora mismo).

Cuando se construyen los paquetes rpm para cada uno de ellos, se emplea un script post-build que analiza los ficheros que son parte del paquete en cuestión para localizar los módulos Perl. Para cada uno de ellos se añade un Provides con el nombre en forma Perl para el módulo, con una anotación específica del estilo: perl(Name::of::the::Perl::Package).

De esta forma, si necesitas DBIx::DR tan solo tienes que ejecutar lo siguiente:

zypper install ‘perl(Net::SMTP::SSL)’

Al tanto con las comillas simples; son necesarias para que bash no las interprete y dé un bonito syntax error.

Este caso se podría considerar sencillo, en el sentido de que dicho módulo lo provee el paquete perl-Net-SMTP-SSL, por lo que podría haber sido capaz de obtener el nombre del paquete RPM a partir del nombre del módulo que falta Perl. Pero ese módulo Perl podría muy bien ser parte de un paquete con un nombre diferente: por ejemplo, la clase del módulo de Class:: MOP no está en el paquete RPM perl-Class-MOP, pero si en el paquete RPM perl-Moose (porque es parte del módulo Moose CPAN).

Así, si lo que se quiere es localizar el paquete que contiene el módulo que buscamos, usaremos lo siguiente (continuando el ejemplo de la clase Class::MOP):

zypper what-provides ‘perl(Class::MOP)’

(logicamente esto solo funciona con repositorios que tengas añadidos como activos en tu sistema).

Have a nice day ;-)

TooManySecrets

Posted via email from TooManySecrets HeadQuarters | Comment »