# HG changeset patch # User Claudinei Pereira # Date 1248608202 0 # Node ID b8d706d40d1e5fd3871f0e392dbfdc2047dbbf69 # Parent ffb963c244148608e259cf1f9ec97b929836ccc4 pt: cookbook - general update diff -r ffb963c24414 -r b8d706d40d1e pt/doc/cookbook/build-bot.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pt/doc/cookbook/build-bot.html Sun Jul 26 11:36:42 2009 +0000 @@ -0,0 +1,204 @@ + + + + Livro de Receitas do SliTaz - Build Bot + + + + + + + + + + + + + + + +
+
+ +

Build Bot (tazbb)

+ +

+O objetivo do Tazbb é automatizar, testar e criar relatórios sobre os +pacotes gerados no wok. A execução do comando tazbb usage +mostra uma lista de comandos disponiveis e sua descrição. O status +do Build Bot pode ser acompanhado na interface web do Tazbb em +bb.slitaz.org. Colaborações podem ser +feitas na Tazbb Wiki. +

+ + + + +

Como funciona

+

+O Tazbb pode ser executado por um cron job e checa pelo último commit +feito por algum colaborador, gerando então os pacotes modificados. A +execução do comando 'tazbb cook-commit' irá gerar novamente os últimos +pacotes modificados. Para gerar novamente todos os pacotes marcados como +'missing', 'modified' ou 'unbuilt' deve-se executar o comando 'tazbb cook-all'. +

+

+A geração de relatórios procura por todas as receitas (receipts) contidas no wok +e verifica se um pacote foi gerado, se não o pacote é inserido à lista de +compilação. Para os pacotes existentes são comparadas as datas dos arquivos +do repositório (o arquivo 'receipt', o diretório 'stuff', por exemplo) +com as datas contidas no arquivo do pacote no formato 'pacote.tazpkg', +se houver alguma diferença o pacote também é inserido na lista de +compilação. +

+

+O tazbb também verifica o wok contido no ambiente chroot e checa se o +pacote já foi compilado (procura pela existência de um diretório 'taz/'). +Caso o pacote não tenha sido compilado, é gerado um log e o pacote é adicionado +à lista de compilação. Todos os pacotes são compilados por intermédio de +um script, os logs de compilação são armazenados em $LOG_DIR e um link +é criado para ser inserido na interface web do tazbb, de modo a permitir +que os desenvolvedores verifiquem o processo de compilação e corrijam +possíveis bugs. +

+

+Quando executado com a opção 'cook' o tazbb remove pacotes antigo e/ou +corrompidos e reconstroi todas as listas de pacotes (por meio do comando +'tazwok genlist --text'). Para funcionar corretamente, tanto o tazwok +quanto o tazbb devem ter seus caminhos (path) configurados igualmente. +O arquivo de configuração do tazbb encontra-se em +/etc/slitaz/tazbb.conf +

+ + +

Comandos

+

+O Tazbb pode ser instalado em sua máquina e executado pela linha de +comando - 'tazbb usage' retorna uma lista de funções disponíveis. Pode-se +executar o programa de modo a obter diversas informações com a opção +'--verbose'. +

+ + +

Repositório Hg e Wok em modo chroot

+

+O Tazbb utiliza 2 woks: um wok do repositório mercurial e um wok para a +compilação de pacotes em um ambiente chroot. A cada vez que o tazbb é +executado os arquivos do wok contido no repositório são atualizados e +copiados para o wok de compilação, o que possibilita manter o wok +principal (do repositório) limpo e permite a modificação manual das +receitas (arquivos nomeados 'receipts'). Se configurado corretamente, o +comando 'tazdev update-wok' atualiza o wok do repositório, copiando os +arquivos necessários para tal atualização. +

+ + +

Arquivos de Log

+

+O Tazbb utiliza as ferramentas existentes no sistema SliTaz, como o +tazwok para compilar pacotes, porém gera arquivos de log e possui sua +própria base de dados contida num arquivo de texto. Estes arquivos podem +ser consultados pela interface web e são encontrados em: +/var/log/tazbb +

+ + +

Interface Web

+

+O Tazbb mantem logs de todas suas atividades em arquivos de log e num +arquivo que tem por função listar pacotes a serem compilados (cooklist). +Estes arquivos podem ser consultados por intermédio de uma interface web, +permitindo aos desenvolvedores uma visão geral sobre os resultados das +últimas compilações. Esta interface é construida com PHP, CSS e suas imagens +são instaladas em /var/lib/tazbb/web. +A instalação do pacote cria um link simbólico em /var/www/vhosts, +provendo fácil acesso aos arquivos de log por intermédio de um host +virtual na máquina local, que podem ser acessados pelo endereço: +http://localhost/vhosts/bb. +

+ + +

Hg hook

+

+O Mercurial possui um mecanismo poderoso que executa tarefas automaticamente +em resposta a eventos que ocorrem em um repositórios. Estas tarefas +automáticas são chamadas de 'hooks'. Utiliza-se esse mecanismo para +executar o tazbb a cada vez que um commit é feito no repositórios, +bastando apenas adicionas um 'hook' no arquivo de configuração do +repositório mercurial (o arquivo .hgrc). Exemplo: +

+
+[hooks]
+commit = tazbb cook-commit
+
+ + +

Cron Job

+

+O Tazbb também pode ser executado por intermédio de um cron job, compilando +os pacotes adicionados ou modificados no repositórios em horários pré +determinados. Pode-se também atualizar o relatório gerado pelo tazbb +ou compilar todos os pacotes contidos no wok. Deve-se tomar o cuidado +de deixar um bom espaço de tempo entre as execuções do tazbb, visto que +se uma compilação ainda não tiver terminada ou se o tazbb for executado +manualmente e aí for rodado um cron job, o comando será terminado pois +o arquivo /var/lock será travado. Exemplo de um cron job que executa +'tazbb cook commit' a cada duas horas e que compila todos os pacotes do +repositório todos os dias à noite: +

