mNo edit summary |
(Atualize suas branches (se desejar)) |
||
(41 intermediate revisions by 3 users not shown) | |||
Line 28: | Line 28: | ||
=== Criando uma conta no Bugzilla === | === Criando uma conta no Bugzilla === | ||
Certifique-se de que você tem uma conta no [https://bugzilla.redhat.com/ | Certifique-se de que você tem uma conta no [https://bugzilla.redhat.com/ Red Hat Bugzilla]. | ||
<br>'''ATENÇÃO:''' E imprescindivel ter uma conta [[#Get_a_Fedora_Account| Fedora Account System]], leia abaixo para mais informações.<br> | <br>'''ATENÇÃO:''' E imprescindivel ter uma conta [[#Get_a_Fedora_Account| Fedora Account System]], leia abaixo para mais informações.<br> | ||
O endereço de email que você usar em sua conta do bugzzila deve ser o mesmo endereço de email de que você usa no [[#Get_a_Fedora_Account| Fedora Account System]] e todas as coisas relacinadas ao Empacotamento Fedora. | O endereço de email que você usar em sua conta do bugzzila deve ser o mesmo endereço de email de que você usa no [[#Get_a_Fedora_Account| Fedora Account System]] e todas as coisas relacinadas ao Empacotamento Fedora. | ||
{{admon/important|Não use seu endereço @fedoraproject.org se você já possui um.| Você não deve usar seu endereço @fedoraproject.org no Bugzilla, | {{admon/important|Não use seu endereço @fedoraproject.org se você já possui um.| Você não deve usar seu endereço @fedoraproject.org no Bugzilla, pois, se assim o fizer, você não será promovido no bugzilla. Se você optar por usar seu endereço @fedoraproject.org, você pode solicitar em [https://fedorahosted.org/fedora-infrastructure/ Fedora Infrastructure Ticket System] para que um administrador possa substituir manualmente o endereço Bugzilla conectado com sua conda Fedora.}} | ||
{{Anchor|GetAFedoraAccount}} | {{Anchor|GetAFedoraAccount}} | ||
Line 39: | Line 39: | ||
=== Criando uma conta no Fedora === | === Criando uma conta no Fedora === | ||
Crie uma conta no [[Infrastructure/AccountSystem |Fedora Account System]] (esta não é a mesma conta que você registrou no bugzilla) | |||
# | # Visite o sistema de contas da comunidade Fedora: https://admin.fedoraproject.org/accounts/ | ||
# | # Clique em 'New account' e preencha os espaços em branco. Observe que o e-mail usado no FAS, deve ser o mesmo que você se cadastrou bugzilla. Isso permite que o sistema vincule os privilégios entre as duas contas. | ||
# | # Depois de criar sua conta, certifique-se de assinar o CLA (se você clicar no link "My Account" no canto superior direito, você verá o CLA: CLA Done). | ||
# | # Você também precisará carregar uma chave pública SSH RSA, e usar uma chave privada correspondente para acessar as máquinas Fedora via SSH. Caso tenha dúvidas, poderá consultar sobre este procedimento em [[Cryptography | here]]. | ||
'''Observação''': Dentro do FAS - https://admin.fedoraproject.org/accounts/, ao logar-se, você poderá mudar o País, e lingua para o português do Brasil se desejar. | |||
=== Junte-se às listas de discussão importantes === | === Junte-se às listas de discussão importantes === | ||
Você pode considerar envolver-se à lista de discussão do Fedora {{fplist|devel-announce}}. É uma lista de anuncios com poucas postagens onde são publicadas importantes informações de desenvolvimento. | |||
Você pode considerar envolver-se à lista de discussão do Fedora {{fplist|devel}}, onde são realizadas discussões sobre o desenvolvimento do Fedora. Diferentemente da lista de discussões anterior, esta é mais movimentada. | |||
Considere também a {{fplist|package-announce}} - lista de discussão que emite notificações sobre tudo o que compete à pacotes no repositório do Fedora. Esta é uma lista de discussão também bastante movimentada. | |||
Outra lista de discussão que você poderá considerar (pelo menos para visualizar os arquivos) é {{fplist|packaging}}. Esta é a lista de discussão da [[Packaging/Committee | Fedora Packaging Committee]], que determinam as diretrizes oficiais de pacotes para projetos do Fedora. | |||
=== | === Certifique-se de que o software que deseja empacotar é adequado === | ||
{{admon/note|| | {{admon/note||É importante que saiba que há métodos a serem promovidos para o grupo packager do que simplesmente enviar um novo pacote. Verifique o [[How_to_get_sponsored_into_the_packager_group| How to get sponsored page]] para mais informação.}} | ||
O pacote que você está enviando pode ser de qualquer projeto de código aberto e livre que já não foi empacotado no Fedora. Antes de criar o seu pacote, certifique-se de que o software ainda não está no repositório do Fedora, ou aguardando revisão. | |||
* | * Busque por [https://apps.fedoraproject.org/packages/ Fedora packages] para pacotes existentes repositório. | ||
* | * Busque por [http://fedoraproject.org/PackageReviewStatus/ Review Tracker] para pacotes em análise. | ||
* | * Verifique também a lista [[Deprecated_packages | deprecated packages]]. | ||
* | * Esteja ciente de [[forbidden items]]. | ||
=== | === Entenda as suas responsabilidades === | ||
Componentes de software incluídos no Fedora precisam ser mantidos ativamente, e bugs-especialmente problemas de segurança-precisam ser corrigidos em tempo oportuno. Como mantenedor de pacotes do projeto Fedora, é a sua principal [[Package_maintainer_responsibilities| responsabilidade]] garantir isso. Nós incentivamos você a obter [[Policy_for_encouraging_comaintainers_of_packages | co-mantenedores]] e buscar a ajuda da Comunidade do Fedora através da lista de discussão de desenvolvimento sempre que necessário. | |||
=== | === Leia outras submissões === | ||
Leia algumas outras submissões para aprender sobre empacotamento e para ganhar a familiaridade com o processo, e conhecer melhor as exigências. | |||
Uma maneira de fazer isso é ingressando na lista de discussão {{fplist|Package-Review}}; Todos os comentários sobre as revisões do pacote Fedora são enviados para esta lista. | |||
=== Configurando seu Git === | === Configurando seu Git === | ||
A primeira coisa a fazer quando você configura o Fedora Packaging é configurar o seu nome de usuário e endereço de e-mail para o git. Estes são vinculados em cada commit que você faz para os pacotes Fedora. | |||
<pre> | <pre> | ||
Line 86: | Line 88: | ||
</pre> | </pre> | ||
=== | === Instale as ferramentas do cliente (Koji) e configure seu certificado === | ||
Para compilar pacotes para a coleção Fedora ou [[EPEL]] no sistema de compilação do Fedora você precisa usar o [[Using_the_Koji_build_system|Koji]]. | |||
O pacote {{Package|Fedora-Packager}} fornece ferramentas para ajudá-lo a configurar e trabalhar com o Fedora; trará em tudo necessário para o trabalho de empacotamento geral. Execute o seguinte comando como root: | |||
yum install fedora-packager | |||
sudo yum install fedora-packager | |||
Após a instalação execute o seguinte comando seu usuário (não root) para [[Using_the_Koji_build_system#Fedora_Account_System_.28FAS2.29_Setup| Configure os seus certificados e a configuração do cliente Koji]]: | |||
fedora-packager-setup | fedora-packager-setup | ||
{{admon/tip| | {{admon/tip|Expiração do certificado| O certificado que você gerou expirará após 6 meses. Então você tem que rodar novamente o Fedora-Packager-setup. Cada vez que você solicitar um novo certificado, o antigo será invalidado e não poderá mais ser usado.}} | ||
Agora você pode usar o "Koji" para tentar construir seus pacotes RPM no sistema de compilação do Fedora, mesmo em plataformas ou versões do Fedora que você ainda não tem. Observe que você pode (e definitivamente deve) testar compilações ("Scratch") mesmo antes do seu pacote ter sido aprovado e promovido. Uma maneira simples de fazer um scratch build, é usando Koji em linha de comando: | |||
koji build --scratch TARGET path_to_source_RPM | koji build --scratch TARGET path_to_source_RPM | ||
Onde: | |||
* TARGET é uma palavra-chave de distribuição como f17 (isto é, Fedora 17). Você pode executar "Koji List-targets" para ver todos os targets. Para o build do próximo lançamento (Rawhide), ' ' não ' ' use "dist-Rawhide"-Use "fX" onde X é um mais do que o mais recente lançamento estável ou ramificado. | |||
* Observe que você precisa fornecer o ' ' caminho ' ' para o código-fonte do RPM (que termina em .src.rpm), e ' ' ' não ' ' ' uma URL genérica. (se você tiver apenas o arquivo spec, use <code>rpmbuild --nodeps -bs SPECFILE</code> para criar um novo código-fonte RPM). | |||
Seus builds Koji só podem depender de pacotes que estão realmente no TARGET do repositório da distribuição. Desta forma, você não poderá usar Koji para build nas distribuições lançadas se o seu pacote depender de outros novos pacotes que [[Bodhi|Ainda não foi liberados. Você '' pode '' usar o Koji build para Rawhide (na próxima versão não lançada), mesmo que dependa de outros novos pacotes, contanto que os outros pacotes sejam construídos em "Rawhide", conforme descrito abaixo. Se você precisa construir um pacote que não se trata de uma atualização estável e liberada, você poderá enviar um ticket para rel-ENG em: https://fedorahosted.org/rel-ENG/newticket e solicitar que esse pacote seja adicionado como um BUILDROOT override. Para pacotes em EPEL, você tem que usar o componente ''EPEL''. | |||
Você pode aprender mais sobre o Koji em: | |||
koji --help # Ajuda geral | |||
koji --help-commands # Lista de comandos do koji | |||
koji COMMAND --help # Comando de ajuda usando o próprio comando | |||
[[Using the Koji build system]] há mais informações sobre o uso de Koji. | |||
* | === Criar um Pacote === | ||
* | |||
* | * Se você não souber como criar um pacote RPM, consulte [[How to create an RPM package]]. | ||
* | * Certifique-se de que o pacote satisfaz o [[Packaging:Guidelines| Packaging Guidelines]] e [[Packaging:NamingGuidelines| PackageNamingGuidelines]] . | ||
* Esteja ciente da [[Packaging:ReviewGuidelines| Package Review Guidelines]] (they will be used during the package review). | |||
* Certifique-se do que o seu pacote constrói. Isso é surpreendentemente importante, pois a qualidade importa mais do que um número grande de submissões. | |||
=== Enviar o seu Pacote === | === Enviar o seu Pacote === | ||
Faça upload de seu SRPM e arquivos spec em algum lugar para que outros possam recuperá-los. Isso pode ser em qualquer lugar acessível por uma URL, mas é importante que os arquivos sejam diretamente acessíveis, não escondido atrás de algum serviço que faz as pessoas esperam para baixar coisas ou redireciona através de páginas de publicidade. Se você estiver em pelo menos um grupo de projeto, então você pode usar o seu armazenamento em http://fedorapeople.org http://fedorapeople.org] para este fim. Se você não tiver feito nada com sua conta além de configurá-lo e assinar o CLA, então você pode pedir acesso suficiente para usar o espaço fedorapeople visitando [http://fedorahosted.org/packager-sponsors the sponsors trac instance] e arquivar uma solicitação de ticket ao " Initial package hosting request". | |||
{{Anchor|CreateYourReviewRequest}} | {{Anchor|CreateYourReviewRequest}} | ||
=== Criando seu "Review Request" === | === Criando seu "Review Request" === | ||
Preencha este formulário: https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review. | |||
* | * Antes de enviar seu pedido, certifique-se de que não existe um pedido prévio para o mesmo pacote em [http://fedoraproject.org/PackageReviewStatus/ package review status page]. | ||
* | * Certifique-se de que você colocou o '''nome do pacote''' (excluindo versão e números de lançamento) no campo ''<code>Review Summary</code>', juntamente com um '''resumo muito''' breve do que se trata o pacote. | ||
* | * Coloque uma '''descrição''' do seu pacote (geralmente, pode ser o mesmo que você colocou na descrição do especificação%) no campo '<code>Review Description</code>'. Inclua os '''URLs''' para os seus arquivos '''SRPM''' e '''SPEC'''. | ||
* | * Explique no ticket que este é seu primeiro pacote e que você precisa de um mentor. Inclua também qualquer informação que possa ajudar potenciais mentores. Se você esteve ativo em outros trabalhos de revisão, inclua links. Se você é o mantenedor upstream, certifique-se de dizer isso. | ||
* | * Para pontos de bônus, inclua um link para um build do Koji bem sucedido para que todos saibam que você fez todos os seus trabalhos de casa. | ||
{{Admon/warning | | {{Admon/warning | Certifique-se de que mencionou no '<code>Review Description</code>' campo que este é o seu primeiro pacote, e você está buscando um mentor. Na coleção de pacotes do Fedora, todos os novos colaboradores devem ser instruídos por algum mentor. Alguns potenciais mentores vão olhar para o [https://bugzilla.redhat.com/bugzilla/showdependencytree.cgi?id=FE-NEEDSPONSOR FE-NEEDSPONSOR] bug no bugzilla para encontrar pacotes para revisar. Você poderá adicionar seu pacote a esta lista editando sua solicitação de revisão de bug e editar o | ||
<code>FE-NEEDSPONSOR</code> in the '<code>Bug </code>''xyz''<code> blocks</code>' field (where ''xyz'' is the bug number for your review request).}} | |||
O processo de revisão é descrito detalhadamente na página [[Package Review Process| Package Review Process]] . | |||
{{Anchor|WatchForFeedback}} | {{Anchor|WatchForFeedback}} | ||
=== | === Informar Upstream === | ||
Fedora | O Fedora como um projeto, acompanha melhor os projetos [[Staying_close_to_upstream_projects | que se mantenha upstream]]. Informe os desenvolvedores que você está empacotando o software. Você pode fazer isso enviando-lhes um e-mail apresentando-se e apontando o pedido de revisão. Isto abre espaço para futuras conversas. Geralmente os mantenedores, mentores, desenvolvedores anunciam o fato de que seu software é agora parte do projeto Fedora, ou pode querer informá-lo sobre bugs importantes na versão existente, futuros lançamentos etc. | ||
=== Apresente-se === | === Apresente-se === | ||
Quando um novo mantenedor de pacotes ingressa no projeto Fedora, solicitamos que ele(a) se apresente no Fedora {{fplist|devel}} mailing list. Para se inscrever na lista, visite o {{fplist|devel}} isto é, a página de inscrição da lista de discussão. O objetivo principal desse passo, é a construção de um processo de confiança, permitindo que os novos membros da Comunidade do Fedora se ambiente um pouco mais afim de aumentar as chances de seu pedido de revisão a ser processado mais cedo. | |||
Queremos quebrar o anonimato e fomentar a Comunidade do mundo real dentro do projeto. Você não tem obrigação de revelar os seus segredos pessoais. O objetivo é estabelecer um nível de confiança consigo mesmo, e com os outros membros do projeto. Mas você deve pelo menos usar seu nome verdadeiro ao se comunicar com a gente. Também apresentar uma breve descrição de quem você é, suas motivações, e talvez uma descrição do software que você enviou para a revisão, é aconselhável. Por exemplo: | |||
<pre> | <pre> | ||
Subject: Self Introduction: < | Subject: Self Introduction: <Seu nome> | ||
Body: | Body: Adicionar qualquer informação que você acredita que é aplicável | ||
incluindo a experiência passada em projetos livres e Open Source, | |||
um link para o pedido de revisão que você arquivou e | |||
uma breve descrição de si mesmo. Você também pode postar | |||
informações sobre a chave GPG se você quiser. | |||
</pre> | </pre> | ||
=== | === Acompanhe o Feedback === | ||
Acompanhe o relatório do Bugzilla para seu primeiro pacote. Você deve receber notificações de alterações por e-mail. Corrija quaisquer bloqueadores que o(s) revisore(s) apontarem. | |||
{{Anchor|GetSponsored}} | {{Anchor|GetSponsored}} | ||
=== Seja Patrocinado === | |||
Quando o pacote é aprovado pelo revisor, você deve obter separadamente o patrocínio do membro, a fim de fazer o check-in e construir o seu pacote. O patrocínio não é automático e pode exigir que você participe mais em outras maneiras a fim demonstrar sua compreensão das directrizes de empacotamento. A chave para se tornar patrocinado é convencer um membro existente no nível do patrocinador que você compreenda e siga as diretrizes e processos do projeto. | |||
Veja [[how to get sponsored into the packager group]] para obter mais informações sobre o processo de tornar-se patrocinado. | |||
{{Admon/warning | A revisão e aprovação do primeiro pacote para novos empacotadores '''deve''' ser feito por patrocinadores registrados. As revisões subseqüentes podem ser feitas por todo o mantenedor do pacote. As revisões informais podem sempre ser feitas por qualquer um que esteja interessado.}} | |||
Seu patrocinador pode adicioná-lo ao grupo Packager, e você receberá a confirmação do email sobre o seu patrocínio. | |||
=== Adicionar o pacote Source Code Management (SCM) ao sistema, e Set Owner === | |||
Se você está se tornando um mantenedor de um novo pacote, em vez de ser um mantenedor, siga o [[Package SCM admin requests]] para obter um módulo para o seu novo pacote e ramificações para lançamentos recentes. Isto será usado para o setup dos registros apropriados no banco de dados dos proprietários, e que é usado para o acesso da construção do pacote, a comunidade Bugzilla, e outras características. Esta etapa cria um módulo no repositório do seu novo pacote, com ramificações para cada distribuição solicitada. | |||
=== Confira o módulo === | |||
{{Admon/tip | | Você '''poderia''' verificar o seu módulo agora, mas antes de fazer isso, considere fazer <code>mkdir ~/fedora-scm ; cd ~/fedora-scm</code> - dessa forma, todos os seus arquivos estão dentro de um único diretório. Tamém rode o <code>ssh-add</code>, para que você não tenha que continuar digitando sua senha. | ||
{{Admon/tip | Execute <code>ssh-add</code> antes de fazer quaisquer operações SCM. Acredite, é uma idéia muito boa. Isso facilitará a sua vida. Pois, assim, você não vai precisar digitar a senha ssh toda hora. Você só tem que executar o <code>ssh-add</code> uma vez por sessão, e ficará gravado na memória até que você fazer logoff ou reiniciar o sistema. Se <code>ssh-add</code> não foi possível abrir uma conexão com seu agente de autenticação, inicie um novo shell usando<code>exec ssh-agent bash</code>.}} | |||
Agora você está pronto para fazer o check-out do seu módulo SCM: | |||
<pre> | <pre> | ||
fedpkg clone <packagename> | fedpkg clone <packagename> | ||
</pre> | </pre> | ||
Onde <code><packagename></code> deve ser substituído pelo nome do seu pacote. | |||
{{Admon/caution | | {{Admon/caution | Se esta etapa falhar, certifique-se de sua chave SSH privada (<code>~/.ssh/id_rsa</code>) está definida como 0400. Nesse caso, você terá que esperar até uma hora aproximadamente após a sua solicitação até que um novo módulo git seja aprovado para você obter acesso ao sistema. Certifique-se de que a sua chave pública é a mesma do [[Account_System|Fedora Account System]] (FAS). A propagação da chave pode levar uma hora no FAS.}} | ||
{{Admon/important| Note | {{Admon/important| Note que o fedpkg não define a configuração do usuário para o seu novo repo git automaticamente. Certifique-se de ter estes conjunto global ou localmente em seu novo repo antes de fazer o seu primeiro Commit (see [[Git_Quickref#Configure_your_global_git_settings|Configure your global git settings]]).}} | ||
{{Admon/important| Note: | {{Admon/important| Note: Se você não for membro do grupo Fedora Packager, receberá um erro de "permissão negada". Use o <code>-a</code> para um clone em anonimo. }} | ||
=== | === Teste Seu Pacote === | ||
Consulte o [[Using_Mock_to_test_package_builds]] e [[Using_the_Koji_build_system#Scratch_Builds]] para obter mais informações sobre como testar seu pacote. Mock usa seu sistema local enquanto a ferramenta de linha de comando Koji usa o servidor de sistema de compilação do Fedora. | |||
=== | === Importe, confirme e construa seu pacote === | ||
Agora que você verificou seu módulo (vazio) com fedpkg, | |||
cd | cd no módulo master da branch: | ||
cd <packagename> | cd <packagename> | ||
Execute o fedpkg para importar o conteúdo do SRPM para o SCM: | |||
fedpkg import | fedpkg import CAMINHO_PARA_O_SRPM | ||
# | # Revise as alterações, pressione 'q' para parar; Reverta com: git reset --hard HEAD | ||
git commit -m "Initial import (#XXXXXX)." | git commit -m "Initial import (#XXXXXX)." | ||
git push | git push | ||
fedpkg build | fedpkg build | ||
Obviamente, substitua <code>PATH_TO_SRPM</code> com o caminho completo (não URL) para o seu SRPM aprovado, e <code>XXXXXX</code> com o número de revisão do pacote com bug. | |||
Isso importa, comita e constrói apenas o '''master''' ([[Releases/Rawhide|Rawhide]]) branch. | |||
Se a confirmação falhar com este tipo de mensagem: | |||
W access for why DENIED to YOUR_ACCOUNT | W access for why DENIED to YOUR_ACCOUNT | ||
fatal: The remote end hung up unexpectedly | fatal: The remote end hung up unexpectedly | ||
Could not push: Command '['git', 'push']' returned non-zero exit status 128 | Could not push: Command '['git', 'push']' returned non-zero exit status 128 | ||
Então você não tem os direitos necessários para modificar o pacote nessa branch; Veja o https://admin.fedoraproject.org/pkgdb/package/PACKAGE_NAME | |||
para solicitar esses direitos. | |||
Para obter mais informações sobre como usar o sistema de manutenção do pacote Fedora, consulte o [[Package maintenance guide]]. | |||
=== | === Atualize suas branches (se desejar) === | ||
Branches | Branches são <code>f</code># (formerly <code>F-</code># and before that <code>FC-</code>#), <code>master</code>, etc. So ''f{{FedoraVersion}}'' is the branch for Fedora {{FedoraVersion}}. | ||
Para mudar a primeira branch: | |||
fedpkg switch-branch BRANCH (e.g. f{{FedoraVersion}}) | fedpkg switch-branch BRANCH (e.g. f{{FedoraVersion}}) | ||
Dê merge no commit inicial do master, criando um commit idêntico na branch: | |||
git merge master | git merge master | ||
Envie as mudanças para o servidor: | |||
git push | git push | ||
Construa o pacote: | |||
fedpkg build | fedpkg build | ||
Se houver outra branch para trabalhar com repetição "para mudar para um ramo" e importe e comite para cada branch. | |||
{{Admon/warning | Esteja certo que você constrói para a Rawhide (master) branch antes de empurrar actualizações para todas as outras branches! Caso contrário, essas atualizações serão herdadas em Rawhide, que certamente não é o que você deseja.}} | |||
{{Admon/warning | Sync to buildsys é uma coisa horária. Então, às vezes você pode ter que aguardar uma hora para acessar o servidor de compilação para dar "fedpkg build".}} | |||
Se tudo correr bem, ele deve enfileirar seu branch para dar build, o pacote será construído de forma limpa, e finalmente, aqui você termina! | |||
Se, no entanto, você não conseguir dar build, o sistema de compilação irá enviar-lhe um e-mail para relatar a falha e mostrar-lhe os logs afim de que você possa comitar quaisquer alterações necessárias para o git, Bump o número de lançamento spec, e solicitar uma nova compilação. | |||
=== | === Enviar pacote como atualização com Bodhi === | ||
O sistema de atualização do Fedora chamado [[Bodhi]] é usado para atualizar o sistema, classificar pacotes, etc. | |||
Você pode promover uma atualização usando Bodhi através da linha de comando usando isso em cada branch: | |||
fedpkg update | fedpkg update | ||
Veja também o [[Package_update_HOWTO|update submission guide]] para mais detalhes. | |||
=== | === Disponibilizar o pacote em ficheiros "comps" === | ||
Se for apropriado para o pacote, disponibilize-o em arquivos "Comps" para que ele possa ser selecionado durante a instalação e incluído nas operações do grupo de pacotes do yum. Veja [[PackageMaintainers/CompsXml|Como usar e editar Comps. xml para grupos de pacotes]] para mais informações. | |||
=== | === Observe se há atualizações === | ||
Fedora | O Fedora tem infraestrutura disponível para monitorar novas versões upstream do software que você está empacotando. Consulte a [[Upstream Release Monitoring]] para mais detalhes. | ||
== | == Obtendo ajuda == | ||
Sabemos que este processo pode ser árduo, às vezes, e estamos sempre tentando torná-lo melhor. Se você se deparar com algum problema, ou tiver alguma dúvida, por favor, consulte a {{fplist|devel}} lista de discussão ou o {{fpchat|#fedora-devel}} no freenode.net. | |||
O projeto Fedora contém mentores dispostos a ajudar novos colaboradores em seus esforços em empacotamento. Consulte à página [[Mentors]] para mais informações. | |||
== | == Obtendo um novo pacote na coleção de pacotes Fedora para mantenedores existentes == | ||
Se você já mantém um pacote no Fedora e deseja manter outro, siga o [[new package process for existing contributors]] . | |||
[[Category:Package Maintainers]] [[Category:Join]] | [[Category:Package Maintainers]] [[Category:Join]] | ||
[[Category:Brazilian translations]] | [[Category:Brazilian translations]] |
Latest revision as of 00:29, 21 February 2018
Contribuições
Como se juntar ao time de empacotamento Fedora?
Então, voccê decidiu se juntar ao time de empacotamento do Projeto Fedora? Este guia irá conduzi-lo a sua primeira submissão de pacote.
Tornando-se um Mantenedor de Pacotes Fedora
Leia as Diretrizes
Se você nao sabe como criar um pacote RPM, consulte o tutorial em How_to_create_a_GNU_Hello_RPM_package ou mais avançado e muito mais detalhado how to create an RPM package.
Leia as Diretrizes de Empacotamento e Diretrizes para Nomear Pacotes .
Você precisa se familiarizar com estas diretrizes. Elas governam toda submissão de pacotes. Se você tver duvidas pergunte na lista Fedora de Empacotamento.
Criando uma conta no Bugzilla
Certifique-se de que você tem uma conta no Red Hat Bugzilla.
ATENÇÃO: E imprescindivel ter uma conta Fedora Account System, leia abaixo para mais informações.
O endereço de email que você usar em sua conta do bugzzila deve ser o mesmo endereço de email de que você usa no Fedora Account System e todas as coisas relacinadas ao Empacotamento Fedora.
Criando uma conta no Fedora
Crie uma conta no Fedora Account System (esta não é a mesma conta que você registrou no bugzilla)
- Visite o sistema de contas da comunidade Fedora: https://admin.fedoraproject.org/accounts/
- Clique em 'New account' e preencha os espaços em branco. Observe que o e-mail usado no FAS, deve ser o mesmo que você se cadastrou bugzilla. Isso permite que o sistema vincule os privilégios entre as duas contas.
- Depois de criar sua conta, certifique-se de assinar o CLA (se você clicar no link "My Account" no canto superior direito, você verá o CLA: CLA Done).
- Você também precisará carregar uma chave pública SSH RSA, e usar uma chave privada correspondente para acessar as máquinas Fedora via SSH. Caso tenha dúvidas, poderá consultar sobre este procedimento em here.
Observação: Dentro do FAS - https://admin.fedoraproject.org/accounts/, ao logar-se, você poderá mudar o País, e lingua para o português do Brasil se desejar.
Junte-se às listas de discussão importantes
Você pode considerar envolver-se à lista de discussão do Fedora devel-announce. É uma lista de anuncios com poucas postagens onde são publicadas importantes informações de desenvolvimento.
Você pode considerar envolver-se à lista de discussão do Fedora devel, onde são realizadas discussões sobre o desenvolvimento do Fedora. Diferentemente da lista de discussões anterior, esta é mais movimentada.
Considere também a package-announce - lista de discussão que emite notificações sobre tudo o que compete à pacotes no repositório do Fedora. Esta é uma lista de discussão também bastante movimentada.
Outra lista de discussão que você poderá considerar (pelo menos para visualizar os arquivos) é packaging. Esta é a lista de discussão da Fedora Packaging Committee, que determinam as diretrizes oficiais de pacotes para projetos do Fedora.
Certifique-se de que o software que deseja empacotar é adequado
O pacote que você está enviando pode ser de qualquer projeto de código aberto e livre que já não foi empacotado no Fedora. Antes de criar o seu pacote, certifique-se de que o software ainda não está no repositório do Fedora, ou aguardando revisão.
- Busque por Fedora packages para pacotes existentes repositório.
- Busque por Review Tracker para pacotes em análise.
- Verifique também a lista deprecated packages.
- Esteja ciente de forbidden items.
Entenda as suas responsabilidades
Componentes de software incluídos no Fedora precisam ser mantidos ativamente, e bugs-especialmente problemas de segurança-precisam ser corrigidos em tempo oportuno. Como mantenedor de pacotes do projeto Fedora, é a sua principal responsabilidade garantir isso. Nós incentivamos você a obter co-mantenedores e buscar a ajuda da Comunidade do Fedora através da lista de discussão de desenvolvimento sempre que necessário.
Leia outras submissões
Leia algumas outras submissões para aprender sobre empacotamento e para ganhar a familiaridade com o processo, e conhecer melhor as exigências.
Uma maneira de fazer isso é ingressando na lista de discussão Package-Review; Todos os comentários sobre as revisões do pacote Fedora são enviados para esta lista.
Configurando seu Git
A primeira coisa a fazer quando você configura o Fedora Packaging é configurar o seu nome de usuário e endereço de e-mail para o git. Estes são vinculados em cada commit que você faz para os pacotes Fedora.
git config --global user.name "John Doe" git config --global user.email johndoe@example.com
Instale as ferramentas do cliente (Koji) e configure seu certificado
Para compilar pacotes para a coleção Fedora ou EPEL no sistema de compilação do Fedora você precisa usar o Koji.
O pacote Fedora-Packager
fornece ferramentas para ajudá-lo a configurar e trabalhar com o Fedora; trará em tudo necessário para o trabalho de empacotamento geral. Execute o seguinte comando como root:
sudo yum install fedora-packager
Após a instalação execute o seguinte comando seu usuário (não root) para Configure os seus certificados e a configuração do cliente Koji:
fedora-packager-setup
Agora você pode usar o "Koji" para tentar construir seus pacotes RPM no sistema de compilação do Fedora, mesmo em plataformas ou versões do Fedora que você ainda não tem. Observe que você pode (e definitivamente deve) testar compilações ("Scratch") mesmo antes do seu pacote ter sido aprovado e promovido. Uma maneira simples de fazer um scratch build, é usando Koji em linha de comando:
koji build --scratch TARGET path_to_source_RPM
Onde:
- TARGET é uma palavra-chave de distribuição como f17 (isto é, Fedora 17). Você pode executar "Koji List-targets" para ver todos os targets. Para o build do próximo lançamento (Rawhide), ' ' não ' ' use "dist-Rawhide"-Use "fX" onde X é um mais do que o mais recente lançamento estável ou ramificado.
- Observe que você precisa fornecer o ' ' caminho ' ' para o código-fonte do RPM (que termina em .src.rpm), e ' ' ' não ' ' ' uma URL genérica. (se você tiver apenas o arquivo spec, use
rpmbuild --nodeps -bs SPECFILE
para criar um novo código-fonte RPM).
Seus builds Koji só podem depender de pacotes que estão realmente no TARGET do repositório da distribuição. Desta forma, você não poderá usar Koji para build nas distribuições lançadas se o seu pacote depender de outros novos pacotes que [[Bodhi|Ainda não foi liberados. Você pode usar o Koji build para Rawhide (na próxima versão não lançada), mesmo que dependa de outros novos pacotes, contanto que os outros pacotes sejam construídos em "Rawhide", conforme descrito abaixo. Se você precisa construir um pacote que não se trata de uma atualização estável e liberada, você poderá enviar um ticket para rel-ENG em: https://fedorahosted.org/rel-ENG/newticket e solicitar que esse pacote seja adicionado como um BUILDROOT override. Para pacotes em EPEL, você tem que usar o componente EPEL.
Você pode aprender mais sobre o Koji em:
koji --help # Ajuda geral koji --help-commands # Lista de comandos do koji koji COMMAND --help # Comando de ajuda usando o próprio comando
Using the Koji build system há mais informações sobre o uso de Koji.
Criar um Pacote
- Se você não souber como criar um pacote RPM, consulte How to create an RPM package.
- Certifique-se de que o pacote satisfaz o Packaging Guidelines e PackageNamingGuidelines .
- Esteja ciente da Package Review Guidelines (they will be used during the package review).
- Certifique-se do que o seu pacote constrói. Isso é surpreendentemente importante, pois a qualidade importa mais do que um número grande de submissões.
Enviar o seu Pacote
Faça upload de seu SRPM e arquivos spec em algum lugar para que outros possam recuperá-los. Isso pode ser em qualquer lugar acessível por uma URL, mas é importante que os arquivos sejam diretamente acessíveis, não escondido atrás de algum serviço que faz as pessoas esperam para baixar coisas ou redireciona através de páginas de publicidade. Se você estiver em pelo menos um grupo de projeto, então você pode usar o seu armazenamento em http://fedorapeople.org http://fedorapeople.org] para este fim. Se você não tiver feito nada com sua conta além de configurá-lo e assinar o CLA, então você pode pedir acesso suficiente para usar o espaço fedorapeople visitando the sponsors trac instance e arquivar uma solicitação de ticket ao " Initial package hosting request".
Criando seu "Review Request"
Preencha este formulário: https://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=Fedora&format=fedora-review.
- Antes de enviar seu pedido, certifique-se de que não existe um pedido prévio para o mesmo pacote em package review status page.
- Certifique-se de que você colocou o nome do pacote (excluindo versão e números de lançamento) no campo
Review Summary
', juntamente com um resumo muito breve do que se trata o pacote. - Coloque uma descrição do seu pacote (geralmente, pode ser o mesmo que você colocou na descrição do especificação%) no campo '
Review Description
'. Inclua os URLs para os seus arquivos SRPM e SPEC. - Explique no ticket que este é seu primeiro pacote e que você precisa de um mentor. Inclua também qualquer informação que possa ajudar potenciais mentores. Se você esteve ativo em outros trabalhos de revisão, inclua links. Se você é o mantenedor upstream, certifique-se de dizer isso.
- Para pontos de bônus, inclua um link para um build do Koji bem sucedido para que todos saibam que você fez todos os seus trabalhos de casa.
O processo de revisão é descrito detalhadamente na página Package Review Process .
Informar Upstream
O Fedora como um projeto, acompanha melhor os projetos que se mantenha upstream. Informe os desenvolvedores que você está empacotando o software. Você pode fazer isso enviando-lhes um e-mail apresentando-se e apontando o pedido de revisão. Isto abre espaço para futuras conversas. Geralmente os mantenedores, mentores, desenvolvedores anunciam o fato de que seu software é agora parte do projeto Fedora, ou pode querer informá-lo sobre bugs importantes na versão existente, futuros lançamentos etc.
Apresente-se
Quando um novo mantenedor de pacotes ingressa no projeto Fedora, solicitamos que ele(a) se apresente no Fedora devel mailing list. Para se inscrever na lista, visite o devel isto é, a página de inscrição da lista de discussão. O objetivo principal desse passo, é a construção de um processo de confiança, permitindo que os novos membros da Comunidade do Fedora se ambiente um pouco mais afim de aumentar as chances de seu pedido de revisão a ser processado mais cedo.
Queremos quebrar o anonimato e fomentar a Comunidade do mundo real dentro do projeto. Você não tem obrigação de revelar os seus segredos pessoais. O objetivo é estabelecer um nível de confiança consigo mesmo, e com os outros membros do projeto. Mas você deve pelo menos usar seu nome verdadeiro ao se comunicar com a gente. Também apresentar uma breve descrição de quem você é, suas motivações, e talvez uma descrição do software que você enviou para a revisão, é aconselhável. Por exemplo:
Subject: Self Introduction: <Seu nome> Body: Adicionar qualquer informação que você acredita que é aplicável incluindo a experiência passada em projetos livres e Open Source, um link para o pedido de revisão que você arquivou e uma breve descrição de si mesmo. Você também pode postar informações sobre a chave GPG se você quiser.
Acompanhe o Feedback
Acompanhe o relatório do Bugzilla para seu primeiro pacote. Você deve receber notificações de alterações por e-mail. Corrija quaisquer bloqueadores que o(s) revisore(s) apontarem.
Seja Patrocinado
Quando o pacote é aprovado pelo revisor, você deve obter separadamente o patrocínio do membro, a fim de fazer o check-in e construir o seu pacote. O patrocínio não é automático e pode exigir que você participe mais em outras maneiras a fim demonstrar sua compreensão das directrizes de empacotamento. A chave para se tornar patrocinado é convencer um membro existente no nível do patrocinador que você compreenda e siga as diretrizes e processos do projeto.
Veja how to get sponsored into the packager group para obter mais informações sobre o processo de tornar-se patrocinado.
Seu patrocinador pode adicioná-lo ao grupo Packager, e você receberá a confirmação do email sobre o seu patrocínio.
Adicionar o pacote Source Code Management (SCM) ao sistema, e Set Owner
Se você está se tornando um mantenedor de um novo pacote, em vez de ser um mantenedor, siga o Package SCM admin requests para obter um módulo para o seu novo pacote e ramificações para lançamentos recentes. Isto será usado para o setup dos registros apropriados no banco de dados dos proprietários, e que é usado para o acesso da construção do pacote, a comunidade Bugzilla, e outras características. Esta etapa cria um módulo no repositório do seu novo pacote, com ramificações para cada distribuição solicitada.
Confira o módulo
Você poderia verificar o seu módulo agora, mas antes de fazer isso, considere fazer mkdir ~/fedora-scm ; cd ~/fedora-scm
- dessa forma, todos os seus arquivos estão dentro de um único diretório. Tamém rode o ssh-add
, para que você não tenha que continuar digitando sua senha.
Agora você está pronto para fazer o check-out do seu módulo SCM:
fedpkg clone <packagename>
Onde <packagename>
deve ser substituído pelo nome do seu pacote.
Teste Seu Pacote
Consulte o Using_Mock_to_test_package_builds e Using_the_Koji_build_system#Scratch_Builds para obter mais informações sobre como testar seu pacote. Mock usa seu sistema local enquanto a ferramenta de linha de comando Koji usa o servidor de sistema de compilação do Fedora.
Importe, confirme e construa seu pacote
Agora que você verificou seu módulo (vazio) com fedpkg, cd no módulo master da branch:
cd <packagename>
Execute o fedpkg para importar o conteúdo do SRPM para o SCM:
fedpkg import CAMINHO_PARA_O_SRPM
# Revise as alterações, pressione 'q' para parar; Reverta com: git reset --hard HEAD git commit -m "Initial import (#XXXXXX)." git push fedpkg build
Obviamente, substitua PATH_TO_SRPM
com o caminho completo (não URL) para o seu SRPM aprovado, e XXXXXX
com o número de revisão do pacote com bug.
Isso importa, comita e constrói apenas o master (Rawhide) branch.
Se a confirmação falhar com este tipo de mensagem:
W access for why DENIED to YOUR_ACCOUNT fatal: The remote end hung up unexpectedly Could not push: Command '['git', 'push']' returned non-zero exit status 128
Então você não tem os direitos necessários para modificar o pacote nessa branch; Veja o https://admin.fedoraproject.org/pkgdb/package/PACKAGE_NAME para solicitar esses direitos.
Para obter mais informações sobre como usar o sistema de manutenção do pacote Fedora, consulte o Package maintenance guide.
Atualize suas branches (se desejar)
Branches são f
# (formerly F-
# and before that FC-
#), master
, etc. So f41 is the branch for Fedora 41.
Para mudar a primeira branch:
fedpkg switch-branch BRANCH (e.g. f41)
Dê merge no commit inicial do master, criando um commit idêntico na branch:
git merge master
Envie as mudanças para o servidor:
git push
Construa o pacote:
fedpkg build
Se houver outra branch para trabalhar com repetição "para mudar para um ramo" e importe e comite para cada branch.
Se tudo correr bem, ele deve enfileirar seu branch para dar build, o pacote será construído de forma limpa, e finalmente, aqui você termina! Se, no entanto, você não conseguir dar build, o sistema de compilação irá enviar-lhe um e-mail para relatar a falha e mostrar-lhe os logs afim de que você possa comitar quaisquer alterações necessárias para o git, Bump o número de lançamento spec, e solicitar uma nova compilação.
Enviar pacote como atualização com Bodhi
O sistema de atualização do Fedora chamado Bodhi é usado para atualizar o sistema, classificar pacotes, etc.
Você pode promover uma atualização usando Bodhi através da linha de comando usando isso em cada branch:
fedpkg update
Veja também o update submission guide para mais detalhes.
Disponibilizar o pacote em ficheiros "comps"
Se for apropriado para o pacote, disponibilize-o em arquivos "Comps" para que ele possa ser selecionado durante a instalação e incluído nas operações do grupo de pacotes do yum. Veja Como usar e editar Comps. xml para grupos de pacotes para mais informações.
Observe se há atualizações
O Fedora tem infraestrutura disponível para monitorar novas versões upstream do software que você está empacotando. Consulte a Upstream Release Monitoring para mais detalhes.
Obtendo ajuda
Sabemos que este processo pode ser árduo, às vezes, e estamos sempre tentando torná-lo melhor. Se você se deparar com algum problema, ou tiver alguma dúvida, por favor, consulte a devel lista de discussão ou o #fedora-devel[?] no freenode.net.
O projeto Fedora contém mentores dispostos a ajudar novos colaboradores em seus esforços em empacotamento. Consulte à página Mentors para mais informações.
Obtendo um novo pacote na coleção de pacotes Fedora para mantenedores existentes
Se você já mantém um pacote no Fedora e deseja manter outro, siga o new package process for existing contributors .