website annotate pt/devel/index.html @ rev 516

pt: update 'devel' page
author Claudinei Pereira <claudinei@slitaz.org>
date Sat Jun 20 21:12:52 2009 +0000 (2009-06-20)
parents 46bd1e3a7db3
children c6b2d9c4e031
rev   line source
paul@142 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
paul@142 2 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
paul@142 3 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pt" lang="pt">
paul@142 4 <head>
paul@142 5 <title>SliTaz - Espaço dos Desenvolvedores</title>
paul@142 6 <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1" />
paul@142 7 <meta name="description" content="SliTaz GNU/Linux project information overview" />
paul@142 8 <meta name="keywords" lang="pt" content="about slitaz, gnu, linux, mini distro, livecd" />
paul@142 9 <meta name="robots" content="index, follow, all" />
paul@142 10 <meta name="revisit-after" content="7 days" />
paul@142 11 <meta name="expires" content="never" />
paul@142 12 <meta name="modified" content="2008-07-16 21:45:00" />
paul@142 13 <meta name="author" content="Christophe Lincoln"/>
paul@142 14 <meta name="publisher" content="www.slitaz.org" />
paul@142 15 <link rel="shortcut icon" href="../../favicon.ico" />
paul@142 16 <link rel="stylesheet" type="text/css" href="../../slitaz.css" />
paul@142 17 <link rel="Content" href="#content" />
paul@142 18 </head>
paul@142 19 <body bgcolor="#ffffff">
paul@142 20 <!-- Header -->
paul@142 21 <div id="header">
paul@142 22 <a name="top"></a>
paul@142 23 <!-- Access -->
paul@142 24 <div id="access">
paul@142 25 Language:
paul@142 26 <a href="../../en/devel/" title="Site em inglês">English</a> |
claudinei@254 27 <a href="../../de/devel/" title="Site em alemão">Deutsch</a> |
pankso@364 28 <a href="../../fr/devel/" title="Site em francês">Français</a>
paul@142 29 </div>
paul@142 30 <a href="http://www.slitaz.org/pt/"><img id="logo"
paul@142 31 src="../../pics/website/logo.png" title="www.slitaz.org/pt" alt="www.slitaz.org"
paul@142 32 style="border: 0px solid ; width: 200px; height: 74px;" /></a>
paul@142 33 <p id="titre">#!/GNU/Linux</p>
paul@142 34 </div>
paul@142 35 <div id="nav">
paul@142 36 <div id="nav_top"></div>
paul@142 37 <ul>
paul@142 38 <li><a href="../about/" title="Informações sobre o projeto">Sobre o projeto</a></li>
claudinei@429 39 <li><a href="../asso/" title="Associação sem fins lucrativos">Associação</a></li>
paul@142 40 <li><a href="../get/" title="Obtenha a ISO do LiveCD">Faça o download</a></li>
paul@142 41 <li><a href="../doc/" title="Utilização do LiveCD e howto">Documentação</a></li>
paul@142 42 <li><a href="../packages/" title="Pacotes (programas)">Pacotes</a></li>
paul@142 43 <li><a href="../devel/" title="Desenvolvedores">Desenvolvimento</a></li>
paul@142 44 <li><a href="../artwork/" title="Arte, cores e imagens">Artwork</a></li>
claudinei@429 45 </ul>
claudinei@429 46 <ul>
claudinei@429 47 <li><a href="http://forum.slitaz.org/#idx4" title="Fórum de Suporte">Fórum de suporte</a></li>
claudinei@429 48 <li><a href="../mailing-list.html" title="Suporte, contato, colaboração">Lista de discussão</a></li>
paul@142 49 <li><a href="../search.html" title="Buscar">Procurar</a></li>
paul@142 50 <li><a href="../sitemap.html" title="Mapa do Site">Mapa do site</a></li>
paul@142 51 </ul>
paul@142 52 <ul>
paul@142 53 <li><a href="http://wiki.slitaz.org/" title="Comunidades Wiki">Wiki - Recursos</a></li>
contato@353 54 <li><a href="http://labs.slitaz.org/" title="Gerenciamento do Projeto">SliTaz Labs</a></li>
contato@353 55 <li><a href="http://labs.slitaz.org/issues" title="Sistema de controle de Bugs">Reporte um bug</a></li>
paul@142 56 </ul>
paul@142 57 <div id="nav_bottom">
paul@142 58 <div id="nav_bottom_img"></div>
paul@142 59 </div>
paul@142 60 </div>
paul@142 61
paul@142 62 <!-- Content top. -->
paul@142 63 <div id="content_top">
paul@142 64 <div class="top_left"></div>
paul@142 65 <div class="top_right"></div>
paul@142 66 </div>
paul@142 67
paul@142 68 <!-- Content -->
paul@142 69 <div id="content">
paul@142 70 <a name="content"></a>
paul@142 71
paul@142 72 <h1><font color="#3e1220">Desenvolvimento</font></h1>
paul@142 73 <h2><font color="#df8f06">Espaço dos Desenvolvedores do SliTaz</font></h2>
paul@142 74
paul@142 75 <ul>
claudinei@516 76 <li><a href="#kiss">KISS e respeito aos padrões.</a></li>
claudinei@445 77 <li><a href="#tank">Build host &amp; home.</a></li>
paul@142 78 <li><a href="#repos">Repositórios Mercurial.</a></li>
claudinei@516 79 <li><a href="#iconv">Implementação da função iconv().</a></li>
paul@142 80 <li><a href="#pkgs">Pacotes Tazpkg.</a></li>
claudinei@516 81 <li><a href="#pkgs-naming">Nomes de pacotes.</a></li>
paul@142 82 <li><a href="#website">Gerenciamento do Website.</a></li>
claudinei@516 83 <li><a href="#xhtml">Estilo para codificação de xHTML.</a></li>
paul@142 84 <li><a href="../mailing-list.html">Lista de Discussão.</a></li>
paul@142 85 <li><a href="../doc/cookbook/wok-tools.html">Wok &amp; Ferramentas.</a></li>
pankso@343 86 <li>Mercurial Repositories: <a href="http://hg.slitaz.org" >hg.slitaz.org</a></li>
pankso@343 87 <li>SliTaz Laboratories: <a href="http://labs.slitaz.org/">labs.slitaz.org</a></li>
claudinei@516 88 <li><a href="http://labs.slitaz.org/wiki/distro">Wiki dos desenvolvedores</a></li>
paul@142 89 </ul>
paul@142 90
paul@142 91 <p>
paul@142 92 SliTaz é uma distribuição de código aberto mantida pela comunidade. Todos são
paul@142 93 convidados a se juntar a nós e a contribuir: usuários, hackers e desenvolvedores
paul@142 94 sempre podem fazer algo, isto é, revisar ou escrever documentação, informar bugs
paul@142 95 ou enviar patches pela lista de discussão, usando o wok e criando novos pacotes
paul@142 96 ou simplesmente ajudando os outros na lista de discussão ou no fórum. O SliTaz
paul@142 97 possui seus repositórios Mercurial hospedados num sistema rodando SliTaz,
paul@142 98 desenvolvedores podem requisitar um novo repositório se necessário e
paul@142 99 contribuintes tem acesso de escrita para corrigir erros, scripts, etc.
paul@142 100 </p>
paul@142 101 <p>
paul@142 102 SliTaz é uma pequena comunidade e ouve seus usuários. Há vários desenvolvedores
paul@142 103 ativos no <a href="http://forum.slitaz.org/">fórum</a> e na
paul@142 104 <a href="../mailing-list.html">lista de discussão</a>.
paul@142 105 </p>
claudinei@516 106 <p>
claudinei@516 107 Há um website dedicado exclusivamente à participação de artistas interessados
claudinei@516 108 em contribuir com o projeto - <a href="http://art.slitaz.org/">http://art.slitaz.org</a>.
claudinei@516 109 Mediante a criação de uma conta de usuário, pode-se postar gráficos ou
claudinei@516 110 figuras relacionadas ao SliTaz. O website é mantindo por uma comunidade
claudinei@516 111 de voluntários e se houver interesse em nos ajudar a gerenciá-lo, entre
claudinei@516 112 em contato via email ou pela lista de discussão.
claudinei@516 113 </p>
claudinei@516 114
claudinei@516 115 <a name="kiss"></a>
claudinei@516 116 <h3>KISS e respeito aos padrões</h3>
claudinei@516 117 <p>
claudinei@516 118 "Keep it Simple", ou seja, tentamos manter as coisas simples: respeito
claudinei@516 119 aos padrões, planejamento cuidadoso e documentação escrita de alta
claudinei@516 120 qualidade, fornecimento de um sistema robusto e estável e um sistema de
claudinei@516 121 arquivos (<em>rootfs</em>) no LiveCD leve o suficiente para ser executado
claudinei@516 122 em máquinas que tenham ao menos 128 mb de memória RAM. Também usamos
claudinei@516 123 aplicativos baseados em GTK+2, Dialog, scripts SHell ou PHP. A idéia
claudinei@516 124 é não nos repetirmos e deixar o sistema básico leve e pequeno.
claudinei@516 125 </p>
paul@142 126
claudinei@445 127 <a name="tank"></a>
claudinei@445 128 <h3>Tank - Build host &amp; home</h3>
claudinei@445 129 <p>
claudinei@445 130 Cada participante do projeto pode obter uma conta no servidor do projeto
claudinei@445 131 com acesso seguro, espaço em disco, um diretório público e acesso a todas
claudinei@445 132 as ferramentas de desenvolvimento. Os desenvolvendores podem compilar
claudinei@445 133 pacotes e os mantenedores dos mirrors podem gerenciar as sincronizações.
claudinei@445 134 O Tank também hospeda o website, o boot via web e os repositórios
claudinei@445 135 mercurial:
claudinei@445 136 <a href="http://tank.slitaz.org/">tank.slitaz.org</a>
claudinei@445 137 </p>
claudinei@516 138 <p>
claudinei@516 139 Instruções para a utilização deste servidor estão descritas no "Livro de
claudinei@516 140 Receitas" (cookbook):
claudinei@516 141 <a href="../doc/cookbook/build-host.html">SliTaz Build Host (tank)</a>.
claudinei@516 142 </p>
claudinei@445 143
paul@142 144 <a name="repos"></a>
paul@142 145 <h3>Repositórios Mercurial</h3>
paul@142 146 <p>
paul@142 147 Os repositórios Mercurial ou Hg do SliTaz podem ser listados ou clonados por
paul@142 148 qualquer um na URL: <a href="http://hg.slitaz.org/">http://hg.slitaz.org/</a>.
paul@142 149 Pessoas com acesso de escrita podem acessar diretamente pelo endereço
paul@142 150 <code>repos.slitaz.org</code> que necessita de autenticação.
paul@142 151 O Mercurial usa Python e é instalável com o comando:
paul@142 152 <code>tazpkg get-install mercurial</code>
paul@142 153 </p>
paul@142 154 <h4>~/.hgrc</h4>
paul@142 155 <p>
paul@142 156 Antes de sua primeira transferência no servidor, assegure-se de que possui
paul@142 157 o arquivo de configuração do Hg correto com seu nome e endereço de e-mail
paul@142 158 e lembre-se de checar que você não está acessando como usuário root.
paul@142 159 Exemplo de arquivo ~/.hgrc:
paul@142 160 </p>
paul@142 161 <pre class="script">
paul@142 162 [ui]
paul@142 163 username = FirstName LastName &lt;you@example.org&gt;
paul@142 164 </pre>
paul@142 165 <h4>Clonar, modificar, transferir e finalizar</h4>
paul@142 166 <p>
paul@142 167 Clonar (clone) um repositório, exemplo para slitaz-doc:
paul@142 168 </p>
paul@142 169 <pre>
claudinei@445 170 $ hg clone http://repos.slitaz.org/wok
paul@142 171 </pre>
paul@142 172 <p>
paul@142 173 Mude de diretório para slitaz-doc, note que você deve estar no repositório
paul@142 174 para poder utilizar os comandos "hg". Para marcar todos os logs ou somente o
paul@142 175 último log:
paul@142 176 </p>
paul@142 177 <pre>
paul@142 178 $ hg log
paul@142 179 $ hg head
paul@142 180 </pre>
paul@142 181 <p>
paul@142 182 Modifique um ou mais arquivos e transfira (commit):
paul@142 183 </p>
paul@142 184 <pre>
claudinei@445 185 $ hg add
paul@142 186 $ hg status
paul@142 187 $ hg commit -m "Log message..."
paul@142 188 $ hg log
paul@142 189 </pre>
paul@142 190 <p>
paul@142 191 Note que você pode usar o comando <code>rollback</code> para desfazer a última
paul@142 192 transação. Antes de finalizar (push) as mudanças no servidor é seguro executar
paul@142 193 o comando pull ao menos uma vez:
paul@142 194 </p>
paul@142 195 <pre>
paul@142 196 $ hg pull
paul@142 197 $ hg push
paul@142 198 </pre>
paul@142 199 <p>
paul@142 200 Está feito, suas mudanças, código ou correções estão agora no servidor
paul@142 201 </p>
paul@142 202
claudinei@445 203 <h4>Comandos Úteis</h4>
claudinei@445 204 <p>
claudinei@445 205 Comandos do mercurial (hg) que podem ser usados.
claudinei@445 206 </p>
claudinei@445 207 <ul>
claudinei@445 208 <li><code>hg help</code> : Mostra uma lista completa dos comandos.</li>
claudinei@445 209 <li><code>hg rollback</code> : Desfaz a última ação (commit, pull,
claudinei@445 210 push).</li>
claudinei@445 211 <li><code>hg log &lt;package&gt;</code> : Mostra o log de um pacote.</li>
claudinei@445 212 <li><code>hg head</code> : Mostra o último log.</li>
claudinei@445 213 </ul>
claudinei@445 214
claudinei@516 215 <a name="iconv"></a>
claudinei@516 216 <h3>Implementação da função iconv()</h3>
claudinei@516 217 <p>
claudinei@516 218 O SliTaz utiliza a função iconv() fornecida pela biblioteca glibc do
claudinei@516 219 projeto GNU - alguns pacotes que necessitam da função <code>libiconv</code>
claudinei@516 220 devem usar a versão fornecida pela glibc (<code>glibc-locale</code>). Note
claudinei@516 221 que já não há mais um pacote libiconv (1.2 MB) no SliTaz.
claudinei@516 222 </p>
claudinei@516 223
paul@142 224 <a name="pkgs"></a>
paul@142 225 <h3>Pacotes Tazpkg</h3>
paul@142 226 <p>
paul@142 227 Os pacotes tazpkg no SliTaz são automaticamente criados via Tazwok e receitas
paul@142 228 no wok. O Livro de Receitas descreve o
paul@142 229 <a href="../doc/cookbook/wok-tools.html">uso das ferramentas</a>
paul@142 230 e o formato das <a href="../doc/cookbook/receipts.html">receitas</a>.
paul@142 231 É necessário que estes dois textos sejam lidos antes de prosseguirmos.
paul@142 232 </p>
paul@142 233 <p>
paul@142 234 Em termos de escolha de pacote, a idéia é oferecer o pacote por tarefa ou
paul@142 235 funcionalidade, isto é, a mais leve aplicação em seu campo e sem duplicações.
paul@142 236 Note que a atual seleção de pacotes não é imutável, se você souber de uma
paul@142 237 alternativa mais leve, com mais funcionalidades ou mais <em>sexy</em> por apenas
paul@142 238 alguns KB a mais, sugira na lista de discussão. Atenção redobrada é prestada
paul@142 239 aos pacotes do LiveCD: eles devem ser "limpos", removendo-se dependências
paul@142 240 desnecessárias e opções do compilador. Em geral os pacotes candidatos a fazer
paul@142 241 parte do LiveCD são discutidos na lista.
paul@142 242 </p>
paul@142 243 <p>
paul@142 244 Antes de você começar a compilar e a criar pacotes para o SliTaz, certifique-se
paul@142 245 que o trabalho ainda não existe na relação do wok disponível no mirror principal
paul@142 246 do SliTaz. Não se esqueça que os membros da lista podem te ajudar e que a
paul@142 247 documentação do <a href="../doc/cookbook/wok-tools.html">wok e ferramentas</a>
paul@142 248 existe para te guiar nos primeiros passos.
paul@142 249 </p>
paul@142 250
claudinei@516 251 <a name="pkgs-naming"></a>
claudinei@516 252 <h3>Nomes de Pacotes</h3>
claudinei@516 253 <p>
claudinei@516 254 Na maioria dos casos o nome do pacote é o mesmo do código fonte, exceto
claudinei@516 255 para os módulos das linguagens Python, Perl, PHP, Ruby e Lua. Por exemplo,
claudinei@516 256 o pacote que fornece o sistema de templates Kid, escrito em Python e XML,
claudinei@516 257 é nomeado: <code>python-kid</code>.
claudinei@516 258 </p>
claudinei@516 259
paul@142 260 <a name="website"></a>
claudinei@445 261 <h3>Gerenciamento do website e manuais</h3>
paul@142 262 <p>
claudinei@445 263 O website e os manuais (Manual do SliTaz, Livro de Receitas) são
claudinei@445 264 gerenciados pelo repositório mercurial, podendo ser clonados da
claudinei@445 265 seguinte maneira:
paul@142 266 </p>
paul@142 267 <pre>
claudinei@445 268 $ hg clone http://hg.slitaz.org/website
claudinei@445 269 Ou, se você tiver as permissões necessárias:
claudinei@445 270 $ hg clone http://repos.slitaz.org/website
paul@142 271 </pre>
claudinei@516 272
claudinei@516 273 <a name="xhtml"></a>
claudinei@516 274 <h3>Estilo para codificação de xHTML</h3>
claudinei@516 275 <p>
claudinei@516 276 As páginas nos diferentes <em>manuais</em> são codificadas em xHTML 1.0
claudinei@516 277 transitional. As cores para o corpo da página (<code>body</code>) e para
claudinei@516 278 os títulos são definidas diretamente de forma a permitir que os links
claudinei@516 279 sejam facilmente identificáveis. Os títulos de primeiro nível são usados
claudinei@516 280 apenas uma vez, no topo da página, os de segundo nível são usados para
claudinei@516 281 nomear as seções e os de terceiro e quarto nível para as subseções. Se
claudinei@516 282 uma lista é usada para os tópicos, usando âncoras para as diferentes seções,
claudinei@516 283 é posta logo no início da página, após o título da mesma.
claudinei@516 284 Parágrafos são colocados dentro das tags <code>&lt;p&gt;&lt;/p&gt;</code>.
claudinei@516 285 Para indentação, usa-se tabulações (tabs), de forma a manter-se a semântica
claudinei@516 286 e para diminuir espaço em termos de octetos (bytes). Para mostrar trechos
claudinei@516 287 de código, como o nome de um comando dentro de um parágrafo,
claudinei@516 288 <code>&lt;code&gt;</code> é o método recomendado. Para mostrar a saida
claudinei@516 289 de comandos ou comandos a serem digitados em um terminal, usa-se
claudinei@516 290 <code>&lt;pre&gt;</code>. Exemplo:
claudinei@516 291 </p>
claudinei@516 292 <pre>
claudinei@516 293 $ comando
claudinei@516 294 </pre>
claudinei@516 295 <p>
claudinei@516 296 Para mostrar texto que pode ser copiado e colado, como scripts, peças de
claudinei@516 297 código, arquivos de configuração, etc, também se usa a tag
claudinei@516 298 <code>&lt;pre&gt;</code>, em conjunto com a classe CSS chamada "script".
claudinei@516 299 Exemplo:
claudinei@516 300 </p>
claudinei@516 301 <pre class="script">
claudinei@516 302 &lt;pre class="script"&gt;
claudinei@516 303
claudinei@516 304 code...
claudinei@516 305
claudinei@516 306 &lt;/pre&gt;
claudinei@516 307 </pre>
claudinei@516 308 <p>
claudinei@516 309 Texto <em>enfatizado</em> é colocado dentro da tag <code>&lt;em&gt;</code>
claudinei@516 310 e links internos são relativos. É recomendável checar a validade do código
claudinei@516 311 xHTML por meio do <em>validador</em> online da W3C.
claudinei@516 312 </p>
claudinei@516 313
claudinei@516 314 <h3>Diff e patch</h3>
paul@142 315 <p>
paul@142 316 As utilidades <code>diff</code> e <code>patch</code> são ferramentas de linha
paul@142 317 de comando para criação e implementação de diferenças entre dois arquivos. Esta
paul@142 318 técnica é freqüentemente usada para colaboração e as mudanças feitas no arquivo
paul@142 319 original podem ser extraídas facilmente. Para criar um arquivo <code>diff</code>
paul@142 320 legível aos humanos em um simples editor de textos, você deve fornecer a opção
paul@142 321 <code>-u</code> :
paul@142 322 </p>
paul@142 323 <pre>
paul@142 324 $ diff -u file.orig file.new &gt; file.diff
paul@142 325 </pre>
paul@142 326 <p>
paul@142 327 Para aplicar um patch:
paul@142 328 </p>
paul@142 329 <pre>
paul@142 330 $ patch file.orig file.diff
paul@142 331 </pre>
paul@142 332
paul@142 333 <!-- End of content with round corner -->
paul@142 334 </div>
paul@142 335 <div id="content_bottom">
paul@142 336 <div class="bottom_left"></div>
paul@142 337 <div class="bottom_right"></div>
paul@142 338 </div>
paul@142 339
paul@142 340 <!-- Start of footer and copy notice -->
paul@142 341 <div id="copy">
paul@142 342 <p>
paul@142 343 Last modification : 2008-07-16 21:45:00 -
paul@142 344 <a href="#top">Topo da Página</a>
paul@142 345 </p>
paul@142 346 <p>
paul@142 347 Copyright &copy; 2008 <a href="http://www.slitaz.org/">SliTaz</a> -
paul@142 348 <a href="http://www.gnu.org/licenses/gpl.html">GNU General Public License</a>
paul@142 349 </p>
paul@142 350 <!-- End of copy -->
paul@142 351 </div>
paul@142 352
paul@142 353 <!-- Bottom and logo's -->
paul@142 354 <div id="bottom">
paul@142 355 <p>
paul@142 356 <a href="http://validator.w3.org/check?uri=referer"><img
paul@142 357 src="../../pics/website/xhtml10.png" alt="Valid XHTML 1.0"
paul@142 358 title="Code validé XHTML 1.0"
paul@142 359 style="width: 80px; height: 15px;" /></a>
paul@142 360 </p>
paul@142 361 </div>
paul@142 362
paul@142 363 </body>
paul@142 364 </html>