+
+*/2 * * * * /usr/bin/tazbb cook-commit
+03 02 * * * /usr/bin/tazbb cook-all
+
+ + +

Arquivos da base de dados

+ + + +
+ + + + +
+ Copyright © 2009 SliTaz - + GNU General Public License;
+ Documentation is under + GNU Free Documentation License + and code is valid xHTML 1.0. +
+ + + diff -r ffb963c24414 -r b8d706d40d1e pt/doc/cookbook/build-host.html --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/pt/doc/cookbook/build-host.html Sun Jul 26 11:36:42 2009 +0000 @@ -0,0 +1,184 @@ + + + + Livro de Receitas do SliTaz - Build Host + + + + + + + + + + + + + + + +
+
+ +

Servidor de Compilação (tank)

+ +

+Howto e informações sobre o Servidor de Compilação (Build Host). +

+ + + + +

Pastas em: /home/slitaz

+ + + +

Usando o tazdev

+

+O Comando tazdev é utilizado na manutenção do mirror, das variantes e +outros serviços. É basicamente configurado para atender a versão de +testes. Utilização: +

+
 $ tazdev usage
+
+ + +

Compilando Pacotes Não Oficiais (undigest)

+

+Pode-se utilizar o wok não oficial (undigest) em um ambiente chroot para +compilar (cook) alguns pacotes não suportados. Se você mantem pacotes +oficiais e se eles compilam com sucesso no Tank, pode testá-los na sua +máquina local e adicioná-los no wok oficial. Mantenedores do mirror +irão então recompilar o pacote e gravar as mudanças em mirror.slitaz.org. +

+

+Para compilar pacotes no wok undigest em um ambiente chroot, pode-se seguir +os comandos: +

+
 $ ln -s /home/slitaz/cooking/chroot/home/undigest .
+
+

+Pode-se copiar os arquivos via gFTP-sftp-scp diretamente para o wok ou +a partir do diretório atual: +

+
 $ cp -a package undigest/wok
+ $ su -c "tazdev chroot"
+ /# cd home/undigest
+ /# tazwok cook package
+ /# exit
+ $ ls undigest/packages
+
+ + +

Compilando Pacotes Oficiais

+

+Mantenedores possuem acesso root e/ou possuem permissão de escrita +ao mirror principal localizado em mirror.slitaz.org. Se alguém manifestar +a vontade de ajudar no projeto pode contactar um dos desenvolvedores +(pode-se checar os repositórios hg para tanto). +

+

+Todos os pacotes são compilados em um ambiente chroot. O caminho (path) +para o wok de compilação é, por padrão, $CHROOT/home/slitaz/wok. Algumas +mudanças podem ser feitas diretamente neste wok: o repositório hg real é +copiado para o ambiente chroot pelo tazbb (Build Bot). Para criar o +ambiente no cooking: +

+
 # tazdev chroot
+
+

+Pode-se compilar todos os últimos pacotes adicionados ou todos os +existentes no ambiente chroot com o comando 'cook-all'. Por padrão, o +tazbb compila apenas pacotes adicionados ou modificados pelo último +commit no repositório: +

+
 /# tazbb cook-commit
+
+

+Pode-se remover, quando necessário, todos os pacotes antigos e então +gerar uma nova lista de manualmente (processo que o tazbb executa +automaticamente): +

+
 /# tazbb clean-up
+ /# tazwok gen-list --text
+ /# exit
+
+

+Se se possuir permissão de escrita ao mirror, pode-se executar o comando +'tazbb dry-push' para fazer uma verificação de quais arquivos serão +adicionados ao mirror e então executar 'tazbb push' para gravar as +mudanças definitivamente no mirror. A opção 'push' também remove pacotes +obsoletos do mirror. +

+ + +

Pacotes Estáveis

+

+Os pacotes que fazem parte da versão estável do SliTaz também são +compilados em um ambiente chroot, assim como os da versão de testes +(cooking): +

+
 # tazdev chroot stable
+
+ + +

Upload manual para mirror.slitaz.org

+

+Mantenedores do mirror podem fazer uploads manuais utilizando o tazdev +(a opção -dp faz um dry-push, ou seja, uma checagem antes de um upload +definitivo): +

+
 # tazdev -p $USER
+
+ + +

Atualização manual do website

+

+O website do projeto e a interface web para busca de pacotes são atualizados +toda noite por um cron job e também podem ser atualizados manualmente +(isso é utilizado em dias em que há algum lançamento, por exemplo): +

+
 # tazdev update-www
+
+ + +
+ + + + +
+ Copyright © 2009 SliTaz - + GNU General Public License;
+ Documentation is under + GNU Free Documentation License + and code is valid xHTML 1.0. +
+ + + diff -r ffb963c24414 -r b8d706d40d1e pt/doc/cookbook/index.html --- a/pt/doc/cookbook/index.html Sun Jul 26 08:06:41 2009 +0000 +++ b/pt/doc/cookbook/index.html Sun Jul 26 11:36:42 2009 +0000 @@ -34,9 +34,12 @@ diff -r ffb963c24414 -r b8d706d40d1e pt/doc/cookbook/receipts.html --- a/pt/doc/cookbook/receipts.html Sun Jul 26 08:06:41 2009 +0000 +++ b/pt/doc/cookbook/receipts.html Sun Jul 26 11:36:42 2009 +0000 @@ -18,7 +18,7 @@