Índice
Aqui estão os pre-requisitos que você precisa compreender antes de se envolver com Debian.
Existem vários tipos de pessoas a interagir em redor de Debian com diferentes papeis:
Por favor note que você não pode tornar-se um Debian Developer (DD) oficial da noite pró dia, pois isso requer mais do que habilidades técnicas. Não fique desencorajado por isto. Se o seu trabalho for útil para outros, você pode à mesma enviar o seu pacote seja como um maintainer através dum sponsor ou como um Debian Maintainer.
Por favor note que você não precisa de criar um pacote novo para se tornar num Debian Developer oficial. Contribuir para os pacotes existentes também pode fornecer um caminho para se tornar num Debian Developer oficial. Existem muitos pacotes à espera de bons maintainers (veja “"`Secção 3.8, “Abordagens de contribuição””`").
Por favor consulte o seguinte para aprender a como contribuir para Debian:
Por favor compreenda as dinâmicas sociais de Debian para se preparar para interagir com Debian:
Somos todos voluntários.
Cooperação amigável é a força motriz.
Debian não uma escola onde você obtêm atenção automática dos professores.
Debian está em melhoria constante.
Como nós nos focamos apenas nos aspectos técnicos do empacotamento no resto deste guia, por favor consulte o seguinte para compreender as dinâmicas sociais de Debian:
Aqui estão alguns lembretes técnicos para ajudar outros maintainers a trabalhar no seu pacote facilmente e efectivamente, maximizando o resultado de Debian como um todo.
Faça o seu pacote fácil de depurar.
Mantenha o seu pacote bem documentado.
![]() | Nota |
|---|---|
|
A depuração do software tende em consumir mais tempo que escrever o software inicial funcional. |
Não é inteligente correr o seu sistema base sob a suite unstable mesmo para objectivos de desenvolvimento.
![]() | Nota |
|---|---|
|
Atividades avançadas de desenvolvimento de pacotes tais como testes de sistemas Desktop completos, daemons de rede, e pacotes de instalador de sistemas, devem usar a suite unstable a correr sob “virtualização”. |
Por favor prepare-se para ler a parte pertinente da documentação Debian mais recente para gerar pacotes Debian perfeitos.
“Manual de Política Debian”
“Debian Developer’s Reference”
“Guide for Debian Maintainers” — este guia
Todos estes documentos são publicados em https://www.debian.org usando as versões da suite unstable dos pacotes Debian correspondentes. Se você deseja ter acesso local a todos estes documentos a partir do seu sistema base, por favor considere usar técnicas como “apt-pinning” e “chroot”.
Se este guia contradizer a documentação Debian oficial, a documentação Debian oficial está correta. Por favor envie um relatório de bug sobre o pacote debmake-doc usando o comando reportbug.
Aqui estão documentos tutorial alternativos, que pode ler juntamente com este guia:
“Tutorial de Empacotamento Debian”
“Guia de Empacotamento de Ubuntu” (Ubuntu é baseado em Debian.)
“Guia de Novos Maintainers Debian” (antecessor deste manual, descontinuado)
![]() | Dica |
|---|---|
|
Ao ler estes tutoriais, pode considerar usar o comando debmake em vez do comando dh_make. |
Antes de decidir perguntar a sua questão num lugar público, por favor faça a sua parte ao ler a documentação relevante:
Você pode encontrar a sua desejada informação ao usar uma string de busca bem-formada como "keyword site:lists.debian.org" para limitar o domínio da busca do motor de busca web.
Criar um pequeno pacote de teste é uma boa maneira de aprender detalhes do empacotamento. Inspecionar pacotes bem mantidos existentes é a melhor maneira de aprender como as outras pessoas criam pacotes.
Se ainda tiver questões sobre empacotamento, você pode pergunta-las interactivamente:
Listas de mail especificas de linguagem.
Desenvolvedores Debian mais experientes irão ajuda-lo, se perguntar de modo apropriado após fazer os esforços requeridos.
![]() | Cuidado |
|---|---|
|
O desenvolvimento Debian é um alvo em movimento. Alguma informação encontrada na web pode estar desatualizada, incorreta, ou não ser aplicável. Por favor use tal informação com cuidado. |
Por favor perceba a situação do arquivo Debian.
Assim, contributos a pacotes que já existem no arquivo são muito mais apreciados (e mais prováveis de receber patrocínios para o envio) pelos outros maintainers.
![]() | Dica |
|---|---|
|
O comando wnpp-alert do pacote devscripts pode procurar por pacotes instalados que estão para ser adotados ou órfãos. |
![]() | Dica |
|---|---|
|
O pacote how-can-i-help pode mostrar oportunidades para contribuir para Debian com base em pacotes instalados localmente. |
Aqui está o código pseudo-Python para as suas abordagens de contribuição a Debian com um programa:
if exist_in_debian(program):
if is_team_maintained(program):
join_team(program)
if is_orphaned(program): # maintainer: Debian QA Group
adopt_it(program)
elif is_RFA(program): # Request for Adoption
adopt_it(program)
else:
if need_help(program):
contact_maintainer(program)
triaging_bugs(program)
preparing_QA_or_NMU_uploads(program)
else:
leave_it(program)
else: # new packages
if not is_good_program(program):
give_up_packaging(program)
elif not is_distributable(program):
give_up_packaging(program)
else: # worth packaging
if is_ITPed_by_others(program):
if need_help(program):
contact_ITPer_for_collaboration(program)
else:
leave_it_to_ITPer(program)
else: # really new
if is_applicable_team(program):
join_team(program)
if is_DFSG(program) and is_DFSG(dependency(program)):
file_ITP(program, area="main") # This is Debian
elif is_DFSG(program):
file_ITP(program, area="contrib") # This is not Debian
else: # non-DFSG
file_ITP(program, area="non-free") # This is not Debian
package_it_and_close_ITP(program)
Aqui:
Para exist_in_debian(), e is_team_maintained(); veja:
Para is_orphaned(), is_RFA(), e is_ITPed_by_others(); veja:
Para is_good_program(), veja:
Para is_it_DFSG(), e is_its_dependency_DFSG(); veja:
Para is_it_distributable(), veja:
Você ou precisa de preencher um ITP ou adotar um pacote para começar a trabalhar nele. Veja “Debian Developer’s Reference”:
O contribuidor e maintainer novato pode se questionar sobre o que aprender para começar o seu contributo a Debian. Aqui estão as minhas sugestões dependendo do seu objectivo.
Empacotamento
Tradução
Documentação
O contribuidor e maintainer novato pode questionar onde começar a sua contribuição para Debian. Aqui estão algumas sugestões que dependem das suas habilidades:
Habilidades shell POSIX, Perl, e Python:
Habilidades C e C++:
Habilidades Não-Inglês:
Habilidades de documentação:
Esta atividades devem dar-lhe boa exposição às outras pessoas de Debian para estabilizar a sua credibilidade.
O maintainer novato deve evitar empacotar programas com exposição alta de segurança:
Quando você ganhar mais experiência em empacotamento, você vai ser capaz de empacotar tais programas.
[4] A grande maioria de maintainers Debian usa git sobre outros sistemas VCS como os hg, bzr, etc.
[5] Isto não é um requerimento absoluto. O autor hostil por tornar-se num grande consumo de recursos para todos nós. O autor amigável pode ser consultado para resolver quaisquer problemas com o programa.