Difference between revisions of "AUR Trusted User Guidelines (Português)"

From ArchWiki
Jump to: navigation, search
m (Fix category. See Help:Category.)
(aur.archlinux.org -> sigurd.archlinux.org rename)
(One intermediate revision by the same user not shown)
Line 26: Line 26:
 
# Criar uma chave PGP para [[package signing|assinatura de pacotes]].
 
# Criar uma chave PGP para [[package signing|assinatura de pacotes]].
 
# Enviar um e-mail assinado digitalmente para todos os [http://www.archlinux.org/master-keys/ donos de Chaves Mestras] incluindo sua chave PGP e a impressão digital da chave completa relacionada. Sua chave precisa estar assinada por pelo menos três dos cinco titulares de chaves mestras.
 
# Enviar um e-mail assinado digitalmente para todos os [http://www.archlinux.org/master-keys/ donos de Chaves Mestras] incluindo sua chave PGP e a impressão digital da chave completa relacionada. Sua chave precisa estar assinada por pelo menos três dos cinco titulares de chaves mestras.
# Criar os diretórios {{ic|~/staging/community}} e {{ic|~/staging/community-testing}} (e {{ic|~/staging/multilib}}, se você está interessado em manter pacotes multilib) no aur.archlinux.org. Essa etapa é '''importante''', pois os scripts do devtools usam este diretório para processar a chegada de pacotes.
+
# Criar os diretórios {{ic|~/staging/community}} e {{ic|~/staging/community-testing}} (e {{ic|~/staging/multilib}}, se você está interessado em manter pacotes multilib) no sigurd.archlinux.org. Essa etapa é '''importante''', pois os scripts do devtools usam este diretório para processar a chegada de pacotes.
 
# Começar a contribuir!
 
# Começar a contribuir!
  
Line 56: Line 56:
 
=== Acessando e Atualizando o Repositório ===
 
