Polvo
Introdução: Polvo???
Polvo é um (grande) ajudante dos desenvolvedores do estudiolivre.org. O Polvo é um software escrito em
Perl para fazer a publicação automática do site. E isso não significa somente que o Polvo é utilizado para publicar o site em estudiolivre.org; mas que ele pode ser utilizado para 'publicar' o site localmente na máquina do desenvolvedor.
Isso é necessário pois assim é possível manter o código do estudiolivre.org separado do código do
TikiWiki.
Caso de uso esclarecedor
- o programador cria algo novo para o estudiolivre. Um novo arquivo php, por exemplo.
- ele copia esse arquivo para /var/www/estudiolivre, onde está instalado o TikiWiki/estudiolivre.org
- quando ele muda alguma coisa no seu código, repete a operação
Fica fácil ver que quando são feitas muitas modificações esse procedimento se torna um fardo muito grande para o programador. Aí entra o Polvo, automatizando a 'cópia' de arquivos do projeto estudiolivre.org para a instalação (local ou não) do estudiolivre.org.
Não se preocupe muito caso ainda não tenha entendido muito bem como funciona o Polvo, continue lendo esse texto e, caso continue não entendendo nada, entre em
contato com os desenvolvedores.
Organização de pastas
A arquitetura de um projeto que utiliza Polvo é mais ou menos a seguinte:
- diretório com instalação base do sistema (TikiWiki) ex: /var/www/estudiolivre_base
- diretório de desenvolvimento do projeto ex: /home/fulano/devel/estudiolivre, contendo:
- db - com as 'queries'' que devem ser rodadas no banco do sistema
- src - com os arquivos que devem ser compiados para o diretório de publicação
- patch - com os patches que devem ser aplicados aos arquivos que originais do sistema (os arquivos do TikiWiki)
- diretório de publicação do projeto (diretório do Apache) ex: /var/www/estudiolivre
- diretório do polvo: ex: /home/fulano/polvo
Uso
Como instalar
Primeiro instale as dependências do Polvo:
$ sudo apt-get install libxml-perl
$ perl -MCPAN -e 'install XML::Simple' (responda sim para tudo)
$ perl -MCPAN -e 'install MD5'
$ cd /home/fulano/polvo :ext:seuusuario@incubadora.fapesp.br:/cvsroot/arca
$ cvs co polvo
$ perl Makefile.PL
$ make
$ sudo make install
$ chmod a+x polvo.pl
Criando um arquivo de configuração para o Polvo
Exemplo de um arquivo de configuração do Polvo, no caso para o estudiolivre.org,
estudiolivre.conf:
<polvoConfig>
<targetDir>/var/www/estudiolivre</targetDir>
<sourceDir>/home/fulano/estudiolivre</sourceDir>
<connection>
<database>estudiolivre</database>
<user>mapsys</user>
<password/>
</connection>
</polvoConfig>
Onde:
- <polvoConfig> - delimitador do arquivo de configuração
- <targetDir> - diretório do Apache
- <sourceDir> - diretório de desenvolvimento
- <connection> - tag que contém os dados de conexão
- <database> - nome do banco de dados
- <user> - usuário
- <password> - senha
Se você não usa senha no seu banco, simplesmente não preencha <password/>
Rode o polvo e publique o seu projeto
$ ./polvo.pl estudiolivre.conf
Após rodar o script, várias mensagens aparecerão:
- patching file ./freetag_apply.php
- patching file ./freetag_list.php
- patching file ./freetag.php
- Hunk #1 succeeded at 1988 (offset 3 lines).
...
São mensagens dos patches sendo aplicados.
Caso você receba mensagens como:
Hunk #1 FAILED at 52.
Entre em contato pela
lista de desenvolvimento.