website diff pt/doc/cookbook/receipts.html @ rev 142

pt: Add newly translated pages (Many thanks Cladinei)
author Paul Issott <paul@slitaz.org>
date Mon Aug 25 22:36:03 2008 +0000 (2008-08-25)
parents
children b8d706d40d1e
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/pt/doc/cookbook/receipts.html	Mon Aug 25 22:36:03 2008 +0000
     1.3 @@ -0,0 +1,237 @@
     1.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     1.5 +    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     1.6 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
     1.7 +<head>
     1.8 +    <title>Livro de Receitas do SliTaz - Receitas</title>
     1.9 +    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
    1.10 +    <meta name="description" content="slitaz portuguese cookbook" />
    1.11 +    <meta name="expires" content="never" />
    1.12 +    <meta name="modified" content="2008-07-16 21:45:00" />
    1.13 +    <meta name="publisher" content="www.slitaz.org" />
    1.14 +    <meta name="author" content="Christophe Lincoln"/>
    1.15 +    <link rel="shortcut icon" href="favicon.ico" />
    1.16 +    <link rel="stylesheet" type="text/css" href="book.css" />
    1.17 +</head>
    1.18 +<body bgcolor="#ffffff">
    1.19 +
    1.20 +<!-- Header and quick navigation -->
    1.21 +<div id="header">
    1.22 +<div align="right" id="quicknav">
    1.23 +    <a name="top"></a>
    1.24 +    <a href="wok-tools.html">Wok &amp; Ferramentas</a> |
    1.25 +    <a href="index.html">Conteúdo</a>
    1.26 +</div>
    1.27 +<h1><font color="#3E1220">SliTaz Cookbook (pt)</font></h1>
    1.28 +</div>
    1.29 +
    1.30 +<!-- Content. -->
    1.31 +<div id="content">
    1.32 +<div class="content-right"></div>
    1.33 +
    1.34 +
    1.35 +<h2><font color="#df8f06">Receitas</font></h2>
    1.36 +
    1.37 +<p>
    1.38 +Este documento descreve as oportunidades oferecidas pela receita usada pelo
    1.39 +Tazwok para compilar e gerar pacotes para o SliTaz e o Tazpkg por meio do
    1.40 +<a href="wok-tools.html">wok e ferramentas</a>. A receita para um pacote é
    1.41 +também usada pelo Tazpkg para instalar/desinstalar e prover informações sobre
    1.42 +um pacote .tazpkg. Cada receita começa com um comentário em inglês:
    1.43 +</p>
    1.44 +<pre class="script">
    1.45 +# SliTaz package receipt.
    1.46 +</pre>
    1.47 +
    1.48 +<h3>Variáveis</h3>
    1.49 +<p>
    1.50 +As 5 primeiras variáveis devem sempre estar presentes e definidas. Elas,
    1.51 +respectivamente, configuram o pacote ($PACKAGE), sua versão, sua categoria,
    1.52 +fornecem uma curta descrição e o nome do mantenedor. Exemplo para um pacote,
    1.53 +o gerenciador de arquivos Clex:
    1.54 +</p>
    1.55 +<pre class="script">
    1.56 +PACKAGE="clex"
    1.57 +VERSION="3.16"
    1.58 +CATEGORY="base-apps"
    1.59 +SHORT_DESC="Text mode file manager."
    1.60 +MAINTAINER="pankso@slitaz.org"
    1.61 +</pre>
    1.62 +
    1.63 +<h3>Variáveis (opcionais)</h3>
    1.64 +<p>
    1.65 +O Tazwok também lida com diversas variáveis opcionais. Pode, por exemplo, usar
    1.66 +o nome de outro pacote fonte. Também há variáveis que são usadas pelo Tazpkg
    1.67 +para gerenciar dependências ou prover informações sobre o pacote.
    1.68 +</p>
    1.69 +<p>
    1.70 +<code>$DEPENDS</code>: Define dependências - pode haver muitas dependências
    1.71 +separada por um espaço ou por linhas. Esta variável é usada principalmente pelo
    1.72 +Tazpkg ao instalar o pacote e pelo Tazwok para construir grandes pacotes como
    1.73 +o Xorg. Exemplo para o Clex que depende do ncurses:
    1.74 +</p>
    1.75 +<pre class="script">
    1.76 +DEPENDS="ncurses"
    1.77 +</pre>
    1.78 +<p>
    1.79 +<code>$BUILD_DEPENDS</code>: Define as dependências de compilação, novamente
    1.80 +separadas por espaços ou por linhas. Esta variável é usada pelo Tazwok durante
    1.81 +a geração de um pacote. Exemplo:
    1.82 +</p>
    1.83 +<pre class="script">
    1.84 +BUILD_DEPENDS="ncurses-dev"
    1.85 +</pre>
    1.86 +<p>
    1.87 +<code>$TARBALL</code> : O arquivo é um fonte com a extensão (tar.gz, tgz ou 
    1.88 +tar.bz2). Em geral, as variáveis $PACKAGE e $VERSION são usadas somente para
    1.89 +mudar a extensão, ajudando a atualizar o pacote sem mudar a variável $VERSION.
    1.90 +Um exemplo genérico (veja também o exemplo para a variável $SOURCE):
    1.91 +</p>
    1.92 +<pre class="script">
    1.93 +TARBALL="$PACKAGE-$VERSION.tar.gz"
    1.94 +</pre>
    1.95 +<p>
    1.96 +<code>$WEB_SITE</code> : 
    1.97 +O website oficial do pacote. Pode ocorrer que algumas bibliotecas não possuam
    1.98 +um website, neste caso não há necessidade de especificar uma URL. Note que tanto 
    1.99 +o Tazwok e o Tazpkg esperam encontram uma URL completa:
   1.100 +</p>
   1.101 +<pre class="script">
   1.102 +WEB_SITE="http://www.clex.sk/"
   1.103 +</pre>
   1.104 +<p>
   1.105 +<code>$WGET_URL</code> : 
   1.106 +URL para baixar o arquivo fonte. Em geral, a variável $TARBALL pode ser usada 
   1.107 +para facilitar a atualização de um pacote sem mudar a variável $VERSION. Usando
   1.108 +o arquivo de configuração, o Tazwok pode também configurar por padrão 3 mirrors:
   1.109 +$GNU_MIRROR para o mirror GNU, $SF_MIRROR para o SourceForge e $XORG_MIRROR para
   1.110 +o mirror do servidor gráfico Xorg. Exemplo para o Clex:
   1.111 +</p>
   1.112 +<pre class="script">
   1.113 +WGET_URL="http://www.clex.sk/download/$TARBALL"
   1.114 +</pre>
   1.115 +<p>
   1.116 +<code>$WANTED</code> : 
   1.117 +Os pacotes do SliTaz normalmente dependem da compilação de um pacote fonte. 
   1.118 +Algumas vezes a receita de um pacote não depende de compilação de regras, então
   1.119 +a variável $WANTED é usada para copiar arquivos do fonte para outro pacote
   1.120 +usando a variável $src.
   1.121 +</p>
   1.122 +<p>
   1.123 +<code>$SOURCE</code> : Pode ocorrer de o nome do pacote .tazpkg ser diferente
   1.124 +do nome do pacote fonte. Um exemplo é o dos pacotes Xorg: o nome da biblioteca
   1.125 +X11 é "xorg-libX11" e o nome do pacote fonte é "libX11". Esta variável permite
   1.126 +usar as variáveis $src e $_pkg durante a geração de um pacote. Pode-se notar
   1.127 +que no caso da libX11, o nome do arquivo fonte torna-se $SOURCE-$VERSION.tar.gz.
   1.128 +</p>
   1.129 +
   1.130 +<h3>Variáveis usadas em funções</h3>
   1.131 +<p>
   1.132 +O Tazwok configura diversas variáveis que facilitam a compilação e construção
   1.133 +de pacotes .tazpgk. Estas são controladas automaticamente pelo Tazwok usando
   1.134 +as informações contidas na receita: elas podem ser usadas pela funções 
   1.135 +compile_rules e genpkg_rules descritas no capítulos Funções.
   1.136 +</p>
   1.137 +<p>
   1.138 +<code>$src</code> : Define o caminho para o diretório de fontes ainda não arquivados.
   1.139 +</p>
   1.140 +<p>
   1.141 +<code>$_pkg</code> : Define o caminho para os binários compilados instalados via
   1.142 +"make DESTDIR=$PWD/_pkg install". Esta variável é usada para copiar os arquivos
   1.143 +gerados e criar pacotes .tazpkg.
   1.144 +</p>
   1.145 +<p>
   1.146 +<code>$fs</code> : Define o caminho para o pseudo sistema de arquivos (fs) em
   1.147 +cada pacote. O "fs" de cada pacote corresponde à raiz do sistema, como se, por
   1.148 +exemplo, o Clex estivesse em $fs/usr/bin/clex. Note a necessidade de criar
   1.149 +os diretórios necessários por meio da função genpkg_rules() antes de copiar os
   1.150 +arquivos.
   1.151 +</p>
   1.152 +<p>
   1.153 +<code>$CONFIGURE_ARGS</code> : Variável definida no arquivo de configuração do
   1.154 +Tazwok (tazwok.conf). Permite que sejam especificados argumentos de otimização
   1.155 +genéricos durante a construção do pacote. O padrão é o argumento para a 
   1.156 +arquitetura i486.
   1.157 +</p>
   1.158 +
   1.159 +<h3>Funções</h3>
   1.160 +<p>
   1.161 +Uma receita deve conter 4 funções. O Tazwok lida com as funções contendo as
   1.162 +regras de compilação (compile_rules) e as regras usadas para gerar um pacote
   1.163 +(genpkg_rules). Estas funções podem conter todos os tipos de comandos padrão
   1.164 +GNU/Linux, como sed, awk, patch e variáveis automaticamente configuradas.
   1.165 +</p>
   1.166 +<h4>compile_rules()</h4>
   1.167 +<p>
   1.168 +Para compilar um pacote pode-se usar a variável $src para mudar (cd) o diretório
   1.169 +de fontes e usar a variável $CONFIGURE_ARGS para incluir argumentos do arquivo
   1.170 +de configuração do Tazwok. Para construir um pacote normalmente se roda o "make"
   1.171 +sem argumentos, e para instalar um pacote no diretório _pkg é necessário usar 
   1.172 +o comando "make DESTDIR=$PWD/_pkg install". Um exemplo genérico:
   1.173 +</p>
   1.174 +<pre class="script">
   1.175 +# Regras para configurar e criar um pacote.
   1.176 +compile_rules()
   1.177 +{
   1.178 +    cd $src
   1.179 +    ./configure --prefix=/usr --infodir=/usr/share/info \
   1.180 +    --mandir=/usr/share/man $CONFIGURE_ARGS
   1.181 +    make
   1.182 +    make DESTDIR=$PWD/_pkg install
   1.183 +}
   1.184 +</pre>
   1.185 +<h4>genpkg_rules()</h4>
   1.186 +<p>
   1.187 +Para gerar um pacote .tazpkg deve-se especificar comandos na função
   1.188 +<code>genpkg_rules</code>. Neste exemplo criamos um pseudo diretório
   1.189 +<code>usr/</code> no sistema de arquivos do pacote, copiamos todos os binários
   1.190 +e por fim usamos "strip" para limpar os arquivos:
   1.191 +</p>
   1.192 +<pre class="script">
   1.193 +# Rules to gen a SliTaz package suitable for Tazpkg.
   1.194 +genpkg_rules()
   1.195 +{
   1.196 +    mkdir -p $fs/usr
   1.197 +    cp -a $_pkg/usr/bin $fs/usr
   1.198 +    strip -s $fs/usr/bin/*
   1.199 +}
   1.200 +</pre>
   1.201 +<h4>pre_install() e post_install()</h4>
   1.202 +<p>
   1.203 +Estas duas funções são iniciadas pelo Tazpkg ao instalar algum pacote. Elas 
   1.204 +devem ser definidas antes da geração do pacote .tazpkg pelo Tazwok. Se nenhuma
   1.205 +regra é passada a estas funções, não há razão para mantê-las e elas podem ser
   1.206 +removidas. Exemplo usando o comando "echo" para mostrar algum texto (nenhuma
   1.207 +função pode estar vazia):
   1.208 +</p>
   1.209 +<pre class="script">
   1.210 +# Comandos de pré e pós-instalação para o Tazpkg.
   1.211 +pre_install()
   1.212 +{
   1.213 +    echo "Processing pre-install commands..."
   1.214 +}
   1.215 +post_install()
   1.216 +{
   1.217 +    echo "Processing post-install commands..."
   1.218 +}
   1.219 +</pre>
   1.220 +
   1.221 +<!-- End of content -->
   1.222 +</div>
   1.223 +
   1.224 +<!-- Footer. -->
   1.225 +<div id="footer">
   1.226 +    <div class="footer-right"></div>
   1.227 +    <a href="#top">Topo da Página</a> | 
   1.228 +    <a href="index.html">Conteúdo</a>
   1.229 +</div>
   1.230 +
   1.231 +<div id="copy">
   1.232 +    Copyright &copy; 2008 <a href="http://www.slitaz.org/pt/">SliTaz</a> -
   1.233 +    <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>;<br />
   1.234 +    Documentation is under
   1.235 +    <a href="http://www.gnu.org/copyleft/fdl.html">GNU Free Documentation License</a>
   1.236 +    and code is <a href="http://validator.w3.org/">valid xHTML 1.0</a>.
   1.237 +</div>
   1.238 +
   1.239 +</body>
   1.240 +</html>