Esta tradução pode não refletir as alterações feitas desde 2022-05-10 ao original em Inglês.
Você deveria dar uma olhada nas alterações. Por favor, veja o README de traduções para informações sobre a manutenção de traduções a este artigo.
Recursos de desenvolvimento do GNU
Esta página descreve muitos dos recursos de desenvolvimento disponíveis para desenvolvedores GNU em máquinas do Projeto GNU. Para obter detalhes completos sobre os privilégios e responsabilidades dos mantenedores do GNU, consulte o documento Informações para os mantenedores do GNU e siga também o Padrão de Codificação GNU. Também é interessante revisar as dicas para mantenedores do GNU e visão geral do que é significa ser um pacote GNU.
Com a abundância de computadores baratos que podem executar o GNU/Linux, bem como a maior disponibilidade de acesso à Internet, muitos voluntários do GNU hoje têm todas as instalações de computadores de que precisam. No entanto, ainda existem vantagens em ter computadores centrais onde os voluntários do GNU podem trabalhar juntos sem precisar tornar suas próprias máquinas acessíveis a outras pessoas.
Por esse motivo, a Free Software Foundation incentiva fortemente os projetos
de software GNU a usar as máquinas em gnu.org
como base. O uso
dessas máquinas também beneficia o Projeto GNU indiretamente, aumentando a
conscientização do público sobre o GNU e difundindo a ideia de trabalhar em
conjunto para o benefício de todos.
Savannah e controle de versão
Se você estiver desenvolvendo um pacote oficial do GNU, é altamente recomendável usar um repositório de controle de código-fonte pública em Savannah, o servidor de hospedagem GNU. Para fazer isso, primeiro crie uma conta para você e depois registre seu pacote GNU. Após a criação, você poderá escolher um sistema de controle de versão, criar páginas web para o seu pacote, gerenciar permissões para colaboradores das páginas e muitos outros recursos.
Listas de discussão
Operamos listas de discussão para pacotes de software GNU, conforme necessário, incluindo listas gerenciadas manualmente e gerenciadas automaticamente.
Quando um pacote GNU é registrado em Savannah, uma interface web permite que os desenvolvedores criem e gerenciem listas de discussão dedicadas ao seu pacote.
Cada pacote GNU nome deve ter pelo menos uma lista de relatórios de
erros com o nome canônico bug-nomepacote@gnu.org
,
além de aliases que podem ser úteis. Usando Savannah, você pode criar listas
para o seu pacote com nomes como este. Alguns pacotes compartilham a lista
bug-gnu-utils@gnu.org, mas agora incentivamos os pacotes a configurar suas
próprias listas individuais.
Os pacotes podem ter outras listas de anúncios, pedindo ajuda, publicando o código-fonte, discutindo os usuários ou o que o mantenedor do pacote achar útil.
Os arquivos da lista de discussão para listas gerenciadas automaticamente
estão disponíveis em lists.gnu.org (os
arquivos mbox podem ser baixados por HTTPS), bem como por meio do
gerenciador de listas. Arquivos para listas mantidas à mão geralmente são
mantidos em /com/archive
nas máquinas GNU.
Quando uma lista de discussão se torna grande o suficiente para
justificá-la, podemos configurar um grupo de notícias gnu.*
com
um link bidirecional para a lista de discussão.
Páginas web
O servidor web principal do GNU é http://www.gnu.org/. É altamente recomendável que os
pacotes GNU usem
http://www.gnu.org/software/nomepacote
como sua
página inicial principal.
Usando Savannah, os desenvolvedores podem criar e manter suas próprias páginas nesse URL por meio de um “repositório web” do CVS, separado do repositório de origem principal do pacote (que pode usar qualquer sistema de controle de versão suportado). Mais informações sobre como manter páginas web do GNU.
FTP
O site FTP principal para o softwares do GNU em http://ftp.gnu.org/
, o qual é
espelhado em todo o mundo. É altamente
recomendável que todos os pacotes GNU carreguem seus lançamentos aqui (além
de qualquer outro local que você achar conveniente).
Usamos um servidor diferente para lançamentos de teste, para que as pessoas
não os instalem pensando que estão prontos para o horário nobre. Este
servidor é ftp://alpha.gnu.org/
.
O documento Informações para mantenedores do GNU possui detalhes completos sobre o processo de envio por ftp, que é o mesmo para os dois servidores.
Contas de login
Fornecemos acesso de login do shell às máquinas GNU para pessoas que precisam delas para trabalhar no software GNU. Ter uma conta de login é um privilégio e uma responsabilidade, e elas devem ser usadas apenas para o seu trabalho no GNU. Instruções para obter máquinas de uma conta estão escritas separadamente.
Na máquina de login geral, os desenvolvedores do pacote gsrc mantêm uma hierarquia das versões atuais de
pacotes GNU (/gd/gnu/gnusys/live
), compilada a partir dos
fontes originais. Para usá-lo, carregue
/gd/gnu/gnusys/live/setup
.
Você também pode usar uma conta GNU para e-mail.
Hydra: Compilações contínuas e testes de portabilidade
As ferramentas de compilação contínua (geralmente chamadas de ferramentas de integração contínua) permitem detectar erros de programação logo após serem introduzidos em um projeto de software, o que é particularmente útil para software desenvolvido em cooperação.
Hydra é uma ferramenta de compilação contínua livre com base no gerenciador de pacote Nix. Administradores da instância Hydra na Universidade Técnica de Delft ofereceram generosamente slots para o Projeto GNU. Projetos na Hydra são recompiladas em cada commit ou alteração em suas dependências, o que vier primeiro (dependências incluem o ambiente de compilação padrão sendo usado,o qual em si contém versões de lançamento recentes do GCC, GNU make etc.)
Atualmente, ela pode compilar software no GNU/Linux (i686
e
x86_64
), bem como no FreeBSD, Darwin, Solaris e Cygwin, e pode
fazer compilação cruzada de versões para o GNU/Hurd, GNU/Linux em outras
arquiteturas e MinGW. Ele pode fornecer relatórios de cobertura de código
produzidos usando LCOV. Além de tarballs de fontes e pacotes Nix, ela pode
construir pacotes para distribuições baseadas em deb
e
RPM
. Os pacotes podem ser criados com base nas versões mais
recentes de suas dependências; por exemplo, o GnuTLS é compilado usando as
versões GNU libtasn1 e GNU libgcrypt correspondentes à sua última
revisão.
Além da interface web, a
Hydra pode enviar notificações por e-mail quando o status da compilação de
um projeto for alterado — por exemplo, de SUCCEED
a
FAILED
. Quando uma compilação falha, seu log e a árvore de
compilação são acessíveis a partir da interface web; o último permite que os
arquivos gerados (por exemplo, config.log
ou
testsuite.log
) sejam inspecionados, o que fornece dicas de
depuração.
Qualquer pacote de software GNU pode solicitar um slot na Hydra. Cada pacote deve fornecer sua própria “receita de compilação” escrita na linguagem Nix (uma expressão Nix, na linguagem Nix). Expressões Nix para projetos GNU estão disponíveis no Git. Para projetos simples usando ferramentas de compilação padrão do GNU, como Automake e Autoconf, a receita geralmente é bastante simples. Por exemplo, consulte a receita para o GNU Patch. Você pode pedir orientação em hydra-users@gnu.org.
Após criar sua receita de compilação, envie um e-mail para hydra-users@gnu.org
e peça para ser incluída na Hydra. Certifique-se também de se tornar um
membro do projeto hydra-recipes
no Savannah. Isso permitirá que você personalize o trabalho de
compilação do seu projeto diretamente.
Para informações técnicas sobre a Hydra, consulte o manual da Hydra. Para mais detalhes, confira o manual do Nix.
platform-testers: Testes de portabilidade manuais
Outra opção útil para testes de pré-lançamento é a lista de discussão de platform-testers. Se houver tempo, as pessoas nesta lista criam pré-lançamentos em uma ampla variedade de plataformas, mediante solicitação. (São necessários voluntários para lidar com solicitações de teste! Basta se inscrever na lista e começar a participar.)
Ao contrário da ferramenta Hydra descrita acima, a lista de platform-testers funciona essencialmente à mão, portanto cada método tem suas vantagens e desvantagens. Além disso, a equipe de platform-testers tem acesso a uma variedade maior de plataformas e compiladores do que a configuração da Hydra.
Portanto, se você tiver um pré-lançamento, poderá escrever para a lista de discussão, fornecendo (1) o URL para o tarball, (2) a data planejada do lançamento e (3) o endereço de e-mail para o qual os relatórios de compilação devem ser enviado. As compilações e relatórios são feitos à mão pelos voluntários da lista.