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

Organização de pastas


A arquitetura de um projeto que utiliza Polvo é mais ou menos a seguinte:

  1. diretório com instalação base do sistema (TikiWiki) ex: /var/www/estudiolivre_base
  2. diretório de desenvolvimento do projeto ex: /home/fulano/devel/estudiolivre, contendo:
    1. db - com as 'queries'' que devem ser rodadas no banco do sistema
    2. src - com os arquivos que devem ser compiados para o diretório de publicação
    3. patch - com os patches que devem ser aplicados aos arquivos que originais do sistema (os arquivos do TikiWiki)
  3. diretório de publicação do projeto (diretório do Apache) ex: /var/www/estudiolivre
  4. diretório do polvo: ex: /home/fulano/polvo



Uso


Como instalar


Primeiro instale as dependências do Polvo:
$ sudo apt-get install libxml-perl libdigest-md5-file-perl libxml-simple-perl
$ cd /home/fulano/devel
$ git clone git://github.com/rodrigoprimo/polvo.git
$ 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.

Last modification: 23/08/2013 at 16:17, by: rodrigo