=== Acessando e Atualizando o Repositório ===
 
          
 
          
O repositório [community] agora usa '''devtools''', que é o mesmo sistema usado para enviar pacotes para o [core] e [extra], apesar de usar outro servidor https://aur.archlinux.org ao invés de http://archlinux.org. Por isso, a maioria das instruções no [[DeveloperWiki:HOWTO Be A Packager|Guia do Empacotador]] funciona sem qualquer outro comentário. Informações que são específicas para o repositório [community] (como URLs alteradas) foram inseridas aqui. O devtools exige dos empacotadores a [[Arch_Build_System#Set_the_PACKAGER_variable_in_.2Fetc.2Fmakepkg.conf|definição da variável PACKAGER]]. Isso é feito no {{ic|/usr/share/devtools/makepkg-{i686,x86_64}.conf}} já que o arquivo de configuração padrão não é colocado em um chroot do zero.
+
O repositório [community] agora usa '''devtools''', que é o mesmo sistema usado para enviar pacotes para o [core] e [extra], apesar de usar outro servidor {{ic|sigurd.archlinux.org}} ao invés de {{ic|gerolde.archlinux.org}}. Por isso, a maioria das instruções no [[DeveloperWiki:HOWTO Be A Packager|Guia do Empacotador]] funciona sem qualquer outro comentário. Informações que são específicas para o repositório [community] (como URLs alteradas) foram inseridas aqui. O devtools exige dos empacotadores a [[Arch_Build_System#Set_the_PACKAGER_variable_in_.2Fetc.2Fmakepkg.conf|definição da variável PACKAGER]]. Isso é feito no {{ic|/usr/share/devtools/makepkg-{i686,x86_64}.conf}} já que o arquivo de configuração padrão não é colocado em um chroot do zero.
  
 
Inicialmente, você deveria fazer um '''checkout não-recursivo''' do repositório [community]:
 
Inicialmente, você deveria fazer um '''checkout não-recursivo''' do repositório [community]:
  svn checkout -N svn+ssh://aur.archlinux.org/srv/svn-packages
+
  svn checkout -N svn+ssh://sigurd.archlinux.org/srv/svn-packages
  
 
Isso cria um diretório chamado "svn-packages", o qual contém nada. Ele, na verdade, sabe que é um checkout de svn.
 
Isso cria um diretório chamado "svn-packages", o qual contém nada. Ele, na verdade, sabe que é um checkout de svn.
Line 66: Line 66:
  
 
Para fazer '''remove''' de um pacote:
 
Para fazer '''remove''' de um pacote:
  ssh aur.archlinux.org /arch/db-remove pkgname community arch
+
  ssh sigurd.archlinux.org /arch/db-remove community arch pkgname
  
 
Aqui e no texto seguinte, a arquitetura pode ser i686 ou x86_64, as quais são as duas arquiteturas suportadas pelo Arch Linux. (E sobre "any"?)
 
Aqui e no texto seguinte, a arquitetura pode ser i686 ou x86_64, as quais são as duas arquiteturas suportadas pelo Arch Linux. (E sobre "any"?)
Line 72: Line 72:
 
Quando você tiver finalizado a edição do PKGBUILD, etc, você deveria fazer um '''commit''' das alterações ({{ic|svn commit}}).
 
Quando você tiver finalizado a edição do PKGBUILD, etc, você deveria fazer um '''commit''' das alterações ({{ic|svn commit}}).
  
Quando você quiser enviar ('''release''') um pacote, primeiro copie o pacote para o diretório ''staging/community'' no aur.archlinux.org usando scp e, então, marque ('''tag''') o pacote no diretório ''pkgname/trunk'' e informando a {{ic|archrelease community-arch}}. Isso faz uma cópia svn das entradas do trunk em um diretório chamado ''community-i686'' ou ''community-x86_64''. indicando que este pacote está no repositório [community] para aquela arquitetura.
+
Quando você quiser enviar ('''release''') um pacote, primeiro copie o pacote para o diretório ''staging/community'' no sigurd.archlinux.org usando scp e, então, marque ('''tag''') o pacote no diretório ''pkgname/trunk'' e informando a {{ic|archrelease community-arch}}. Isso faz uma cópia svn das entradas do trunk em um diretório chamado ''community-i686'' ou ''community-x86_64''. indicando que este pacote está no repositório [community] para aquela arquitetura.
  
 
'''''Nota:''' Em alguns casos, especialmente para pacotes do [community], um TU de x86_64 podem subir o pkgrel por .1 (e não por +1). Isso indica que a alteração do PKGBUILD é especificamente de x86_64 e mantenedores de i686 '''não deveriam''' recompilar o pacote para i686. Quando o TU decide subir o pkgrel, isso deveria ser feito com o acréscimo normal de +1. Porém, um pkgrel=2.1 anterior não deve se tornar pkgrel=3.1 quando o TU subir o pkgrel, ao invés disso deve ser pkgrel=3. Em resumo, mantenha os lançamentos com ponto (.) exclusivamente para TUs de x86_64 para evitar confusão.''
 
'''''Nota:''' Em alguns casos, especialmente para pacotes do [community], um TU de x86_64 podem subir o pkgrel por .1 (e não por +1). Isso indica que a alteração do PKGBUILD é especificamente de x86_64 e mantenedores de i686 '''não deveriam''' recompilar o pacote para i686. Quando o TU decide subir o pkgrel, isso deveria ser feito com o acréscimo normal de +1. Porém, um pkgrel=2.1 anterior não deve se tornar pkgrel=3.1 quando o TU subir o pkgrel, ao invés disso deve ser pkgrel=3. Em resumo, mantenha os lançamentos com ponto (.) exclusivamente para TUs de x86_64 para evitar confusão.''
Line 84: Line 84:
 
* '''Commit''', '''Copiar''' e '''Tag''' o pacote usando {{ic|communitypkg "mensagem de commit"}}.  Isso automatiza o seguinte:
 
* '''Commit''', '''Copiar''' e '''Tag''' o pacote usando {{ic|communitypkg "mensagem de commit"}}.  Isso automatiza o seguinte:
 
** '''Commit''' das alterações no trunk ({{ic|svn commit}})
 
** '''Commit''' das alterações no trunk ({{ic|svn commit}})
** '''Copiar''' o pacote para o aur.archlinux.org ({{ic|scp pkgname-ver-rel-arch.pkg.tar.xz* aur.archlinux.org:staging/community/}})
+
** '''Copiar''' o pacote para o sigurd.archlinux.org ({{ic|scp pkgname-ver-rel-arch.pkg.tar.xz* sigurd.archlinux.org:staging/community/}})
 
** '''Tag''' do pacote ({{ic|archrelease community-{i686,x86_64}}})
 
** '''Tag''' do pacote ({{ic|archrelease community-{i686,x86_64}}})
 
* '''Atualizar''' o repositório ({{ic|ssh aur.archlinux.org /arch/db-update}})
 
* '''Atualizar''' o repositório ({{ic|ssh aur.archlinux.org /arch/db-update}})
  
Veja também a seção de ''Miscelânia'' no [[DeveloperWiki:HOWTO Be A Packager|Guia do Empacotador]]. Para a seção ''Avoid having to enter your password all the time'' ("evite de precisar digitar sua senha toda vez") uso aur.archlinux.org ao invés de archlinux.org e svn.archlinux.org.
+
Veja também a seção de ''Miscelânia'' no [[DeveloperWiki:HOWTO Be A Packager|Guia do Empacotador]]. Para a seção ''Avoid having to enter your password all the time'' ("evite de precisar digitar sua senha toda vez") uso sigurd.archlinux.org ao invés do gerolde.archlinux.org.
  
 
=== Abandonando pacotes ===
 
=== Abandonando pacotes ===
Line 105: Line 105:
 
=== Movendo pacotes do [community-testing] para [community] ===
 
=== Movendo pacotes do [community-testing] para [community] ===
  
  ssh aur.archlinux.org /arch/db-move community-testing community package
+
  ssh sigurd.archlinux.org /arch/db-move community-testing community package
  
 
=== Excluindo pacotes do unsupported ===
 
=== Excluindo pacotes do unsupported ===

Revision as of 09:42, 4 November 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

O Trusted User (TU) ("Usuário confiável") é um membro da comunidade encarregado de manter o AUR funcionando. Ele/Ela mantém pacotes populares (comunicando com o upstream e enviando-o patches quando necessário) e vota em assuntos administrativos. Um TU é eleito de membros ativos da comunidade pelos atuais TUs em um processo democrático. TUs são os únicos membros que têm a última palavra na direção do AUR.

Os TUs são governados usando as TU bylaws ("Estatuto dos TUs")

Lista de tarefas para novos Trusted Users

  1. Ler este artigo de wiki por completo.
  2. Ler as TU Bylaws.
  3. Certificar-se de que os detalhes da sua conta no AUR estão atualizados e que seu patrocinador tenha lhe concedido o status de TU.
  4. Adicionar a si próprio à página de Trusted Users.
  5. Relembrar Allan/Andrea de alterar sua conta nos fóruns.
  6. Perguntar a algum TU pela chave do #archlinux-tu@freenode e aparecer no canal. Você não tem que fazer isso, mas seria interessante já que é lá que a maioria dos segredos ocultos são apresentados e onde muitas novas ideias são concebidas.
  7. Se você ainda não fizer parte do grupo de Trusted User no bug tracker em dois dias, relate isso como um bug para Andrea Scarpino (andrea@archlinux.org).
  8. Envie ao Ionuț Bîru (ibiru@archlinux.org) todas as informações baseadas neste modelo para ter acesso à interface de desenvolvimento.
  9. Instalar o pacote devtools.
  10. Enviar um e-mail para o Lukas Fleischer contendo uma chave pública de SSH em anexo. Se você não tiver uma, use ssh-keygen para criar uma. Verifique na página wiki Using SSH Keys para mais informações sobre chaves SSH.
  11. Criar uma chave PGP para assinatura de pacotes.
  12. Enviar um e-mail assinado digitalmente para todos os donos de Chaves Mestras incluindo sua chave PGP e a impressão digital da chave completa relacionada. Sua chave precisa estar assinada por pelo menos três dos cinco titulares de chaves mestras.
  13. Criar os diretórios ~/staging/community e ~/staging/community-testing (e ~/staging/multilib, se você está interessado em manter pacotes multilib) no sigurd.archlinux.org. Essa etapa é importante, pois os scripts do devtools usam este diretório para processar a chegada de pacotes.
  14. Começar a contribuir!

O TU e o [unsupported]

Os TUs deveriam também fazer um esforço para verificar o envio de pacotes no UNSUPPORTED por códigos maliciosos e o correto seguimento dos padrões dos PKGBUILD. Em cerca de 80% dos casos, os PKGBUILDs no UNSUPPORTED são muito simples e podem ter rapidamente verificadas a sanidade e os códigos maliciosos pela equipe de TUs.

Os TUs devem também verificar os PKGBUILDs por pequenos erros, sugerir correções e melhoras. O TU deve se tentar certificar-se de que todos os pacotes sigam Arch Packaging Guidelines/Standards (Diretrizes/Padrões de Empacotamento do Arch) e ao fazer isso, compartilhar suas habilidades com outros criadores de pacotes em um esforço em criar um padrão de criação de pacotes por toda a distribuição.

Os TUs também estão em uma posição de documentar práticas recomendadas.

O TU e [community], Diretrizes para Manutenção de Pacotes

Regras para a Entrada de Pacotes no Repositório [community]

  • Somente pacotes "populares" podem entrar no repositório, sendo definido pelo 1% de uso no pkgstats ou 10 votos no AUR.
  • Exceções automáticas a esta regra são:
    • pacotes i18n
    • pacotes de acessibilidade
    • drivers
    • dependências de pacotes que satisfazem a definição de populares, incluindo makedeps e optdeps
    • pacotes que são parte de uma coleção e têm a intenção de ser distribuidos juintos, fornecendo uma parte da coleção satisfaz a definição de popular
  • Quaisquer adições não cobertas por nenhum dos critérios acima devem ser propostas na lista de discussão aur-general, explicando o motivo para a dispensa (ex.: pacote renomeado, novo pacote). O acordo de três outros TUs é necessário para que o pacote seja aceito na [community]. Adições propostas por TUs com grande número de pacotes "não-populares" provavelmente serão rejeitadas.
  • Os TUs são fortemente encorajados a mover os pacotes mantidos do [community], se eles tem baixo uso. Nenhuma aplicação será necessária, apesar de que a renúncia de pacotes de TUs podem ser filtrados antes que ocorra adoção.

Acessando e Atualizando o Repositório

O repositório [community] agora usa devtools, que é o mesmo sistema usado para enviar pacotes para o [core] e [extra], apesar de usar outro servidor sigurd.archlinux.org ao invés de gerolde.archlinux.org. Por isso, a maioria das instruções no Guia do Empacotador funciona sem qualquer outro comentário. Informações que são específicas para o repositório [community] (como URLs alteradas) foram inseridas aqui. O devtools exige dos empacotadores a definição da variável PACKAGER. Isso é feito no /usr/share/devtools/makepkg-{i686,x86_64}.conf já que o arquivo de configuração padrão não é colocado em um chroot do zero.

Inicialmente, você deveria fazer um checkout não-recursivo do repositório [community]:

svn checkout -N svn+ssh://sigurd.archlinux.org/srv/svn-packages

Isso cria um diretório chamado "svn-packages", o qual contém nada. Ele, na verdade, sabe que é um checkout de svn.

Para fazer checkout, update em todos pacotes ou add de um pacote, veja o Guia do empacotador.

Para fazer remove de um pacote:

ssh sigurd.archlinux.org /arch/db-remove community arch pkgname

Aqui e no texto seguinte, a arquitetura pode ser i686 ou x86_64, as quais são as duas arquiteturas suportadas pelo Arch Linux. (E sobre "any"?)

Quando você tiver finalizado a edição do PKGBUILD, etc, você deveria fazer um commit das alterações (svn commit).

Quando você quiser enviar (release) um pacote, primeiro copie o pacote para o diretório staging/community no sigurd.archlinux.org usando scp e, então, marque (tag) o pacote no diretório pkgname/trunk e informando a archrelease community-arch. Isso faz uma cópia svn das entradas do trunk em um diretório chamado community-i686 ou community-x86_64. indicando que este pacote está no repositório [community] para aquela arquitetura.

Nota: Em alguns casos, especialmente para pacotes do [community], um TU de x86_64 podem subir o pkgrel por .1 (e não por +1). Isso indica que a alteração do PKGBUILD é especificamente de x86_64 e mantenedores de i686 não deveriam recompilar o pacote para i686. Quando o TU decide subir o pkgrel, isso deveria ser feito com o acréscimo normal de +1. Porém, um pkgrel=2.1 anterior não deve se tornar pkgrel=3.1 quando o TU subir o pkgrel, ao invés disso deve ser pkgrel=3. Em resumo, mantenha os lançamentos com ponto (.) exclusivamente para TUs de x86_64 para evitar confusão.

Deste modo, o processo de atualização de pacotes pode ser resumida em:

  • Atualizar o diretório de pacote (svn update algum-pacote)
  • Mudar para o diretório trunk do pacote (cd algum-pacote/trunk)
  • Editar o PKGBUILD, fazer alterações necessárias e makepkg. Isso é recomendado para compilar em um chroot limpo.
  • Namcap no PKGBUILD e no binário pkg.tar.gz.
  • Commit, Copiar e Tag o pacote usando communitypkg "mensagem de commit". Isso automatiza o seguinte:
    • Commit das alterações no trunk (svn commit)
    • Copiar o pacote para o sigurd.archlinux.org (scp pkgname-ver-rel-arch.pkg.tar.xz* sigurd.archlinux.org:staging/community/)
    • Tag do pacote (archrelease community-{i686,x86_64})
  • Atualizar o repositório (ssh aur.archlinux.org /arch/db-update)

Veja também a seção de Miscelânia no Guia do Empacotador. Para a seção Avoid having to enter your password all the time ("evite de precisar digitar sua senha toda vez") uso sigurd.archlinux.org ao invés do gerolde.archlinux.org.

Abandonando pacotes

Se um TU não pode ou não quer mais manter um pacote, um aviso deve ser postado na Lista de Discussão do AUR, para que outro TU possa mantê-lo. Um pacote pode ainda ser abandonado mesmo se nenhum outro TU quiser mantê-lo, mas os TUs devem evitar de deixar muitos pacotes soltos (eles não deveriam manter mais do que possam dar conta). Se um pacote se tornou obsoleto ou não é mais usado, ele também pode ser completamente removido.

Se um pacote foi removido completamente, o mesmo pode ser enviado novamente (do zero) para o UNSUPPORTED, onde um usuário normal pode manter o pacote ao invés de um TU.

Movendo pacotes do unsupported para [community]

Siga os procedimentos normais para adição de um pacote ao [community], mas lembre-se de remover o pacote correspondente do unsupported!

Movendo pacotes do [community] para unsupported

Remova o pacote usando as instruções acima e envie o seu tarball fonte para o AUR.

Movendo pacotes do [community-testing] para [community]

ssh sigurd.archlinux.org /arch/db-move community-testing community package

Excluindo pacotes do unsupported

Não há sentido em remover pacotes-modelos porque eles serão recriados na tentativa de atender dependências. Se alguém enviar um pacote real, então todos os dependentes irão apontar para o local correto.

Veja também