slitaz-doc-wiki-data diff pages/pt/cookbook/devcorner.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 |
line diff
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/pages/pt/cookbook/devcorner.txt Sat Feb 26 12:12:42 2011 +0000 1.3 @@ -0,0 +1,134 @@ 1.4 +====== Orientações para desenvolvedores ====== 1.5 + 1.6 +O SliTaz é uma distribuição de código aberto mantida pela comunidade. Todos são convidados a se juntar a nós e a contribuir: usuários, hackers e desenvolvedores sempre podem fazer algo, isto é, revisar ou escrever documentação, informar bugs ou enviar patches pela [[http://www.slitaz.org/pt/mailing-list.html|lista de discussão]], usando o wok e criando novos pacotes ou simplesmente ajudando os outros na lista de discussão ou no [[http://forum.slitaz.org|fórum]]. O SliTaz possui seus [[http://hg.slitaz.org/|repositórios Mercurial]] hospedados num sistema rodando SliTaz, desenvolvedores podem requisitar um novo repositório se necessário e colaboradores têm acesso de escrita para corrigir erros, scripts, etc. 1.7 + 1.8 +Há um website dedicado exclusivamente à participação de artistas interessados em contribuir com o projeto - http://community.slitaz.org/image. Mediante a criação de uma conta de usuário, pode-se postar gráficos ou figuras relacionadas ao SliTaz. O website é mantindo por uma comunidade de voluntários e se houver interesse em nos ajudar a gerenciá-lo, entre em contato via email ou pela lista de discussão. 1.9 + 1.10 +===== KISS e respeito aos padrões ===== 1.11 + 1.12 +"Keep it Simple", ou seja, tentamos manter as coisas simples: respeito aos padrões, planejamento cuidadoso e documentação escrita de alta qualidade, fornecimento de um sistema robusto e estável e um sistema de arquivos (rootfs) no LiveCD leve o suficiente para ser executado em máquinas que tenham ao menos 128 mb de memória RAM. Também usamos aplicativos baseados em GTK+2, Dialog, scripts SHell ou PHP. A idéia é não nos repetirmos e deixar o sistema básico leve e pequeno. 1.13 + 1.14 +===== Tank - Build host & home ===== 1.15 + 1.16 +Cada participante do projeto pode obter uma conta no servidor do projeto com acesso seguro, espaço em disco, um diretório público e acesso a todas as ferramentas de desenvolvimento. Os desenvolvendores podem compilar pacotes e os mantenedores dos mirrors podem gerenciar as sincronizações. O [[http://tank.slitaz.org|Tank]] também hospeda o website, o boot via web e os repositórios mercurial. 1.17 + 1.18 +Veja as [[pt:cookbook:buildhost|instruções]] para a utilização deste servidor descritas no "Livro de Receitas" (cookbook). 1.19 + 1.20 +===== Repositórios Mercurial ===== 1.21 + 1.22 +Os repositórios Mercurial ou Hg do SliTaz podem ser listados ou clonados por qualquer um na URL: http://hg.slitaz.org/. Pessoas com acesso de escrita podem acessar diretamente pelo endereço repos.slitaz.org que necessita de autenticação. O Mercurial usa Python e é instalável com o comando: 1.23 + 1.24 + tazpkg get-install mercurial 1.25 + 1.26 +==== ~/.hgrc ==== 1.27 + 1.28 +Antes de sua primeira transferência no servidor, assegure-se de que possui o arquivo de configuração do Hg correto com seu nome e endereço de e-mail e lembre-se de checar que você não está acessando como usuário root. Exemplo de arquivo ~/.hgrc: 1.29 + 1.30 + [ui] 1.31 + username = FirstName LastName <you@example.org> 1.32 + 1.33 +==== Clonar, modificar, transferir e finalizar ==== 1.34 + 1.35 +<note important>Você deve possuir acesso de escrita aos repositórios para utilizar o comando //hg//.</note> 1.36 + 1.37 + * Clonar (clone) um repositório, exemplo para o **wok**: 1.38 + 1.39 + $ hg clone http://repos.slitaz.org/wok 1.40 + 1.41 + * Para marcar todos os logs ou somente o último log: 1.42 + 1.43 + $ hg log 1.44 + $ hg head 1.45 + 1.46 + * Modifique um ou mais arquivos e transfira (commit): 1.47 + 1.48 + $ hg add 1.49 + $ hg status 1.50 + $ hg commit -m "Log message..." 1.51 + $ hg log 1.52 + 1.53 +<note tip>Você pode usar o comando //rollback// para desfazer a última transação.</note> 1.54 + 1.55 + * Antes de finalizar (push) as mudanças no servidor é seguro executar o comando pull ao menos uma vez: 1.56 + 1.57 + $ hg pull 1.58 + $ hg push 1.59 + 1.60 +Está feito, suas mudanças, código ou correções estão agora no servidor 1.61 + 1.62 +==== Atualização de um repositório local ==== 1.63 + 1.64 +Para baixar as últimas atualizações de um repositório remoto para um repositório local, execute: 1.65 + 1.66 + $ hg pull 1.67 + $ hg update 1.68 + 1.69 +==== Comandos Úteis ==== 1.70 + 1.71 +Comandos do mercurial (hg) que podem ser usados. 1.72 + 1.73 + * **hg help** : Mostra uma lista completa dos comandos. 1.74 + * **hg rollback** : Desfaz a última ação (commit, pull, push). 1.75 + * **hg log <pacote>** : Mostra o log de um pacote. 1.76 + * **hg head** : Mostra o último log. 1.77 + 1.78 +===== Implementação da função iconv() ===== 1.79 + 1.80 +O SliTaz utiliza a função iconv() fornecida pela biblioteca glibc do projeto GNU - alguns pacotes que necessitam da função libiconv devem usar a versão fornecida pela glibc (glibc-locale). Note que já não há mais um pacote libiconv (1.2 MB) no SliTaz. 1.81 + 1.82 +===== Pacotes Tazpkg ===== 1.83 + 1.84 +Os pacotes tazpkg no SliTaz são automaticamente criados via Tazwok e receitas no [[pt:cookbook:wok|wok]]. O Livro de Receitas descreve o uso das ferramentas e o formato dos arquivos [[pt:cookbook:receipt|receipt]]. É necessário que estes dois textos sejam lidos antes de prosseguirmos. 1.85 + 1.86 +Em termos de escolha de pacote, a idéia é oferecer o pacote por tarefa ou funcionalidade, isto é, a mais leve aplicação em seu campo e sem duplicações. Note que a atual seleção de pacotes não é imutável, se você souber de uma alternativa mais leve, com mais funcionalidades ou mais sexy por apenas alguns KB a mais, sugira na [[http://www.slitaz.org/en/mailing-list.html|lista de discussão]]. Atenção redobrada é prestada aos pacotes do LiveCD: eles devem ser "limpos", removendo-se dependências desnecessárias e opções do compilador. Em geral os pacotes candidatos a fazer parte do LiveCD são discutidos na lista. 1.87 + 1.88 +Antes de você começar a compilar e a criar pacotes para o SliTaz, certifique-se que o trabalho ainda não existe na relação do wok disponível no mirror principal do SliTaz ([[http://hg.slitaz.org/wok/file/tip|wok]] e [[http://hg.slitaz.org/wok-undigest/file/tip|wok-undigest]]). Não se esqueça que os membros da lista podem te ajudar e que a documentação do [[pt:cookbook:wok|wok e ferramentas]] existem para te guiar nos primeiros passos. 1.89 + 1.90 +==== Nomes de Pacotes ==== 1.91 + 1.92 +Na maioria dos casos o nome do pacote é o mesmo do código fonte, exceto para os módulos das linguagens Python, Perl, PHP, Ruby e Lua. Por exemplo, o pacote que fornece o sistema de templates Kid, escrito em Python e XML, é nomeado: //python-kid//. 1.93 + 1.94 +===== Gerenciamento do website e manuais ===== 1.95 + 1.96 +O website e os manuais (Manual do SliTaz, Livro de Receitas) são gerenciados pelo repositório mercurial, podendo ser clonados da seguinte maneira: 1.97 + 1.98 + $ hg clone http://hg.slitaz.org/website 1.99 + 1.100 +Ou, se você tiver as permissões necessárias: 1.101 + 1.102 + $ hg clone http://repos.slitaz.org/website 1.103 + 1.104 + 1.105 +==== Estilo para codificação de xHTML ==== 1.106 + 1.107 + * As páginas nos diferentes manuais são codificadas em xHTML 1.0 transitional. 1.108 + * As cores para o corpo da página (body) e para os títulos são definidas diretamente de forma a permitir que os links sejam facilmente identificáveis. 1.109 + * Os títulos de primeiro nível são usados apenas uma vez, no topo da página, os de segundo nível são usados para nomear as seções e os de terceiro e quarto nível para as subseções. 1.110 + * Se uma lista é usada para os tópicos, usando âncoras para as diferentes seções, é posta logo no início da página, após o título da mesma. 1.111 + * Parágrafos são colocados dentro das tags <p></p>. 1.112 + * Para indentação, usa-se tabulações (tabs), de forma a manter-se a semântica e para diminuir espaço em termos de octetos (bytes). 1.113 + * Para mostrar trechos de código, como o nome de um comando dentro de um parágrafo, <code> é o método recomendado. 1.114 + * Para mostrar a saida de comandos ou comandos a serem digitados em um terminal, usa-se <pre>. Exemplo: 1.115 + 1.116 + $ comando 1.117 + 1.118 + * Para mostrar texto que pode ser copiado e colado, como scripts, peças de código, arquivos de configuração, etc, também se usa a tag <pre>, em conjunto com a classe CSS chamada "script". Exemplo: 1.119 + 1.120 + <pre class="script"> 1.121 + 1.122 + code... 1.123 + 1.124 + </pre> 1.125 + 1.126 + * Texto enfatizado é colocado dentro da tag <em> e links internos são relativos. 1.127 + * É recomendável checar a validade do código xHTML por meio do validador online da W3C. 1.128 + 1.129 +===== Diff e patch ===== 1.130 + 1.131 +Os utilitários //diff// e //patch// são ferramentas de linha de comando para criação e implementação de diferenças entre dois arquivos. Esta técnica é freqüentemente usada para colaboração e as mudanças feitas no arquivo original podem ser extraídas facilmente. Para criar um arquivo diff legível aos humanos em um simples editor de textos, você deve fornecer a opção -u : 1.132 + 1.133 + $ diff -u file.orig file.new > file.diff 1.134 + 1.135 +Para aplicar um patch: 1.136 + 1.137 + $ patch file.orig file.diff 1.138 \ No newline at end of file