Processo de Revisão de Pacote
Para que um novo pacote seja adicionado ao Fedora, o pacote deve primeiro passar por uma revisão formal. O processo é regido pela Política de Revisão de Pacotes aprovada pela FESCo.
Processo de Revisão
Existem duas funções no processo de revisão: a do contribuidor e a do revisor. Este documento apresenta ambas as perspectivas.
Isenções
Certos pacotes estão isentos do processo de revisão conforme descrito em seção Aplicabilidade da Política de Revisão de Pacote. Se uma isenção for garantida, o contribuidor poderá solicitar diretamente um repositório para o pacote. A solicitação para criar um repositório deve incluir o sinalizador --exception
em vez de um número de bug:
fedpkg request-repo --exception <nome-pacote>
Contribuidor
Um Contribuidor é definido como alguém que deseja enviar (e manter) um novo pacote no Fedora. Para se tornar um contribuidor, você deve seguir as instruções detalhadas em Juntando-se aos Mantenedores de Pacotes.
Como Contribuidor, você já deve ter criado um pacote que segue as Diretrizes de Empacotamento e não contém nenhum dos Itens Proibidos.
Quando estiver satisfeito com seu arquivo de especificações, você deverá enviar esse SRPM para uma revisão de pacote. Atualmente, isso é feito seguindo estas etapas:
-
Colocar seu arquivo spec e SRPM em algum lugar na Internet onde possa ser baixado diretamente (apenas http(s), sem páginas de registro ou métodos especiais de download, por favor). Se você não tem onde colocar suas especificações e SRPM, use copr.
-
Preencha uma solicitação de revisão no bugzilla. Certifique-se de registrar esse bug com uma conta vinculada ao seu endereço de e-mail FAS, caso contrário, suas solicitações de acompanhamento serão encerradas como inválidas.
Se ninguém comentar sobre sua solicitação de revisão, você pode enviar um e-mail para uma lista de discussão (por exemplo, devel) ou para a categoria Package Review Swaps no Discourse do Fedora para solicitar uma "troca de revisão". Esta é uma oferta para fazer uma revisão do pacote de outra pessoa em troca da revisão do seu pacote. Geralmente é um por um ou pode ser algum outro acordo privado, dependendo da dificuldade dos respectivos pacotes. |
-
Se você não é membro do grupo packager, você precisa de um patrocinador. Adicione FE-NEEDSPONSOR aos bugs bloqueados por sua solicitação de revisão. Para obter mais informações, leia Como Conseguir Patrocínio para o Grupo Packager.
-
Se esta for uma solicitação de "re-revisão" necessária para reivindicar propriedade de um pacote retirado, adicione
Unretirement
ao campo Whiteboard. -
Espere alguém revisar seu pacote! Neste ponto do processo, o sinalizador
fedora-review
está em branco, o que significa que nenhum revisor foi atribuído. -
Pode haver comentários de pessoas que não estão revisando formalmente o pacote, elas podem adicionar
NotReady
ao campo Whiteboard, indicação de que a solicitação de revisão ainda não está pronta, devido a alguns problemas relatados. Depois de abordá-los, poste os URLs no arquivo SPEC e SRPM atualizado e limpe o Whiteboard. Espera-se que você responda aos comentários, inclusive atualizando seu envio para abordá-los; caso contrário, seu ticket será fechado. -
Um revisor assume a tarefa de revisar seu pacote. Ele definirá o sinalizador
fedora-review
como?
. -
O revisor analisará seu pacote. Você deve corrigir todos os bloqueadores identificados pelo revisor. Assim que o revisor estiver satisfeito com o pacote, o sinalizador
fedora-review
será definido como+
, indicando que o pacote foi aprovado na revisão. -
Se você ainda não foi patrocinado, solicite patrocínio em registrando um issue em packager-sponsors.
-
Quando seu pacote for aprovado na revisão, você deverá usar
fedpkg
para solicitar um repositório Git para ele. Antes de solicitar um repositório Git para o pacote, você precisará de um token de api do pagure.io com a ACL Create a new ticket adicionada em~/.config/rpkg /fedpkg.conf
:[fedpkg.pagure] token = <código-gerado>
-
Solicite um repositório Git para o pacote. Por exemplo, se o nome do pacote for
meu-pacote
e o ticket de revisão do bugzilla for 12345,:fedpkg request-repo meu-pacote 12345
Verifique se o seu bug de revisão é válido. Deve ter o
fedora-review
definido como+
e deve ser atribuído ao seu revisor. Caso contrário, sua solicitação de repositório será encerrada como inválida. -
If you want to add your package to more Fedora releases and not just Rawhide, see Requesting branches.
-
Quando os tickets de fedora-scm-requests para o repositório solicitado e os branches forem fechados, faça um checkout do pacote:
fedpkg clone
-
Agora você pode importar seu pacote SRPM. Faça uma verificação final das tags do arquivo spec, etc.
-
Solicite uma compilação ao Koji executando
fedpkg build
. (Você precisará configurar Kerberos para projeto Fedora) -
Repita o processo para outros branches que você tenha solicitado acima:
-
Faça o checkout do branch dado:
fedpkg switch-branch f40
-
Deixe Koji construir o pacote para este branch:
fedpkg build
-
-
Solicite atualizações para branches de lançamento do Fedora, se necessário, usando
fedpkg update
ou outra interface Bodhi conforme detalhado em Bodhi. -
Se possível, adicione seu pacote ao sistema de monitoramento de lançamento upstream, o Upstream Release Monitoring.
-
Para ser notificado se o seu pacote parar de ser compilado com sucesso quando as dependências forem atualizadas no Fedora, você pode habilitar o Koschei.
-
Você deve certificar-se de que o ticket de revisão esteja fechado. Você pode fechá-lo assim que o pacote for compilado nos branches solicitados. Se você construiu para um dos branches de lançamento do Fedora, você pode pedir ao Bodhi para fechar o ticket para você quando o processo for concluído. Se você mesmo fechar o ticket, use
NEXTRELEASE
como resolução.
Você não precisa passar pelo processo de revisão novamente para alterações subsequentes no pacote e não deve fazer referência ao ticket de revisão em atualizações subsequentes criadas no Bodhi.
Revisor
O Revisor é a pessoa que escolhe revisar um pacote.
O Revisor pode ser qualquer titular de conta Fedora que seja membro do grupo packager. (Se o Colaborador ainda não for patrocinado, a revisão ainda poderá ser concluída, mas ele precisará encontrar um patrocinador em algum momento.)
-
Search Package Review Tracker for a review request that needs a reviewer:
fedora-review
flag is blank or the bug is assigned tonobody@fedoraproject.org
. -
Se você notar alguns problemas que precisam ser resolvidos antes de iniciar uma revisão formal, adicione esses problemas em um comentário e defina o Whiteboard do bug para conter
NotReady
. Isso ajuda outros possíveis revisores a perceberem que a solicitação de revisão ainda não está pronta para futuras ações de revisão. -
Se você quiser revisar formalmente o pacote, defina o sinalizador
fedora-review
como?
e atribua o bug a você mesmo. -
Revisar o pacote
-
Confira os itens DEVE listados nas Diretrizes de Revisão.
-
Percorra os itens RECOMENDADOS em Diretrizes para Revisão .
-
A ferramenta FedoraReview (empacotada como
fedora-review
) pode ajudar a automatizar esse processo.
-
-
Inclua o texto da sua avaliação em um comentário no ticket. Para facilitar a leitura, basta usar um comentário normal em vez de um anexo.
-
Execute uma das seguintes ações:
-
ACCEPT - Se o pacote for bom, configure o sinalizador
fedora-review
para+
. Não feche o ticket de revisão ainda - isso será feito pelo remetente assim que o pacote estiver disponível no Fedora. -
FAIL, LEGAL - Se o pacote for legalmente arriscado por qualquer motivo (violação conhecida de patente ou direitos autorais, preocupações com marcas registradas) feche o bug como
WONTFIX
e deixe um comentário apropriado (por exemplo, não enviamos mp3, então pare de enviá-lo). Defina o sinalizadorfedora-review
para-
, e tenha o bloco de ticket de revisão FE-Legal. -
FAIL, OTHER - Se o pacote estiver errado ou for inadequado por algum outro motivo, e não há solução simples, então feche o bug como
WONTFIX
e deixe um comentário apropriado (por exemplo, não empacotamos pornografia para redistribuição, desculpe. Ou este não é um arquivo específico, é um menu do McDonald’s, desculpe.) Defina o sinalizadorfedora-review
como-
. -
NEEDSWORK - Qualquer coisa que não falhe explicitamente deve ser deixada em aberto enquanto o remetente e o revisor trabalham juntos para corrigir possíveis problemas. Marque o bug como
NEEDINFO
enquanto espera que o revisor responda às solicitações de melhoria. Isso torna mais fácil para os revisores encontrar avaliações abertas que exigem sua contribuição.
-
-
Uma vez que um pacote é sinalizado como
fedora-review +
(ou-
), o trabalho do Revisor está concluído, embora ele possa ser chamado para ajudar o Colaborador no processo de importação/construção/atualização e para garantir que o Colaborador feche o ticket quando o processo for concluído.
Definições para configurações do sinalizador fedora-review
fedora-review |
(BLANK) |
O pacote precisa ser revisão |
fedora-review |
? |
Pacote sob revisão |
fedora-review |
- |
O pacote falhou na revisão, descartado por questões legais ou outras questões. |
fedora-review |
+ |
Pacote aprovado |
Tickets especiais bloqueadores
Existem alguns tickets que podem ser colocados no campo "Blocks" para indicar status específicos dos tickets:
FE-NEEDSPONSOR |
O remetente requer um patrocinador; a revisão pode ser feita por qualquer pessoa, mas um patrocinador precisará vir e patrocinar o remetente. |
FE-DEADREVIEW |
A revisão foi encerrada porque o remetente se retirou; usuários que procuram pacotes para enviar podem encontrar algumas possibilidades nesses tickets mortos. |
FE-Legal |
O pacote está atualmente aguardando revisão pela equipe jurídica. |
O Whiteboard
Para economizar tempo dos revisores, a página New, reviewable Fedora package review tickets ocultará certos tickets que não podem ser revisados. O campo Whiteboard (quadro branco, em inglês) pode ser usado para marcar um ticket com vários bits adicionais de status que farão com que ele seja oculto ou exibido de forma diferente.
NotReady |
O pacote ainda não está pronto para revisão. É possível abrir um ticket de revisão, marcá-lo como NotReady e continuar trabalhando nele até que esteja pronto para ser visto por um revisor. |
BuildFails |
O pacote falha ao ser compilado. |
AwaitingSubmitter |
A revisão do pacote está paralisada e não pode prosseguir sem a entrada do remetente. |
Trivial |
O pacote é trivial para revisar. Veja abaixo. |
Unretirement |
Uma nova revisão necessária para reivindicar propriedade de um pacote retirado. |
O status Trivial
destina-se a indicar pacotes que, como auxílio aos novos revisores, são especialmente descomplicados e fáceis de revisar. Um ticket não deve ser marcado como trivial, a menos que:
-
O pacote é conhecido por ser compilado e um link para uma compilação inicial está incluído.
-
O ticket explica qualquer saída do rpmlint que esteja presente.
-
A especificação não contém nada que seja desnecessário no Fedora moderno (como
BuildRoot:
, uma seção%clean
ou%defattr
). -
A especificação está livre de uso excessivo ou complicado de macros.
-
A especificação usa apenas os scriptlets menos complicados que são obtidos diretamente da página Scriptlets.
-
O pacote não contém daemons.
-
O pacote não é especialmente sensível à segurança.
-
O código passou por uma inspeção completa para questões de licenciamento. As anomalias que seriam encontradas pelo
licensecheck
devem ser explicadas.
Em suma, isto deve ser reservado apenas para aqueles bilhetes que devem ser facilmente acessíveis por alguém que faz a primeira revisão do pacote.
Acompanhamento de solicitações de pacotes
The Package Review Tracker provides various review-related reports and a simple way to search for reviews by package name or reporter name or others.
Want to help? Learn how to contribute to Fedora Docs ›