slitaz-doc-wiki-data annotate pages/pt/cookbook/wok.txt @ rev 3

Add pages/pt folder.
author Christopher Rogers <slaxemulator@gmail.com>
date Sat Feb 26 12:12:42 2011 +0000 (2011-02-26)
parents
children
rev   line source
slaxemulator@3 1 ====== Wok & Ferramentas ======
slaxemulator@3 2
slaxemulator@3 3 Com o passar do tempo, o projeto SliTaz criou uma variedade de pequenos utilitários para reconstruir o sistema a a partir dos fontes de forma automática. O Tazwok é usado para compilar pacotes a partir de instruções encontradas em arquivos de descrição de pacotes (receitas, ou receipts). O projeto também oferece um arquivo de ferramentas ([[pt:slitaztools:start|SliTaz Tools]]) que contém pequeno utilitários, exemplos e arquivos de configuração. O gerador de distribuição Tazlito é desenvolvido para usuários e desenvolvedores. O Tazlito irá obter e reconstruir uma imagem de LiveCD e gerar uma variante (flavor) da distribuição a partir de uma lista de pacotes, um arquivo de configuração e um de descrição. Os utilitários são todos distribuídos em seus fontes e são instalados por padrão no SliTaz. Os desenvolvedores e futuros colaboradores podem consultar a página de desenvolvimento que fornece informações sobre o gerenciamento do projeto SliTaz.
slaxemulator@3 4
slaxemulator@3 5 ===== Tazwok e o wok =====
slaxemulator@3 6
slaxemulator@3 7 A idéia é usar um diretório (wok) contendo todos os pacotes disponíveis, cada um contendo ao menos uma receita que defina o download, desempacotamento, compilação e geração de um binário. Para funcionar, o tazwok também precisa criar um diretório para armazenar fontes baixados ($SOURCES_REPOSITORY) e um repositório de pacotes gerados ($PACKAGES_REPOSITORY), valores que podem ser configurados usando o arquivo ///etc/tazwok.conf//.
slaxemulator@3 8
slaxemulator@3 9 ===== Ferramentas Wok =====
slaxemulator@3 10
slaxemulator@3 11 Para começar, o tazwok precisa estar instalado no sistema, assim como as principais ferramentas de desenvolvimento (binutils, compilador, bibliotecas de desenvolvimento, make), que devem ser baixadas do mirror. Para tanto, deve-se instalar o meta-pacote //slitaz-toolchain//:
slaxemulator@3 12
slaxemulator@3 13 <code># tazpkg recharge
slaxemulator@3 14 # tazpkg get-install slitaz-toolchain
slaxemulator@3 15 </code>
slaxemulator@3 16
slaxemulator@3 17 ==== Obtenha o wok ====
slaxemulator@3 18
slaxemulator@3 19 Antes de iniciar o trabalho também é necessário recuperar o wok dos repositórios Mercurial ou de um arquivo no mirror primário (TuxFamily). Exemplo usando o SliTaz para ser construído no diretório ///home/slitaz//:
slaxemulator@3 20
slaxemulator@3 21 <code>$ hg clone http://hg.slitaz.org/wok/ /home/slitaz/wok</code>
slaxemulator@3 22
slaxemulator@3 23 Os arquivos também estão disponíveis em: ftp://download.tuxfamily.org/slitaz/wok. Obtenha a última versão dos diretórios //cooking// ou //undigest//. Antes de compilar seu primeiro pacote, o tazwok precisa saber onde procurar os arquivos. Por padrão o caminho é ///home/slitaz/wok//, mas você pode mudar isto ou renomear o wok que deseja baixar. Para visualizar/checar os caminhos utilizados pelo tazwok e o número de pacotes no wok, use o comando tazwok stats:
slaxemulator@3 24
slaxemulator@3 25 <code># tazwok stats</code>
slaxemulator@3 26
slaxemulator@3 27 ===== Compilação e geração de pacotes =====
slaxemulator@3 28
slaxemulator@3 29 Configure, compile, "limpe": a forma como o SliTaz gera os pacotes pode ser colocada em um simples comando. Para evitar frustrações, é recomendável iniciar a construção do pacote sem mudar sua receita ou dependências. M4 é um candidato ideal para a sua primeira geração:
slaxemulator@3 30
slaxemulator@3 31 <code># tazwok cook m4</code>
slaxemulator@3 32
slaxemulator@3 33 Uma vez que o trabalho foi feito, o pacote é localizado no diretório especificado pelo arquivo de configuração (o padrão é em ///home/slitaz/packages//). Se tudo correu bem, você pode instalar o pacote no sistema anfitrião ou usa-lo para gerar uma distribuição LiveCD com o Tazlito. Para criar um novo pacote você pode usar o comando //new-tree// com a opção //--interactive// e ler a documentação fornecida pela página de [[receipt|receitas]].
slaxemulator@3 34
slaxemulator@3 35 ==== Cook-list - Lista de Geração ====
slaxemulator@3 36
slaxemulator@3 37 Para compilar vários pacotes com um único comando, você pode usar a lista de geração. Há listas-exemplo em ///usr/share/examples/tazwok/cooklists//, que são somente arquivos texto com um nome de pacote por linha. Exemplo do comando "cook-list" usando "mypkgs.cooklist":
slaxemulator@3 38
slaxemulator@3 39 <code># tazwok cook-list mypkgs.cooklist</code>
slaxemulator@3 40
slaxemulator@3 41 ===== Opções durante a compilação de um pacote =====
slaxemulator@3 42
slaxemulator@3 43 Você é livre para usar quaisquer opções que queira, somente respeitando a Hierarquia do Sistema de Arquivos (FSH), os documentos em ///usr/share/doc// e seguindos os padrões Freedesktop (.desktop). Então fica a seu critério, por exemplo, disabilitar suporte a XML, tendo binários menores para o PHP e abrindo mão da libxml2 mas, neste caso, diminuir o tamanho dos binários acaba resultando em perda de funcionalidade. Se você tiver qualquer dúvida, olhe as receitas e opções de compilação em //compile_rules//.
slaxemulator@3 44
slaxemulator@3 45 ==== Otimização ====
slaxemulator@3 46
slaxemulator@3 47 Os pacotes oficiais do SliTaz são otimizados para i486, os argumentos de otimização usados para a configuração estão especificados em ///etc/tazwok.conf// e pode ser envocados pela variável $CONFIGURE_ARGS. Se você deseja compilar um pacote com opções diferentes, pode modificar o arquivo de configuração do tazwok:
slaxemulator@3 48
slaxemulator@3 49 <code>CONFIGURE_ARGS="--build=i486-pc-linux-gnu --host=i486-pc-linux-gnu"</code>
slaxemulator@3 50
slaxemulator@3 51 ===== Arquivos incluidos ou pacotes excluídos =====
slaxemulator@3 52
slaxemulator@3 53 Geralmente os pacote base não contém as páginas man, info, os arquivos doc ou bibliotecas estáticas, então precisamos criá-los por meio de um pacote-doc ou um pacote-dev. Note que no SliTaz não se pretende incluir os comandos man ou info, então não há nenhum manual ou arquivo info GNU. A criação de pacotes contendo documentos é realmente opcional, especialmente se o material estiver em inglês. No entanto, um trecho de texto sobre o pacote incluido no Manual SliTaz seria bem apreciado.
slaxemulator@3 54
slaxemulator@3 55 Em termos de configuração, quando possível, o objetivo é oferecer arquivos básicos de configuração para rodar o pacote diretamente. No caso do pacote do servidor web LightTPD, o SliTaz fornece arquivos de configuração e scripts de inicialização localizados em ///etc/init.d/// (documentados no Manual SliTaz). Para um pacote novo, você é livre para escolher a configuração padrão dependendo em que você pensa ser mais fácil para o usuário final. No SliTaz existem exemplos de configuração em ///usr/share/examples// e outros tipos de informações úteis.
slaxemulator@3 56
slaxemulator@3 57 ===== Categorias de pacotes =====
slaxemulator@3 58
slaxemulator@3 59 As categorias de pacotes existem somente para propósitos de informação e não são fixas, a idéia é classificar os pacotes para que uma página web possa ser gerada toda noite, recuperando dados na receita do pacote. Em resumo, inclua pacotes de desenvolvimento em "devel", o Xorg em "x-window" e novos pacotes variados em "extra".
slaxemulator@3 60
slaxemulator@3 61 ===== Estrutura dos pacotes no wok =====
slaxemulator@3 62
slaxemulator@3 63 A estrutura de um pacote no wok deve sempre ser respeitada para que o tazwok possa encontrar arquivos e diretórios corretos. Possíveis conteúdos de um pacote (note que o diretório ///taz// é criado no momento da geração):
slaxemulator@3 64
slaxemulator@3 65 * //stuff/// : O material usado para configurar, compilar e gerar o pacote (patch(es), Makefile, pseudo fs, etc).
slaxemulator@3 66 * //taz/// : Árvore de diretórios contendo o pacote tazpkg gerado - o pacote comprimido é arquivado no diretório especificado em $PACKAGES_REPOSITORY no arquivo de configuração do tazwok.
slaxemulator@3 67 * //receipt// : A receita (veja [[receipt|receitas]]).
slaxemulator@3 68 * //description.txt// : (opcional) A descrição do pacote é copiada para a raíz do pacote tazpkg. Uma vez instalado, o tazpkg lida com este arquivo por meio do comando "tazpkg desc nome-do-pacote".
slaxemulator@3 69
slaxemulator@3 70 ===== Estrutura de um pacote .tazpkg =====
slaxemulator@3 71
slaxemulator@3 72 Os pacotes do SliTaz são arquivos cpio contendo arquivos e um sistema de arquivos comprimidos com o gzip:
slaxemulator@3 73
slaxemulator@3 74 * //fs/// : Pseudo Sistema de Arquivos contendo todos os arquivos a serem instalados.
slaxemulator@3 75 * //receipt// : A receita (veja receipt.txt).
slaxemulator@3 76 * //files.list// : Uma lista de arquivos do pacote.
slaxemulator@3 77 * //description.txt// : A descrição do pacote (opcional).