Perl Centos

Afin de construire une image docker pour travailler sur une application Perl devant s'exécuter sur une machine Centos 6, j'ai été confronté à l'impossibilité d'installer le package perl-DBIx-Class du fait d'une dépendance manquante avec le paquet perl-MooseX-Types-JSON.

Certes, il eût été possible d'installer le paquet via cpan, mais une autre contrainte est que la machine Centos n'a pas accès à Internet, donc pas à CPAN. Du coup, j'aurais été obligé de télécharger la distribution à la main - tout à fait faisable - mais également toutes ses dépendances, directes et indirectes.... Et là, j'ai reculé.

Précisons que perl-DBIx-Class nécessite d'activer EPEL, mais que notre paquet fugueur, bien évidemment, n'y figure pas.

A grands coups de recherche sur Internet, j'ai fini par trouver le paquet perl-MooseX-Types-JSON sur http://choonrpms.mirror.choon.net. D'où la résolution suivante:

  1. installer epel
  2. installer les paquets perl-DBI et perl-MooseX-Types dont on sent bien qu'ils seront des dépendances nécessaires
  3. installer le paquet perl-JSON-XS dont on s'aperçoit après une première tentative que perl-MooseX-Types-JSON en a besoin
  4. télécharger le rpm ici
  5. installer notre rpm
  6. installer finalement perl-DBIx-Class

ce qui donne:

 yum install epel-release
 yum install perl-DBI perl-MooseX-Types perl-JSON-XS
 wget http://choonrpms.mirror.choon.net/centos/6/choonrpms/x86_64/perl-MooseX-Types-JSON-0.02-3.choon.centos6.noarch.rpm
 rpm -i perl-MooseX-Types-JSON-0.02-3.choon.centos6.noarch.rpm
 yum install perl-DBIx-Class

Voilà, en espérant que ça vous évitera de perdre autant de temps que moi pour surmonter cet obstacle si tant est que vous ayez besoin de vous plier aux mêmes contraintes que moi.