[Cascavel-pm] verificar existencia de modulos

Daniel Ruoso daniel em ruoso.com
Segunda Abril 16 03:16:07 PDT 2007


Sáb, 2007-04-14 às 11:42 -0300, Donato Azevedo escreveu:
> eu tenho um servidor de aplicação web com diversos arquivos .cgi e .pm
> eu gostaria de saber qual a forma mais eficiente de verificar se todas
> as dependencias destes arquivos estão satisfeitas, ou seja, se todos
> os modulos use'd  por eles existem de fato.

A forma mais eficiente é declarando essa dependência explicitamente. Por
exemplo, eu sempre trabalho com pacotes Debian, porque eu posso manter
cada parte da aplicação de forma independente e posso declarar as
dependências de cada parte da aplicação. Depois é só uma questão de
fazer:

# apt-get update

# apt-get install myapp

ou, para uma mudanca de versão...

# apt-get dist-upgrade

Mas isso pressupõe Debian, e não era propriamente isso que eu queria
dizer. O que eu queria dizer é que "Release Management" é uma atividade
paralela ao desenvolvimento em si, e deve garantir a integração com o
ambiente de produção, seja ele o SO que for (leia-se: Use o
empacotamento do sistema operacional, se for um empacotamento aceitável,
ele vai ter controle de dependências)...

Ah... uma observação a mais. Tome muito cuidado ao utilizar "cpan
install" em ambiente de produção, porque em alguns casos, mesmo que você
pegue a mesma versão do módulo Perl, ele pode estar linkando com uma
versão diferente de alguma biblioteca, e isso pode dar ao seu sistema
comportamentos inesperados. Recomendo sinceramente que você sempre use
exatmente os mesmos binários e módulos que você tinha no seu ambiente de
teste no ambiente de produção, dê uma olhada em ferramentas como o
pbuilder para ver como criar um ambiente igual ao seu ambiente de
produção, tenho utilizado isso há alguns 6 meses no projeto que estou
trabalhando, e isso aliado com Test Driven Development me ajudou a
evitar uma quantidade considerável de problemas...

Em resumo, dê ao "Release Management" a importância que ele merece...

daniel



Mais detalhes sobre a lista de discussão Cascavel-pm