Ben justement, mon problème c'est que du coté de mon serveur de prod, je n'ai pas d'accès au Net (donc impossible de récupérer les archives du CPAN) et que je n'ai pas envie d'utiliser le mini-CPAN avec ces 500Mo. De plus, je ne peux pas me permettre d'embarquer les modules installés sur mon serveur de dev (en gros copié /usr/lib/perl5) car l'architecture du serveur de prod peut être différent de celui de dev.
Bref, j'ai trouvé une solution pas super élégante mais qui devrait me dépanner :
- Lister tous les packages du CPAN installés sur ma machine de dev.
- Récupérer via la fonction get de CPAN::Module les sources.
- Récupérer les fichiers de liste des packages dispo sur mon mini-cpan. Si j'ai le temps je génererais une liste propre ne contenant que les packages dont j'ai besoin.
- Ensuite mettre tout ça dans un répertoire émulant la structure du référentiel CPAN.
- Tar GZipper tout ça et créer un fichier MyConfig.pm à installé sur le serveur de prod qui pointera sur la répertoire temporaire contenant mon pseudo-cpan embarqué dans le tar.gz.
Ensuite sur le serveur de prod, il me restera à faire un perl -MCPAN -e "install " sur les modules de haut niveau que j'utilise et ça devrait être bon.
Toutefois si quelqu'un à une solution plus propre, je suis prenneur.
[^] # Re: heu ...
Posté par pifou . En réponse au message CPAN et dépendances. Évalué à 1.
Bref, j'ai trouvé une solution pas super élégante mais qui devrait me dépanner :
- Lister tous les packages du CPAN installés sur ma machine de dev.
- Récupérer via la fonction get de CPAN::Module les sources.
- Récupérer les fichiers de liste des packages dispo sur mon mini-cpan. Si j'ai le temps je génererais une liste propre ne contenant que les packages dont j'ai besoin.
- Ensuite mettre tout ça dans un répertoire émulant la structure du référentiel CPAN.
- Tar GZipper tout ça et créer un fichier MyConfig.pm à installé sur le serveur de prod qui pointera sur la répertoire temporaire contenant mon pseudo-cpan embarqué dans le tar.gz.
Ensuite sur le serveur de prod, il me restera à faire un perl -MCPAN -e "install " sur les modules de haut niveau que j'utilise et ça devrait être bon.
Toutefois si quelqu'un à une solution plus propre, je suis prenneur.