2012-10-15

Article criated

New page

[[Category:Package development]]

[[en:AUR Trusted User Guidelines]]

[[es:AUR Trusted User Guidelines]]

[[zh-CN:AUR Trusted User Guidelines]]

[[pt:AUR Trusted User Guidelines]]

{{Article summary start}}

{{Article summary text|Explica as diretrizes dos Trusted Users do Arch User Repository.}}

{{Article summary heading|Relacionado}}

{{Article summary wiki|Arch User Repository}}

{{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 ([https://mailman.archlinux.org/pipermail/aur-general/2010-September/010649.html 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 [https://aur.archlinux.org/trusted-user/TUbylaws.html TU bylaws] ("Estatuto dos TUs")

==Lista de tarefas para novos Trusted Users==

# Ler este artigo de wiki por completo.

# Ler as [https://aur.archlinux.org/trusted-user/TUbylaws.html TU Bylaws].

# Certificar-se de que os detalhes da sua conta no [[Arch User Repository|AUR]] estão atualizados e que seu patrocinador tenha lhe concedido o status de TU.

# Adicionar a si próprio à página de [[Trusted Users]].

# Relembrar Allan/Andrea de alterar sua conta nos fóruns.

# 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.

# 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).

# Envie ao Ionuț Bîru (ibiru@archlinux.org) todas as informações baseadas neste [https://www.archlinux.org/trustedusers/ modelo] para ter acesso à interface de desenvolvimento.

# Instalar o pacote {{pkg|devtools}}.

# Enviar um e-mail para o Lukas Fleischer contendo uma chave pública de SSH em anexo. Se você não tiver uma, use {{ic|ssh-keygen}} para criar uma. Verifique na página wiki [[Using SSH Keys]] para mais informações sobre chaves SSH.

# 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.

# 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.

# 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 [https://www.archlinux.de/?page=PackageStatistics 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 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.

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

svn checkout -N svn+ssh://aur.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 [[DeveloperWiki:HOWTO Be A Packager|Guia do empacotador]].

Para fazer '''remove''' de um pacote:

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

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 ({{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.

'''''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 ({{ic|svn update algum-pacote}})

* '''Mudar''' para o diretório trunk do pacote ({{ic|cd algum-pacote/trunk}})

* '''Editar''' o PKGBUILD, fazer alterações necessárias e {{ic|makepkg}}. Isso é recomendado para compilar em um [[DeveloperWiki:Building in a Clean Chroot|chroot limpo]].

* '''[[Namcap]]''' no PKGBUILD e no binário pkg.tar.gz.

* '''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}})

** '''Copiar''' o pacote para o aur.archlinux.org ({{ic|scp pkgname-ver-rel-arch.pkg.tar.xz* aur.archlinux.org:staging/community/}})

** '''Tag''' do pacote ({{ic|archrelease community-{i686,x86_64}}})

* '''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.

=== 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 aur.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 ===

* [[DeveloperWiki#Packaging_Guidelines | Diretrizes de Empacotamento]]

Show more