Desenvolvimento
Espaço dos Desenvolvedores do SliTaz
- Repositórios Mercurial.
- Pacotes Tazpkg.
- Gerenciamento do Website.
- Lista de Discussão.
- Wok & Ferramentas.
- Repositórios Hg: hg.slitaz.org
- Scratchpad: wiki.slitaz.org
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 lista de discussão, usando o wok e criando novos pacotes ou simplesmente ajudando os outros na lista de discussão ou no fórum. O SliTaz possui seus repositórios Mercurial hospedados num sistema rodando SliTaz, desenvolvedores podem requisitar um novo repositório se necessário e contribuintes tem acesso de escrita para corrigir erros, scripts, etc.
SliTaz é uma pequena comunidade e ouve seus usuários. Há vários desenvolvedores ativos no fórum e na lista de discussão.
Repositórios Mercurial
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:
tazpkg get-install mercurial
~/.hgrc
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:
[ui] username = FirstName LastName <you@example.org>
Clonar, modificar, transferir e finalizar
Clonar (clone) um repositório, exemplo para slitaz-doc:
$ hg clone http://repos.slitaz.org/slitaz-doc
Mude de diretório para slitaz-doc, note que você deve estar no repositório para poder utilizar os comandos "hg". Para marcar todos os logs ou somente o último log:
$ hg log $ hg head
Modifique um ou mais arquivos e transfira (commit):
$ hg status $ hg commit -m "Log message..." $ hg log
Note que você pode usar o comando rollback para desfazer a última
transação. Antes de finalizar (push) as mudanças no servidor é seguro executar
o comando pull ao menos uma vez:
$ hg pull $ hg push
Está feito, suas mudanças, código ou correções estão agora no servidor
Pacotes Tazpkg
Os pacotes tazpkg no SliTaz são automaticamente criados via Tazwok e receitas no wok. O Livro de Receitas descreve o uso das ferramentas e o formato das receitas. É necessário que estes dois textos sejam lidos antes de prosseguirmos.
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 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.
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. Não se esqueça que os membros da lista podem te ajudar e que a documentação do wok e ferramentas existe para te guiar nos primeiros passos.
Gerenciamento do website e livros
O gerenciamento do website e dos livros (Manual SliTaz & Livro de Receitas)
é feito via módulo rsync, Mercurial, utilidades diff e patch e a lista de
discussão. Rsync é uma ferramente de backup incremental: usando um algoritmo
ultra-rápido, transfere ou sincroniza dados tanto localmente quanto em rede.
A utilidade diff é usada para enviar somente a lista de arquivos
modificados e a patch para aplicar estas modificações às páginas
originais.
Você pode sincronizar o site e os livros graficamente usando o Grsync ou através
da linha de comando. Para baixar o site pela primeira vez ou sincronizar as
páginas no diretório /home/hacker/Public/slitaz/website,
use o módulo rsync://slitaz.org/website:
$ rsync -r -t -p -v \
--progress --delete \
rsync://slitaz.org/website /home/hacker/Public/slitaz/website
Diff e patch
As utilidades 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 :
$ diff -u file.orig file.new > file.diff
Para aplicar um patch:
$ patch file.orig file.diff

