website view pt/devel/index.html @ rev 780

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