Archive for February 25th, 2008

Se você vive compilando módulos Perl em máquinas sem saída para a Internet, ou se você sofre com problemas de lentidão ou disponibilidade de links externos, seus problemas acabaram :-)

Utilizando o CPAN-Mini (sua única dependência é o File-HomDir) você pode construir um repositório interno com menos de 1 GB e mante-lo atualizado diariamente com a seguinte entrada no crontab:

# Repositorio CPAN
30 04 * * * /usr/bin/minicpan -l /var/www/cpan/ -r http://cpan.kinghost.net/

Para utiliza-lo, você pode alterar o arquivo /etc/perl/CPAN/Config.pm da seguinte forma (no Debian/ Ubuntu):

'urllist' => [q[http://cpan.empresa.com.br/]],

Para os Red Hat’s da vida, você pode utilizar esta configuração:

[root@xen4-vm3 ~]# cat /usr/lib/perl5/5.8.5/CPAN/Config.pm

# This is CPAN.pm's systemwide configuration file. This file provides
# defaults for users, and the values can be changed in a per-user
# configuration file. The user-config file is being looked for as
# ~/.cpan/CPAN/MyConfig.pm.

$CPAN::Config = {
'build_cache' => q[10],
'build_dir' => q[/root/.cpan/build],
'cache_metadata' => q[1],
'cpan_home' => q[/root/.cpan],
'ftp' => q[/usr/kerberos/bin/ftp],
'ftp_proxy' => q[],
'getcwd' => q[cwd],
'gpg' => q[/usr/bin/gpg],
'gzip' => q[/bin/gzip],
'histfile' => q[/root/.cpan/histfile],
'histsize' => q[100],
'http_proxy' => q[],
'inactivity_timeout' => q[0],
'index_expire' => q[1],
'inhibit_startup_message' => q[0],
'keep_source_where' => q[/root/.cpan/sources],
'links' => q[/usr/bin/links],
'make' => q[/usr/bin/make],
'make_arg' => q[],
'make_install_arg' => q[],
'makepl_arg' => q[],
'ncftp' => q[],
'ncftpget' => q[],
'no_proxy' => q[],
'pager' => q[/usr/bin/less],
'prerequisites_policy' => q[ask],
'scan_cache' => q[atstart],
'shell' => q[/bin/bash],
'tar' => q[/bin/tar],
'term_is_latin' => q[1],
'unzip' => q[/usr/bin/unzip],
'urllist' => [q[http://cpan.empresa.com.br/]],
'wget' => q[/usr/bin/wget],
};
1;
__END__

Depois basta deixa-lo disponível a partir de algum webserver como por exemplo o apache, algo mais ou menos assim:

< VirtualHost cpan.empresa.com.br:80 >
ServerName cpan.empresa.com.br:80
ServerAdmin implantacao@dc.com.br
DocumentRoot /var/www/cpan
ErrorLog /var/www/cpan/logs/cpan-error_log
CustomLog /var/www/cpan/logs/cpan-access_log combined env=!gif-image

< Directory "/var/www/cpan" >
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from 192.168.44.0/22 192.168.50.0/22
< / Directory >
< / VirtualHost >

Se as entradas estiverem todas corretas, para testar você pode fazer o seguinte:

# perl -MCPAN -e shell
cpan> install Crypt::SmbHash

Saiu uma nota muito interessante neste final de semana no Dicas-L, uma dica de Rogerio Acquadro:

“Buscando na Internet, encontrei uma ferramenta chamada MySQLDiff (http://www.mysqldiff.org). Trata-se de um software em PHP que faz a comparação entre duas bases de dados (não necessariamente locais) e, como resultado da análise, gera um script SQL. A idéia é que, ao aplicar esse script SQL à base local, esta fique com a estrutura idêntica da base final.

O programa é bem completo e ainda conta com alguns filtros. Por exemplo, o programador pode optar se o MySQLDiff vai trazer no script apenas as alterações estruturais (que era o que eu buscava) ou se também analizará o conteúdo das tabelas, entre outras opções. “

A nota completa encontra-se no Dicas-l, eu só precisava anotar aqui para não esquecer… vivo precisando de coisas como essa :-)

Atendendo a pedidos, este post visa informar os desavisados que o FISL 9.0 ocorrerá em Porto Alegre nos dias 17, 18 e 19 de Abril de 2008, na PUC-RS — mesmo local onde eu participei em 2004/ 2005 e bem melhor dos lugares que foram em 2006/ 2007.

O site oficial do evento pode ser encontrado aqui: http://fisl.softwarelivre.org/9.0/www/

Só não sei se poderei participar este ano, devido a problemas pessoais… :-(
Mas de qualquer forma, quem for irá aprender e se divertir muito!
Abraços a todos!