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