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 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 colaboradores têm acesso de escrita para corrigir erros, scripts, etc.
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.
“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.
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 Tank também hospeda o website, o boot via web e os repositórios mercurial.
Veja as instruções para a utilização deste servidor descritas no “Livro de Receitas” (cookbook).
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
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>
$ hg clone http://repos.slitaz.org/wok
$ hg log $ hg head
$ hg add $ hg status $ hg commit -m "Log message..." $ hg log
$ hg pull $ hg push
Está feito, suas mudanças, código ou correções estão agora no servidor
Para baixar as últimas atualizações de um repositório remoto para um repositório local, execute:
$ hg pull $ hg update
Comandos do mercurial (hg) que podem ser usados.
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.
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 dos arquivos receipt. É 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 (wok e wok-undigest). Não se esqueça que os membros da lista podem te ajudar e que a documentação do wok e ferramentas existem para te guiar nos primeiros passos.
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.
O website e os manuais (Manual do SliTaz, Livro de Receitas) são gerenciados pelo repositório mercurial, podendo ser clonados da seguinte maneira:
$ hg clone http://hg.slitaz.org/website
Ou, se você tiver as permissões necessárias:
$ hg clone http://repos.slitaz.org/website
$ comando
<pre class="script"> code... </pre>
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 :
$ diff -u file.orig file.new > file.diff
Para aplicar um patch:
$ patch file.orig file.diff