Difference between revisions of "Arch User Repository (Português)"

From ArchWiki
Jump to: navigation, search
(rm temporary i18n template)
(Eu tenho um PKGBUILD que queria enviar; alguém pode verificá-lo para ver se ele tem algum erro?: we have a dedicated freenode channel for AUR stuff)
 
(43 intermediate revisions by 12 users not shown)
Line 1: Line 1:
[[Category:Arch User Repository (Português)]]
 
 
[[Category:About Arch (Português)]]
 
[[Category:About Arch (Português)]]
 
[[Category:Package development (Português)]]
 
[[Category:Package development (Português)]]
 
[[Category:Package management (Português)]]
 
[[Category:Package management (Português)]]
[[Category:Arch development (Português)]]
+
[[ar:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[da:Arch User Repository]]
 
[[da:Arch User Repository]]
 +
[[de:Arch User Repository]]
 
[[el:Arch User Repository]]
 
[[el:Arch User Repository]]
 
[[en:Arch User Repository]]
 
[[en:Arch User Repository]]
 
[[es:Arch User Repository]]
 
[[es:Arch User Repository]]
 +
[[fi:AUR]]
 
[[fr:AUR]]
 
[[fr:AUR]]
 
[[it:Arch User Repository]]
 
[[it:Arch User Repository]]
Line 14: Line 15:
 
[[nl:Arch User Repository]]
 
[[nl:Arch User Repository]]
 
[[pl:Arch User Repository]]
 
[[pl:Arch User Repository]]
 +
[[ro:AUR]]
 
[[ru:Arch User Repository]]
 
[[ru:Arch User Repository]]
 
[[sr:Arch User Repository]]
 
[[sr:Arch User Repository]]
[[tr:Arch_Kullanıcı_Deposu]]
+
[[tr:Arch Kullanıcı Deposu]]
 
[[uk:Arch User Repository]]
 
[[uk:Arch User Repository]]
[[zh-CN:Arch User Repository]]
+
[[zh-hans:Arch User Repository]]
{{Translateme}}
+
[[zh-hant:Arch User Repository]]
 +
{{Related articles start (Português)}}
 +
{{Related|makepkg (Português)}}
 +
{{Related|pacman (Português)}}
 +
{{Related|PKGBUILD (Português)}}
 +
{{Related|.SRCINFO (Português)}}
 +
{{Related|AurJson}}
 +
{{Related|AUR Trusted User Guidelines (Português)}}
 +
{{Related|Official repositories (Português)}}
 +
{{Related|Arch Build System (Português)}}
 +
{{Related|Creating packages (Português)}}
 +
{{Related|AUR helpers (Português)}}
 +
{{Related articles end}}
  
{{Article summary start}}
+
O Arch User Repository (AUR) ou, em português, Repositório de Usuário do Arch é um repositório dirigido pela comunidade para usuários do Arch. Ele contém descrições de pacotes ([[PKGBUILD (Português)|PKGBUILD]]s) que permitem a você compilar um pacote de um fonte com o [[makepkg (Português)|makepkg]] e depois instalar via [[pacman (Português)#Comandos adicionais|pacman]]. O AUR foi criado para organizar e compartilhar novos pacotes da comunidade e ajudar a acelerar a inclusão dos pacotes populares no repositório [[community (Português)|community]]. Este documento explica como usuários podem acessar e utilizar o AUR.
{{Article summary text|An overview of the (unsupported) Arch User Repository.}}
 
{{Article summary heading|Visão Geral}}
 
{{Article summary text|Os Pacotes no Arch Linux são construídos usando o [[makepkg]] e um script de construção personalizado para cada pacote (conhecido como [[PKGBUILD]]). Uma vez empacotado, o software pode ser instalado e gerenciado com o [[pacman]]. PKGBUILDs para software nos [[repositórios oficiais]] são disponíves na árvore do [[ABS]]; mais de milhares estão disponíveis no (não suportado) [[Arch User Repository]].}}
 
{{Article summary heading|Relacionados}}
 
{{Article summary wiki|AUR Helpers}}
 
{{Article summary wiki|AUR Trusted User Guidelines}}
 
{{Article summary heading|Recursos}}
 
{{Article summary link|AUR Web Interface|https://aur.archlinux.org}}
 
{{Article summary link|AUR Mailing List|http://www.archlinux.org/mailman/listinfo/aur-general}}
 
{{Article summary end}}
 
  
O repositório de usuário do Arch, [[Arch User Repository]], (AUR) é um repositório dirigido pela comunidade para usuários do Arch. Ele contém descrições de pacotes (PKGBUILDs) que permitem a você compilar um pacote de um fonte com o makepkg e depois instalar via pacman. O AUR foi criado para organizar e compartilhar novos pacotes da comunidade e ajudar a acelerar a inclusão, dentro do repositório [da comunidade], dos pacotes populares. Este documento explica como usuários podem acessar e utilizar o AUR.
+
Um bom número de novos pacotes que entram para os repositórios oficiais iniciam no AUR. No AUR, usuários são capazes de contribuir com seus próprios pacotes (PKGBUILD e arquivos relacionados). A comunidade do AUR tem a capacidade de votar a favor ou contra os pacotes no AUR. Se um pacote se torna popular o bastante -- desde que tenha uma licença compatível e uma boa técnica de empacotamento -- ele pode ser colocado no repositório ''community'' (diretamente acessível pelo [[pacman (Português)|pacman]] ou [[abs (Português)|abs]]).
  
Um bom número de novos pacotes que entram para os repositórios oficiais iniciam no AUR. No AUR, usuários são capazes de contribuir com seus próprios pacotes (PKGBUILD e arquivos relacionados). A comunidade do AUR tem a capacidade de votar a favor ou contra os pacotes no AUR. Se um pacote se torna popular o bastante -- desde que tenha uma licença compatível e uma boa técnica de empacotamento -- ele pode ser colocado no repositório da [[#.5Bcommunity.5D|[comunidade]]] (diretamente acessível pelo {{ic|pacman}} ou {{ic|abs}}).
+
== Começando ==
  
==Começando==
+
Os usuários podem pesquisar e baixar os PKGBUILDs da [https://aur.archlinux.org Interface Web do AUR]. Esses PKGBUILDs podem ser construídos dentro dos pacotes instaláveis usando [[makepkg (Português)|makepkg]], e depois instalados usando pacman.
  
Os usuários podem pesquisar e baixar os [[PKGBUILD]]s do [https://aur.archlinux.org AUR Web Interface]. Estes PKGBUILDs podem ser construídos dentro dos pacotes instaláveis usando [[makepkg]], e depois instalados usando [[pacman]].
+
* Certifique-se de que o grupo de pacotes {{Grp|base-devel}} está instalado ({{ic|pacman -S --needed base-devel}}).
 +
* Veja o [[#FAQ]] para respostas das questões mais comuns.
 +
* Você pode querer ajustar {{ic|/etc/makepkg.conf}} para melhor otimizar a prioridade do seu processador para a construção dos pacotes do AUR. Uma melhora significante nos tempos de compilação pode ser realizada nos sistemas com processadores multi-cores ao ajustar a variável MAKEFLAGS. Os usuários também podem habilitar otimizações específicas de hardware no GCC por meio da variável CFLAGS. Veja [[makepkg (Português)|makepkg]] para mais informações.
  
* Leia o restante deste artigo para mais informações, incluindo:
+
Também é possível interagir com o AUR por meio de SSH: digite {{ic|ssh aur@aur.archlinux.org help}} para uma lista de comandos disponíveis.
**[[#Instalação dos pacotes do AUR|um pequeno tutorial sobre como instalar os pacotes do AUR]]
 
**[[#.5Bcommunity.5D|como habilitar o repositório da [comunidade]]] no pacman e no ABS.
 
* Visite o [https://aur.archlinux.org AUR Web Interface] para se informar sobre acontecimentos e atualizações. Lá você também encontrará estatísticas e atualizações das listas dos mais novos pacotes disponíveis no AUR.
 
* Veja o [[#FAQ]] para respostas as questões mais comuns.
 
* Você pode quere ajustar {{ic|/etc/makepkg.conf}} para melhor otimizar a prioridade do seu processador para a construção dos pacotes do AUR. Uma melhora significante nos tempos de compilação pode ser realizada nos sistemas com multi processadores ao ajustar a variável MAKEFLAGAS. Os usuários podem também habilitar otimizações específicas do hardware no GCC via a variável CFLAGS.  Veja o [[makepkg.conf]] para mais informações.
 
* Instale a "base-devel" ({{Ic|pacman -S base-devel}}), porque os membros deste grupo não são explicitamente exigidosd pelos pacotes do AUR que podem não construir sem eles(mais informações [http://bbs.archlinux.org/viewtopic.php?pid=632355 aqui]).
 
  
==História==
+
== História ==
  
Os seguintes itens são listados por motivos históricos, somente. Eles têm sido substituídos desde o AUR e não mais disponibilizados.
+
No começo, havia {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}} e as pessoas contribuíam simplesmente enviando o PKGBUILD, os arquivos suplementares e o próprio pacote construído para o servidor. O pacote e os arquivos associados mantiveram-se até um [[Arch terminology (Português)#Package maintainer|Mantenedor de pacote]] ver o programa e adotá-lo.
  
No começo, havia {{ic|<nowiki>ftp://ftp.archlinux.org/incoming</nowiki>}}, e as pessoas contribuiam simplesmente enviando o [[PKGBUILD]], arquivos suplementares, e o próprio pacote construído para o servidor. O pacote e os arquivos associados mantiveram-se até o [[Gerente de Pacotes]] ver o programa e adotá-lo.
+
Em seguida, os Trusted User Repositories nasceram. Certos indivíduos na comunidade foram habilitados a hospedar seus próprios repositórios para qualquer um usar. O AUR expandiu nesta base, com o objetivo de ser mais flexível e usável. Na verdade, os mantenedores do AUR ainda são referidos como TUs (Trusted Users).
  
Em seguida, o Trusted User Repositories nasceu. Certos indivíduos na comunidade foram habilitados a hospedar seus próprios repositórios para qualquer um usar. O AUR expandido nesta base, com o objetivo de ser mais flexível e usável. De fato, os mantenedores do AUR ainda são referidos como TUs (Trusted Users).
+
Entre 2015-06-08 e 2015-08-08, o AUR mudou da versão 3.5.1 para 4.0.0, introduzindo o uso de repositórios Git para publicação dos PKGBUILDs.
  
== Busca no AUR==
+
== Pesquisando ==
O AUR pode ser encontrado [https://aur.archlinux.org/ aqui], e uma interface adequada para acessar o AUR de um script (por exemplo) pode ser encontrada [https://aur.archlinux.org/rpc.php aqui]
 
  
As consultas de nomes de pacotes e descrições são como as feitas em MySQL. Isto permite critérios de busca mais flexíveis (e.g. tente pesquisar por 'tool%like%grep' em vez de 'tool like grep'). Se você precisa buscar por uma descrição que contenha '%', use '\%'.
+
A interface web do AUR pode ser encontrada em https://aur.archlinux.org/ e uma interface adequada para acessar o AUR por meio de script pode ser encontrada em https://aur.archlinux.org/rpc.php.
  
==Instalando pacotes do AUR==
+
As consultas pesquisam por nomes de pacotes e descrições por meio de uma comparação LIKE do MySQL. Isto permite critérios de pesquisa mais flexíveis (ex.: tentar pesquisar por {{ic|tool%like%grep}} em vez de {{ic|tool like grep}}). Se você precisa pesquisar por uma descrição que contenha {{ic|%}}, use {{ic|\%}} como caractere de escape.
Instalar pacotes do AUR é um processo relativamente simples. Essencialmente:
 
# Adquira um [[PKGBUILD]] e qualquer outros arquivos requeridos (e.g. patches)
 
# Execute [[makepkg]] no diretório onde os arquivos foram salvos("makepkg -s" auto-resolverá as dependências com o [[pacman]])
 
# Instale o pacote resultante com o [[pacman]]
 
  
$ pacman -U /caminho/para/pkg.tar.gz
+
== Instalando pacotes ==
 +
A instalação de pacotes do AUR é um processo relativamente simples. Essencialmente:
  
[[AUR Helpers]] adicionam um acesso direto ao AUR. Eles variam nas suas funcionalidades, mas podem facilitar na busca,lançamento, construção, e instalação de PKGBUILDs encontrados no AUR. Todos os scripts podem ser encontrados no NÃO SUPORTADO.
+
# Obtenha os arquivos de compilação, incluindo o [[PKGBUILD (Português)|PKGBUILD]] e possivelmente outros arquivos necessários, como unidades [[systemd]] e patches (geralmente não o código em si).
 +
# Certifique-se de que o [[PKGBUILD (Português)|PKGBUILD]] e os arquivos que o acompanham não são maliciosos ou duvidosos.
 +
# Execute {{ic|makepkg -si}} no diretório onde os arquivos foram salvos. Isso vai baixar o código, resolver as dependências com o [[pacman (Português)|pacman]], compilá-lo, empacotá-lo e instalar o pacote.
  
{{Nota|Não há e nunca haverá um mecanismo ''oficial'' para instalação do material construído do NÃO SUPORTADO. Todos os usuários devem estar familiarizados com o processo de construção.}}
+
=== Pré-requisitos ===
  
O que segue é um exemplo detalhado da instalação de um pacote chamado "foo".
+
Primeiro, certifique-se de que as ferramentas necessárias estão instaladas, [[instale|instalando]] o grupo {{grp|base-devel}}, o qual inclui {{pkg|make}} e outras ferramentas necessárias para a compilação do código-fonte.
  
===Pré-requisitos===
+
{{Note|Os pacotes do AUR presumem que o grupo {{grp|base-devel}} está instalado, isto é, eles não listarão explicitamente os membros deste grupo como dependências}}
Primeiro, certifique-se de que as ferramentas necessárias estão instaladas. O grupo do pacote "base-devel" deve ser suficiente; ele inclui o ''make'' e outras ferramentas necessárias para a compilação do fonte.
 
  
{{Atenção|Os Pacotes no AUR assumem que o "base-devel" está instalado, e não listará membros deste grupo com dependências até se os pacotes não puderem ser construídos sem eles. Por favor, certifique-se que este grupo está instalado antes de se queixar sobre construções fracassadas.}}
+
Em seguida, escolha o diretório de compilação adequado. Um diretório de compilação é apenas um diretório no qual o pacote será feito ou "compilado" e pode ser em qualquer diretório. Os exemplos nas seguintes seções usarão {{ic|~/builds}} como o diretório de compilação.
  
# pacman -S base-devel
+
=== Obtendo arquivos de compilação ===
  
Escolha um diretório de construção apropriado. Um diretório de construção é simplesmente um diretório onde o pacote será criado ou "construído" e pode ser qualquer diretório. Exemplos dos diretórios mais comuns são:
+
Localize o pacote no AUR. Isso pode ser feito usando o recurso de pesquisa (o campo de texto no topo da [https://aur.archlinux.org/ página inicial do AUR]). Ao clicar no nome do aplicativo na lista de resultados de pesquisa, será mostrada uma página de informações sobre o pacote. Leia atentamente a descrição para confirmar que esse é o pacote desejado, veja quando o pacote foi atualizado pela última vez e leia quaisquer comentários.
  
~/builds
+
Há vários métodos para adquirir os arquivos de compilação:
  
ou se usar o ABS (o [[Arch Build System]]):
+
* Clonar o repositório [[git]] que está rotulado como o "Git Clone URL" em "Detalhes do pacote":
  
  /var/abs/local
+
  $ git clone <nowiki>https://aur.archlinux.org/</nowiki>''nome_pacote''.git
  
Para mais informações sobre o ABS leia o artigo [[Arch Build System]]. O exemplo usará {{ic|~/builds}} como o diretório de construção.
+
:Uma vantagem deste método é que você pode facilmente obter atualizações para o pacote vi {{ic|git pull}}.
 +
* Baixar os arquivos de compilação com seu navegadores web clicando no link "Baixar snapshot" sob "Ações do Pacote", no canto direito da tela. Isso vai baixar um arquivo compactado, que deve ser extraído (preferivelmente em um diretório definido a parte para compilações do AUR)
  
===Obter arquivos de construção===
+
$ tar -xvf ''nome_pacote''.tar.gz
Obtenha o pacote no AUR. Isso é feito usando-se a opção de pesquisa (o campo de texto em cima da [https://aur.archlinux.org/ AUR home page]). Clicar no nome do aplicativo, na lista da procura, mostra uma página de informações sobre o pacote. Leia a descrição para confirmar que esse é o pacote desejado, note quando o pacote foi atualizado pela última vez, e leia os comentários que houver.
+
* Similarmente, você pode baixar um tarball do terminal (e extraí-lo):
  
Faça o download dos arquivos de construção necessários. A partir da página de informações sobre o pacote, faça o download dos arquivos de construção, clicando no link "Tarball" no lado esquerdo, perto do fim dos detalhes do pacote. Esse arquivo deve ser salvo no diretório de construção, ou copiado para esse diretório, depois do download. Neste exemplo, o arquivo é chamado "foo.tar.gz" (o formato padrão é <nome do pacote>.tar.gz, se ele foi submetido do modo certo).
+
$ curl -L -O <nowiki>https://aur.archlinux.org/cgit/aur.git/snapshot/</nowiki>''nome_pacote''.tar.gz
  
===Construa o pacote===
+
=== Compilando e instalando o pacote ===
Extraia o tarball. Mude o diretório para o de construção, se já não estiver lá, e extraia os arquivos de construção
 
  
$ cd ~/builds
+
Mude diretórios para o diretório contendo o [[PKGBUILD (Português)|PKGBUILD]] do pacote.
$ tar -xvzf foo.tar.gz
 
  
Isto deve criar um novo diretório chamado "foo" no diretório de construção.
+
{{Warning|'''Verifique com atenção todos os arquivos.''' Verifique no {{ic|PKGBUILD}} e em qualquer arquivo {{ic|.install}} por comandos maliciosos. {{ic|PKGBUILD}}s são scripts em [[bash]] contendo funções para serem executadas pelo ''makepkg'': essas funções podem conter ''qualquer'' comando válido ou sintaxe Bash válida. Então, é totalmente possível que um {{ic|PKGBUILD}} contenha comandos perigosos por malícia ou ignorância por parte do autor. Já que o ''makepkg'' usa ''fakeroot'' (e nunca deveria ser executado como root), há ainda um certo nível de proteção, mas você nunca deveria contar somente nisso. Em caso de dúvida, não compile o pacote e procure ajuda nos fóruns ou na lista de discussão.}}
  
{{Atenção|'''Averigüe com atenção todos os arquivos.''' Vá para o diretório recém-criado, e procure cuidadosamente por comandos maliciosos no {{ic|PKGBUILD}} e em qualquer {{ic|.install}} arquivo. Em caso de dúvida, NÃO construa o pacote, e procure ajuda nos fóruns ou na lista de discussão.}}
+
$ cd ''nome_pacote''
 +
$ nano PKGBUILD
 +
$ nano ''nome_pacote''.install
  
$ cd foo
+
Crie o pacote. Depois de confirmar, manualmente, a integridade dos arquivos, execute [[makepkg (Português)|makepkg]] como usuário normal no diretório de compilação.
$ nano PKGBUILD
+
 
  $ nano foo.install
+
  $ makepkg -si
  
Crie o pacote. Depois de confirmar, manualmente, a integridade dos arquivos, execute [[makepkg]] como usuário normal no diretório de construção.
+
* {{ic|-s}}/{{ic|--syncdeps}} resolve automaticamente e instala quaisquer dependências com o [[pacman (Português)|pacman]] antes de compilar. Se o pacote depende de outros pacotes do AUR, você precisará instalá-los manualmente primeiro.
 +
* {{ic|-i}}/{{ic|--install}} instala o pacote se ele foi compilado com sucesso. Alternativamente, o pacote compilado pode ser instalado com {{ic|pacman -U ''pacote''.pkg.tar.xz}}.
  
$ makepkg -s
+
Outras flags úteis são
  
A opção {{Ic|-s}} usará o [[sudo]] para instalar qualquer dependência necessária. Se o uso do sudo for indesejável, instale antes as dependências você mesmo, e exclua a opção {{Ic|-s}} do comando acima.
+
* {{ic|-r}}/{{ic|--rmdeps}} remove dependências de tempo de compilação após a compilação, já que elas não mais são necessárias. Porém, essas dependências pode precisar serem reinstaladas da próxima vez que o pacote for atualizado.
 +
* {{ic|-c}}/{{ic|--clean}} limpa os arquivos temporários de compilação após a compilação, já que eles não mais são necessários. Esses arquivos geralmente são necessários apenas ao depurar o processo de compilação.
  
===Instale o pacote===
+
{{Note|O exemplo acima é apenas um resumo breve do processo de compilação. É '''altamente''' recomendado ler os artigos [[makepkg (Português)|makepkg]] e [[ABS (Português)|ABS]] para mais detalhes.}}
Instale o pacote usando o [[pacman]]. Um tarball deve ser criado e nomeado:
 
  
<nome da aplicação>-<número da versão>-<architecture>.pkg.tar.gz
+
== Feedback ==
  
Este pacote pode ser instalado usando o comando de "upgrade" do [[pacman]]:
+
A [https://aur.archlinux.org Interface Web do AUR] possui um recurso de comentários que permite aos usuários enviar sugestões e feedback ao contribuidor do PKGBUILD. Evite colar patches ou PKGBUILDs na seção de comentários. Eles logo tornam-se obsoletos e terminam tomando muito espaço sem necessidade. Ao invés disso, envie por e-mail os arquivos ao mantenedor ou até mesmo use um [[pastebin]].
  
# pacman -U foo-0.1-i686.pkg.tar.gz 
+
Uma das atividades mais fáceis para '''todos''' os usuários do Arch é navegar no AUR e '''votar''' em seus pacotes prediletos, usando a interface online. Todos os pacotes são elegíveis para serem adotados por um TU (Trusted User) para a inclusão no repositório [[community (Português)|community]], e a contagem de votos é uma das coisas levadas em consideração nesse processo; votar é do interesse de todos!
  
{{Nota|O exemplo acima é apenas um breve resumo do processo de construção do pacote. Uma visita a página do [[makepkg]]  e do [[ABS]] fornecerá mais detalhes e é altamente recomendado (principalmente para usuários de primeira viagem).}}
+
== Compartilhando e mantendo pacotes ==
  
==Compartilhando PKGBUILDs no SEM SUPORTE==
+
{{Note|Por favor veja a discussão sobre [[Talk:Arch User Repository#Scope of the AUR4 section|escopo da seção AUR4]] antes de fazer alterações nesta seção.}}
O usuário tem um papel essencial no AUR, que não  pode desenvolver seu potencial sem o suporte, envolvimento, e contribuição da comunidade de usuários como um todo. O ciclio de vida de um pacote do AUR começa e termina com o usuário, e requer que o usuário contribua de várias formas.
 
  
Usuários podem '''compartilhar''' [[PKGBUILD]]s usando a área SEM SUPORTE do AUR. O SEM SUPORTE não contém nenhum pacote binário, mas permite aos usuários fazer upload de PKGBUILDs, que podem ser baixados por outros. Esses PKGBUILDs são totalmente não-oficiais e não foram examinados completamente, então eles devem ser usados por sua conta e risco.
+
Usuários podem '''compartilhar''' PKGBUILDs usando o Arch User Repository, o qual não contém pacote binário algum, mas permite aos usuários enviar PKGBUILDs, que podem ser baixados por outros. Esses PKGBUILDs são totalmente não-oficiais e não foram examinados completamente, então eles devem ser usados por sua conta e risco.
  
===Feedback===
+
=== Enviando pacotes ===
Um espaço para comentários que permite aos usuários fornecer sugestões e feedback ao contribuidor do PKGBUILD. Evite colar patches (remendos) ou PKGBUILDs na seção de comentários. Eles logo tornam-se obsoletos, e terminam tomando muito espaço sem necessidade. Ao invés disso, mande por email os arquivos ao mantenedor, ou mesmo use um  [[pastebin Clients|pastebin]] como o http://aur.pastebin.com.
 
  
Uma das atividades mais fáceis para '''todos''' os usuários do Arch é navegar no AUR e '''votar''' em seus pacotes prediletos, usando a interface online. Todos os pacotes são elegíveis para serem adotados por um TU (Trusted User) para a inclusão no repositório [community], e a contagem de votos é uma das coisas levadas em conta nesse processo; votar é do interesse de todos!
+
{{Warning|Antes de tentar enviar um pacote, espera-se que você esteja familiarizado com os [[Arch packaging standards (Português)|Arch Packaging Standards]] (''padrões de empacotamento do Arch'') e todos os artigos sob "Artigos relacionados". '''Verifique cuidadosamente''' se o que você está enviando está correto. Pacotes que violam as regras podem ser '''excluídos''' sem qualquer aviso.}}
  
==Submetendo Pacotes para SEM SUPORTE==
+
Se você de alguma forma esta incerto sobre o pacote ou o processo de compilação/envio mesmo após ler essa seção duas vezes, envie o PKGBUILD para a [https://mailman.archlinux.org/mailman/listinfo/aur-general lista de discussão do AUR], o [https://bbs.archlinux.org/viewforum.php?id=4 fórum do AUR] nos fóruns do Arch ou peça em nosso [[canal IRC]] por revisão pública antes de adicioná-lo ao AUR.
  
Depois de se conectar à interface web do AUR, o usuário pode [https://aur.archlinux.org/pkgsubmit.php submeter] um tarball em gzip ({{ic|.tar.gz}}) de um diretório contendo arquivos de compilação para um pacote. O diretório dentro do tarball deve conter um {{ic|PKGBUILD}}, quaisquer arquivos {{ic|.install}}, patches, etc. (ABSOLUTAMENTE não binários). Exemplos do que uma diretório deve conter pode ser visto dentro de {{ic|/var/abs}} se [[ABS]] foi instalado.
+
==== Regras de envio ====
  
O tarball pode ser criado com o seguinte comando:
+
Ao enviar um pacote para o AUR, observe as seguintes regras:
$ makepkg --source
 
  
Nota que esse é um tarball em gzip; supondo que você está submetendo ao AUR um pacote chamado ''libfoo'', quando você criar o arquivo, ele deve parecer com:
+
* Os PKGBUILDs enviados não devem compilar quaisquer aplicativos '''já disponíveis em qualquer''' um dos '''repositórios oficiais''' de binários sob qualquer circunstâncias. Verifique a [https://www.archlinux.org/packages/ base de dados de pacotes oficiais] pelo pacote. Se qualquer versão dele existir, '''não''' envie o pacote. Se o pacote oficial está desatualizado, marque-o como tal. Se o pacote oficial está quebrado ou faltando um recurso, por favor preencha um [https://bugs.archlinux.org/ relatório de erro].
 +
:'''Exceção''' a essa regra estrita pode ser apenas os pacotes tendo '''recursos extras''' habilitados e/ou '''patches''' em comparação com aqueles oficiais. Em tal ocasião o {{ic|pkgname}} deve ser diferente para expressar a diferença. Por exemplo, um pacote para GNU screen contendo o patch de barra lateral poderia ser chamado de {{ic|screen-sidebar}}. Além do mais, o vetor {{ic|1=provides=('screen')}} deve ser usado para evitar conflitos com o pacote oficial.
  
# Lista do conteúdo de um tarball.
+
* '''Verifique no AUR''' se o pacote '''já existe'''. Se ele já tem um mantenedor, alterações podem ser submetidas em comentários para chamar atenção do mantenedor. Se o pacote não tem um mantenedor ou o mantenedor não responde, o pacote pode ser adotado e atualizado como precisar. Não crie pacotes duplicados.
$ tar tf libfoo-0.1-1.src.tar.gz
 
libfoo/
 
libfoo/PKGBUILD
 
libfoo/libfoo.install
 
  
Quando submeter um pacote, deve ser observado as seguintes regras:
+
* Certifique-se de que o pacote que você deseja é '''útil'''. Alguém mais vai querer usá-lo? Ele é extremamente especializado? Se mais de algumas poucas pessoas achariam esse pacote útil, ele é apropriado para envio.
* Verifique [core], [extra], e [community] a procura do pacote. Se ele está dentro de um desses repositórios em ALGUMA forma, NÃO submeta o pacote (se o pacote atual está quebrado ou sem algum ter incluído algum recurso, favor criar um relatório de bug no [http://bugs.archlinux.org/ FlySpray]).
 
* Verifique no SEM SUPORTE pelo pacote. Se ele já tem um mantenedor, alterações podem ser submetidas em comentários para chamar atenção do mantenedor. Se o pacote não tem um mantenedor,  o pacote pode ser adotado e atualizado como precisar.
 
* Verifique atentamente se o pacote que você está enviando está correto. Todos contribuidores devem ler e aderir aos [[Arch Packaging Standards]] quando estiver escrevendo PKGBUILDs. Isso é essencial para o funcionamento suave e sucesso como um todo do AUR. Lembre-se que você não vai ganhar nenhuma ou respeito de seus próximos gastando o tempo deles com PKGBUILDs ruins.
 
* Pacotes que contém binários ou que são mal escritos podem ser deletados sem aviso.
 
* Se você não tem certeza sobre o processo de empacotamento (ou de compilação/submissão) de alguma forma, submeta o PKGBUILD para a Lista de Discussão do AUR ou para sessões de AUR no forum para uma revisão pública antes de adicionar ao AUR.
 
* Tenha certeza que o pacote é útil. Alguém mais vai querer esse pacote? Ele é extremamente especializado? Se mais do que poucas pessoas pensariam nesse pacote como útil, então é apropriado para ser submetido.
 
* Adquira alguma experiência antes de submeter pacotes. Compile alguns pacotes para aprender o processo e depois submeta.
 
* Se você submeter um {{ic|package.tar.gz}} com uma arquivo chamado '{{ic|package}}' nele, você vai receber uma mensagem de erro: 'Não pode alterar o diretório {{ic|/home/aur/unsupported/package/package}}'. Para resolver isso, renomeie o arquivo '{{ic|package}}' para alguma coisa diferente. Por exemplo, '{{ic|package.rc}}'. Quando ele estiver instalado no diretório {{ic|pkg}} você pode renomeá-lo de volta para '{{ic|package}}'.
 
  
==Maintaining Packages in UNSUPPORTED==
+
:Os repositórios do AUR e oficiais servem par pacotes que, em geral, instalam softwares e conteúdo relacionados com software, incluindo um ou mais dos seguintes: executável(is); arquivo(s) de configuração; documentação online ou offline para softwares específicos ou a distribuição Arch Linux como um todo; mídia para ser usada diretamente por software.
* Check for feedback and comments from other users and try to incorporate any improvements they suggest; consider it a learning process!
 
* Please DO NOT just submit and forget about packages! While in UNSUPPORTED, it is the user's job to maintain the package by checking for updates and improving the PKGBUILD.
 
* If you do not want to continue to maintain the package for some reason, {{ic|disown}} the package using the AUR web interface and/or post a message to the AUR Mailing List.
 
  
==[community]==
+
* Envio de '''binários''' deve ser '''evitado''' se os fontes estão disponíveis. O AUR não deve conter o tarball binário criado por makepkg, nem deve conter a lista de arquivos.
The [community] repository, maintained by [[Trusted Users]], contains the most popular packages from UNSUPPORTED. It is enabled by default in {{ic|pacman.conf}}. If disabled/removed, it can be enabled by uncommenting/adding these two lines:
 
  
{{hc|/etc/pacman.conf
+
* Por favor, adicione uma '''linha de comentário''' ao topo do arquivo {{ic|PKGBUILD}} que contém informações sobre os '''mantenedores''' atuais e '''contribuidores''' antigos, respeitando o formato a seguir. Lembre-se de disfarçar seu e-mail para protegê-lo contra spam. Linhas adicionais ou desnecessárias são facultativas.
|2=<nowiki>
+
:Se você está assumindo o papel de mantenedor para um PKGBUILD existente, adicione seu nome ao topo desta forma
...
+
:{{bc|<nowiki>
[community]
+
# Maintainer: Seu Nome <endereço at domínio dot tld>
Include = /etc/pacman.d/mirrorlist
 
...
 
 
</nowiki>}}
 
</nowiki>}}
 +
:Se houver mantenedores antigos, coloque-os como contribuidores. O mesmo se aplica para quem enviou o pacote, se não foi você. Se você é um comantenedor, adicione os nome de outros mantenedores atuais também.
 +
:{{bc|<nowiki>
 +
# Maintainer: Seu Nome <endereço at domínio dot tld>
 +
# Maintainer: Nome do Outro Mantenedor <endereço at domínio dot tld>
 +
# Contributor: Nome do Mantenedor Anterior <endereço at domínio dot tld>
 +
# Contributor: Nome do Criador do Pacote <endereço at domínio dot tld>
 +
</nowiki>}}
 +
 +
==== Autenticação ====
 +
 +
Para acesso de escrita para o AUR, você precisar ter um [[SSH keys|par de chaves SSH]]. O conteúdo da chave pública precisa ser copiada para seu perfil em ''Minha conta'' e a chave privada correspondente configurada para o endereço {{ic|aur.archlinux.org}}. Por exemplo:
 +
 +
{{hc|~/.ssh/config|
 +
Host aur.archlinux.org
 +
  IdentityFile ~/.ssh/aur
 +
  User aur}}
 +
 +
Você deve [[SSH_keys#Generating_an_SSH_key_pair|criar um novo par de chaves]] em vez de usar um existente, de forma que você possa seletivamente revogar as chaves caso algo aconteça:
 +
 +
$ ssh-keygen -f ~/.ssh/aur
 +
 +
{{Tip|Você pode adicionar múltiplas chaves públicas ao seu perfil separando-as com uma nova linha no campo de entrada.}}
 +
 +
==== Criando um novo pacote ====
 +
 +
Para criar um novo repositório Git local vazio para um pacote, basta executar {{ic|git clone}} com o nome de repositório correspondendo ao nome do pacote. Se o pacote ainda não existir no AUR, você verá a seguinte mensagem:
 +
 +
{{hc|$ git clone <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''nome_pacote''.git|
 +
Cloning into &apos;''nome_pacote''&apos;...
 +
warning: You appear to have cloned an empty repository.
 +
Checking connectivity... done.}}
 +
 +
{{Note|Quando um pacote do AUR é excluído, o repositório git é mantido, de forma que é possível para um repositório do pacote excluído não estar vazio quando clonado se alguém estiver criando um pacote com o mesmo nome.}}
 +
 +
Se você já criou um repositório git, você pode simplesmente criar um remoto para o repositório do AUR e então executar "fetch":
 +
 +
$ git remote add ''nome_remoto'' <nowiki>ssh://</nowiki>aur@aur.archlinux.org/''nome_pacote''.git
 +
$ git fetch ''nome_remoto''
 +
 +
sendo {{ic|''nome_remoto''}} o nome do remoto para a ser criado (''ex.:'' "origin"). Veja o [[Git#Using remotes|uso de remotos no Git]] para mais informações.
 +
 +
O novo pacote aparecerá no AUR após você executar ''push'' no primeiro commit. Você pode adicionar os arquivos fontes à cópia local do repositório Git. Veja [[#Enviando pacotes]].
 +
 +
{{Warning|Seus commits do AUR serão autorizados de acordo com seu nome de usuário git e endereço de e-mail e é muito difícil de alterar commits após você ter enviado (veja {{Bug|45425}}). Se você deseja enviar para o AUR sob um nome/e-mail diferente, você pode alterá-los para esse pacote via {{ic|git config user.name [...]}} e {{ic|git config user.email [...]}}. Reveja seus commits antes de enviá-los!}}
 +
 +
==== Enviando pacotes ====
 +
 +
{{Tip|Para evitar arquivos não rastreados de commits e manter um diretório de trabalho mais limpo possível, exclua todos os arquivos com {{ic|.gitignore}} e force a adição de arquivos. Veja o [[dotfiles#Using gitignore|uso de gitignore]].}}
 +
 +
Os procedimentos para envio de pacotes para o AUR é o mesmo de novos pacotes e atualizações de pacotes. Você precisa pelo menos de um [[PKGBUILD (Português)|PKGBUILD]] e um [[.SRCINFO (Português)|.SRCINFO]] no diretório de nível superior para poder fazer o ''push'' do seu pacote para o AUR.
 +
 +
Para enviar, adicione o {{ic|PKGBUILD}}, {{ic|.SRCINFO}} e quaisquer arquivos auxiliares (como arquivos {{ic|.install}} ou arquivos fontes locais como {{ic|.patch}}) à ''staging area'' com {{ic|git add}}, faça commit deles para sua árvore local com uma mensagem de commit com {{ic|git commit}} e, finalmente, publique as alterações para o AUR com {{ic|git push}}.
 +
 +
Por exemplo:
 +
 +
$ makepkg --printsrcinfo > .SRCINFO
 +
$ git add PKGBUILD .SRCINFO
 +
$ git commit -m "''mensagem útil de commit''"
 +
$ git push
 +
 +
{{Tip|Se você inicialmente se esqueceu de fazer commit do {{ic|.SRCINFO}} e adicionou-o em um commit posterior, o AUR ainda rejeitará seus ''pushes'' porque o {{ic|.SRCINFO}} deve existir para ''todo'' commit. Para resolver esse problema, você pode usar [https://git-scm.com/docs/git-rebase git rebase] com a opção {{ic|--root}} ou [https://git-scm.com/docs/git-filter-branch git filter-branch] com a opção {{ic|--tree-filter}}.}}
 +
 +
=== Mantendo pacotes ===
 +
 +
* Verifique os feedback e comentários de outros usuários e tente incorporar quaisquer melhorias que eles sugerirem; considere isso um processo de aprendizado!
 +
* Por favor, não envie um comentário contendo a versão toda vez que você atualizar o pacote. Isso deixa a seção de comentário usável para o conteúdo valioso mencionado acima. [[Auxiliares do AUR]] são mais adequados para verificar por atualizações.
 +
* Por favor, não apenas envie e depois esqueça dos pacotes! É trabalho do mantenedor manter o pacote, verificando atualizações e melhorando o PKGBUILD.
 +
* Se você não quer mais continuar mantendo o pacote por algum motivo, basta abandonar ({{ic|disown}}) o pacote usando a interface web do AUR e/ou postar uma mensagem na Lista de Discussão do AUR. Se todos os mantenedores de um pacote AUR o abandonarem, ele se tornará um pacote [https://aur.archlinux.org/packages/?O=0&SeB=nd&K=&outdated=&SB=n&SO=a&PP=50&do_Orphans=Orphans "órfão"].
 +
 +
=== Outras requisições ===
 +
 +
* Requisições para abandono e requisições para remoção de pacotes podem ser criadas clicando no link "Enviar requisição" sob "Ações do pacote" no lado direito da janela. Isso automaticamente uma notificação de e-mail para o atual mantenedor de pacote e para a [https://mailman.archlinux.org/mailman/listinfo/aur-requests lista de discussão aur-requests] para debate.
 +
* Requisições de abandono (''Disownment Requests'') serão concedidas somente após duas semanas se o atual mantenedor não apresentar resposta.
 +
* Requisições de mesclagem (''Merge Requests'') são para substituir um outro. Usuários ainda terão que reenviar um pacote sob um novo nome e podem requisitar mesclagem dos comentários e votos da versão anterior. Isso tem nada haver com "git merge" e não é similar aos "pull requests" do github.
 +
* Requisições de remoção (''Removal Requests'') precisam das seguintes informações:
 +
** Motivo para exclusão, com pelo menos uma nota curta <br> '''NOTE:''' Um comentário em um pacote não necessariamente demonstra suficiente motivo do porquê um pacote deve ser excluído. Isso porque assim que um TU realiza a exclusão, o único lugar que vai manter a tal informação será o e-mail na lista de discussão do aur-requests.
 +
** Incluir detalhes de suporte, como, por exemplo, quando um pacote é fornecido por outro pacote, se você é o mantenedor do pacote, ele foi renomeado e o dono original concordou, etc.
 +
** Para requisições de mesclagem: Nome do pacote base para o qual deve ser mescla
 +
 +
Requisições de remoção podem ser negadas, caso em que você provavelmente será aconselhado a abandonar o pacote para a referência de um possível futuro mantenedor.
 +
 +
== Repositórios Git para pacotes AUR3 ==
 +
{{Note|aur-mirror não está mais disponível}}
 +
O [https://github.com/aur-archive Arquivo do AUR] no GitHub possui um repositório para cada repositório que estava no AUR 3 durante a migração para o AUR 4.
 +
 +
== Tradução da interface web ==
 +
 +
Veja [https://projects.archlinux.org/aurweb.git/tree/doc/i18n.txt i18n.txt] na árvore de arquivos fontes do AUR para informações sobre criação e manutenção de tradução da interface web do AUR.
 +
 +
== FAQ ==
 +
 +
=== O que é o AUR? ===
 +
 +
O AUR (Arch User Repository) é um lugar para onde a comunidade do Arch Linux pode enviar [[PKGBUILD (Português)|PKGBUILD]]s de aplicativos, bibliotecas, etc., e compartilhá-los com toda a comunidade. Outros usuários poderão então votar pelos seus favoritos para que sejam transferidos para o repositório [community] de forma a serem compartilhados com os usuários do Arch Linux em forma de binário.
 +
 +
=== Que tipo de pacote é permitido no AUR? ===
 +
 +
Os pacotes no AUR são meramente "scripts de compilação", isto é, receitas para a compilação de binários para o pacman. Na maioria dos casos, tudo é permitido, sujeito à [[#Regras de envio|utilidade e escopo das diretrizes]], desde que o pacote esteja em conformidade com os termos de licenciamento do conteúdo. Para outros casos, onde é mencionado que "você não pode vincular" a downloads, por exemplo, conteúdos que não são redistribuíveis, você somente pode usar o nome do arquivo como fonte. Isso significa que e requer que os usuários já tenham o fonte restrito no diretório de compilação antes de compilar o pacote. Quando tiver dúvidas, pergunte.
 +
 +
=== Como posso votar em pacotes no AUR? ===
 +
 +
Registe-se no [https://aur.archlinux.org/ site do AUR] para obter uma opção "Vote neste pacote" enquanto navega nos pacotes. Após se registrar, também é possível votar a partir da linha de comando com {{AUR|aurvote}}, {{AUR|aurvote-git}} ou {{AUR|aur-auto-vote-git}}.
 +
 +
Alternativamente, se você possui uma [[#Autenticação|autenticação ssh]] configurada como mencionado acima, você pode votar diretamente a partir da linha de comando usando sua chave ssh. Isso significa que você não precisará salvar ou digitar sua senha AUR.
 +
 +
ssh aur@aur.archlinux.org vote <NOME_PACOTE>
 +
 +
Você pode votar para todos os pacotes AUR instalados com o seguinte:
 +
 +
for i in $(pacman -Qqm); do echo Votando para $i; ssh aur vote $i; done
 +
 +
=== O que é um Trusted User / TU? ===
 +
 +
Um [[AUR Trusted User Guidelines (Português)|(Trusted User)]], abreviado como TU, é uma pessoa que é escolhida para supervisionar o AUR e o repositório [[community (Português)|community]]. Eles são os que mantêm PKGBUILDs populares no ''community'' e de forma geral mantêm o AUR funcionando.
 +
 +
=== Qual é a diferença entre o Arch User Repository e repositório [community]? ===
 +
 +
O Arch User Repository é onde todos os PKGBUILDs que os usuários submetem são armazenados e têm que ser compilados manualmente com [[makepkg (Português)|makepkg]]. Quando os PKGBUILDs recebem interesse e suporte suficiente da comunidade, eles são movidos para o repositório [[community (Português)|community]] (mantido pelos TUs), onde os pacotes binários podem ser instalados com o [[pacman (Português)|pacman]].
 +
 +
=== Foo no AUR está desatualizado; o que faço? ===
 +
 +
Para começar, você pode marcar pacotes como desatualizados. Se ele ficar desatualizado por um longo período de tempo, a melhor coisa a ser feita é você mesmo escrever um e-mail para o mantenedor. Se não houver resposta do mantenedor, você pode requisitar que seja tornado órfão. Quando estivermos falando de um pacote que está marcado como desatualizado por mais de 3 meses e em geral não teve atualização por muito tempo, por favor adicione esta informação na sua requisição.
 +
 +
Neste meio tempo, você pode tentar atualizar o pacote você mesmo editando o PKGBUILD - algumas atualizações não exigem qualquer alteração para o processo de compilação ou empacotamento, caso em que apenas atualizar o vetor {{ic|pkgver}} ou {{ic|source}} é suficiente.
 +
 +
{{Note|[[VCS package guidelines|Pacotes VCS]] não são considerados desatualizados quando o pkgver altera, então '''por favor''' não sinalize-os pois o mantenedor irá simplesmente retirar a sinalização e ignorar você. Mantenedores do AUR não devem fazer commits para meramente incrementar o pkgver.}}
 +
 +
=== Foo no AUR não compila quando eu executo makepkg; o que devo fazer? ===
 +
 +
Provavelmente está deixando escapar alguma coisa trivial.
 +
 +
# [[Pacman (Português)#Atualizando pacotes|Atualize o sistema]] antes de compilar qualquer coisa com {{Ic|makepkg}}, pois o problema pode ser que o seu sistema não está atualizado.
 +
# Certifique-se de que tem ambos os grupos {{Grp|base}} e {{Grp|base-devel}} instalados.
 +
# Tente usar a opção {{Ic|-s}} com {{Ic|makepkg}} para verificar e instalar todas as dependências necessárias antes de começar o processo de compilação.
 +
 +
Certifique-se de primeiro ler o PKGBUILD e os comentários na página do AUR do pacote em questão.
 +
O motivo pode não ser trivial. CFLAGS, LDFLAGS e MAKEFLAGS personalizadas podem causar falhas. Também é possível que o PKGBUILD esteja realmente incorreto para todos. Se não consegue descobrir por si mesmo, relate o problema ao mantenedor. Por exemplo, publique nos comentários da página do AUR os erros que você está recebendo.
 +
 +
=== Como eu crio um PKGBUILD? ===
 +
 +
O melhor recurso é a página wiki sobre [[Criando pacotes|criação de pacotes]]. Lembre-se de olhar no AUR antes de criar o PKGBUILD para evitar retrabalho.
 +
 +
=== Eu tenho um PKGBUILD que queria enviar; alguém pode verificá-lo para ver se ele tem algum erro? ===
 +
 +
Se quiser ter o seu PKGBUILD criticado, publique--o para a [https://mailman.archlinux.org/mailman/listinfo/aur-general lista de discussão aur-general] para receber feedback dos TUs e de outros membros do AUR. Você também pode conseguir ajuda do [[IRC channel|Canal IRC]], #archlinux-aur em irc.freenode.net. Você também pode usar o [[namcap]] para verificar erros no seu PKGBUILD e no pacote resultante.
 +
 +
=== Como que faz para um PKGBUILD ir para o repositório ''community''? ===
 +
 +
Normalmente, são necessários pelo menos 10 votos para que alguma coisa seja transferida para [[community (Português)|community]]. Contudo, se um TU tiver interesse em dar suporte a um pacote, geralmente este será encontrado no repositório.
 +
 +
Atingir o mínimo de votos não é o único requisito, tem que haver um TU interessado em manter o pacote. TUs não são obrigados a mover um pacote para o repositório ''community'' mesmo se este tiver milhares de votos.
 +
 +
Geralmente, quando um pacote muito popular se mantém no AUR é porque:
 +
 +
* Arch Linux já possui outra versão de um pacote nos repositórios
 +
* O pacote é relacionado ao AUR (ex.: um [[Auxiliares do AUR|auxiliar do AUR]])
 +
* Sua licença proíbe redistribuição
  
[community], unlike UNSUPPORTED, contains binary packages that can be installed directly with [[pacman]] and the build files can also be accessed with [[ABS]]. Some of these packages may eventually make the transition to the [core] or [extra] repositories as the developers consider them crucial to the distribution.
+
Veja também [[DeveloperWiki:Community repo candidates]] e [[AUR Trusted User Guidelines (Português)#Regras para a Entrada de Pacotes no Repositório %5Bcommunity%5D|regras para pacotes entrarem no repositório ''community'']].
  
Users can also access the [community] build files by editing {{ic|/etc/abs.conf}} and enabling the community repository in the {{Ic|REPOS}} array.
+
=== Como o posso agilizar processo de repetidas compilações? ===
  
==FAQ==
+
Se você frequentemente compila códigos que usam gcc - digamos, um pacote git ou SVN - você pode encontrar [[ccache]], que é o diminutivo para "compiler cache", útil.
  
{{FAQ
+
=== Qual é a diferença entre pacotes foo e foo-git ===
|question=O que é o AUR?
 
|answer=O AUR (Arch User Repository) é um sítio onde a comunidade do Arch Linux pode fazer upload de [[PKGBUILD]]s de aplicações, bibliotecas, etc., e partilhá-los com toda a comunidade. Outros usuários poderão então votar pelos seus favoritos para que sejam transferidos para o repositório [community] de forma a serem partilhados com os utilizadores do Arch Linux em forma de binário.}}
 
  
{{FAQ
+
Muitos pacotes AUR são apresentados nas versões regulares ("estáveis") e de desenvolvimento ("instáveis"). Um pacote de desenvolvimento geralmente possui um sufixo como {{ic|-cvs}}, {{ic|-svn}}, {{ic|-git}}, {{ic|-hg}}, {{ic|-bzr}} ou {{ic|-darcs}}. Enquanto os pacotes de desenvolvimento não são destinados a usos regulares, eles podem oferecer novos recursos ou correções de erros. Por esses pacotes baixarem o mais novo código-fonte disponível ao executar o {{ic|makepkg}}, uma versão de pacote para relacionar possíveis atualizações não está diretamente disponível para eles. Da mesma forma, esses pacotes não podem realizar uma verificação de autenticidade da soma de verificação (''checksum''), dependendo dos mantenedor(es) do repositório Git.
|question=O que é um TU?
 
|answer=Um [[AUR Trusted User Guidelines|TU (Trusted User)]] é uma pessoa que é escolhida para supervisionar o AUR e o repositório [community]. Eles são os que mantêm PKGBUILDs populares no [community], marcam PKGBUILDs como seguros e ao todo mantêm o AUR a funcionar.}}
 
  
{{FAQ
+
Veja também [[System maintenance#Use proven software packages]] ("Use pacotes de software aprovados").
|question=Qual é a diferença entre [unsupported] e [community]?
 
|answer=[unsupported] é onde todos os PKGBUILDs que os utilizadores submetem são guardados, e têm que ser construídos manualmente com [makepkg]. Quando os PKGBUILDs recebem votos suficientes, eles são transferidos para o repositório [community], onde os TUs mantêm pacotes binários que podem ser instalados com o [[pacman]].}}
 
  
{{FAQ
+
=== Por que foo desapareceu do AUR? ===
|question=Quantos votos são precisos para que um PKGBUILD seja transferido para [community]?
 
|answer=Normalmente, são precisos pelo menos 10 votos para alguma coisa ser transferida para [community]. Contudo, se um TU quiser suportar um pacote, ele vai ser frequentemente encontrado no repositório.}}
 
  
{{FAQ
+
Pacotes podem ter sido excluídos, se eles não preencherem as [[#Regras de envio]]. Veja os [https://lists.archlinux.org/pipermail/aur-requests/ histórico do aur-requests] pelo motivo da exclusão.
|question=Como é que eu faço um PKGBUILD?
 
|answer=O melhor recurso é [[Creating Packages]]. Não se esqueça de ver no AUR antes de criar o PKGBUILD de forma a não duplicar esforços.}}
 
  
{{FAQ
+
Se o pacote costumava existir no AUR3, ele pode não ter sido [https://lists.archlinux.org/pipermail/aur-general/2015-August/031322.html migrado para o AUR4]. Veja os [[#Repositórios Git para pacotes AUR3]] nos quais eles foram preservados.
|question=Estou a tentar fazer {{Ic|pacman -S foo}}; não está a funcionar mas eu sei que está em [community]
 
|answer=Provavelmente não activou [community] no seu {{ic|/etc/pacman.conf}}. Basta descomentar as linhas relevantes.}}
 
  
{{FAQ
+
=== Como eu descubro se algum dos meus pacotes instalados desapareceu do AUR? ===
|question=Foo no AUR está desactualizado; o que faço?
 
|answer=Para começar, pode marcar pacotes desactualizados. Se ficar desactualizado por um longo período de tempo, a melhor coisa a fazer será escrever um e-mail ao maintainer. Se não houver resposta do maintainer, pode escrever um e-mail ao aur-general mailing list de forma a ter um TU orfanizar o PKGBUILD se estiver disposto a mante-lo você mesmo.}}
 
  
{{FAQ
+
A forma mais simples é verificar o status HTTP da página AUR do pacote:
|question=Eu tenho um PKGBUILD que queria submeter; alguém pode verificá-lo para ver se tem algum erro?
 
|answer=Se quiser ter o seu PKGBUILD criticado, submeta-o na aur-general mailing list para receber feedback dos TUs e membros do AUR. Também pode conseguir ajuda do [[ArchChannel|IRC channel]], #archlinux em irc.freenode.net. Também pode usar [[namcap]] para verificar o seu PKGBUILD e o pacote resultante por erros.}}
 
  
{{FAQ
+
$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)
|question=Foo no AUR não compila quando eu faço {{Ic|makepkg}}; o que devo fazer?
 
|answer=Provavelmente está em falta alguma coisa trivial.
 
  
# Corra {{Ic|pacman -Syyu}} antes de compilar qualquer coisa com {{Ic|makepkg}} visto que o problema pode vir de o seu sistema estar desactualizado.
+
Se você está usando um [[Auxiliares do AUR|auxiliar do AUR]], você pode abreviar esse script substituindo o comando curl com qualquer outro comando de consulta de AUR por um pacote.
# Verifique que tem ambos os grupos "base" e "base-devel" instalados.
 
# Tente usar a opção"{{Ic|-s}}" com {{Ic|makepkg}} para verificar e instalar todas as dependências necessárias antes de começar o processo de construção.
 
  
A razão pode não ser trivial afinal. CFLAGS, LDFLAGS and MAKEFLAGS personalizadas podem causar falhas. Também é possivel que o PKGBUILD esteja corrompido para todos. Se não consegue descobrir por si mesmo, reporte-o ao maintainer.}}
+
=== Como eu posso obter uma lista de todos os pacotes do AUR? ===
  
{{FAQ
+
* https://aur.archlinux.org/packages.gz
|question=Como é que eu tenho acesso a pacotes não-suportados?
+
* Use <code>aurpkglist</code> do {{aur|python3-aur}}
|answer=Veja [[#Installing Packages from the AUR]]}}
 
  
{{FAQ
+
== Veja também ==
|question=Como é que eu faço upload para o AUR sem usar a interface web?
+
* [https://aur.archlinux.org Interface Web do AUR]
|answer=Pode usar [https://aur.archlinux.org/packages.php?ID=23393 aurploader]; uma interface de linha de comandos.}}
+
* [https://lists.archlinux.org/listinfo/aur-general Lista de Discussão do AUR]
 +
* [[DeveloperWiki:AUR Cleanup Day]]

Latest revision as of 10:00, 23 June 2017

O Arch User Repository (AUR) ou, em português, Repositório de Usuário do Arch é um repositório dirigido pela comunidade para usuários do Arch. Ele contém descrições de pacotes (PKGBUILDs) que permitem a você compilar um pacote de um fonte com o makepkg e depois instalar via pacman. O AUR foi criado para organizar e compartilhar novos pacotes da comunidade e ajudar a acelerar a inclusão dos pacotes populares no repositório community. Este documento explica como usuários podem acessar e utilizar o AUR.

Um bom número de novos pacotes que entram para os repositórios oficiais iniciam no AUR. No AUR, usuários são capazes de contribuir com seus próprios pacotes (PKGBUILD e arquivos relacionados). A comunidade do AUR tem a capacidade de votar a favor ou contra os pacotes no AUR. Se um pacote se torna popular o bastante -- desde que tenha uma licença compatível e uma boa técnica de empacotamento -- ele pode ser colocado no repositório community (diretamente acessível pelo pacman ou abs).

Começando

Os usuários podem pesquisar e baixar os PKGBUILDs da Interface Web do AUR. Esses PKGBUILDs podem ser construídos dentro dos pacotes instaláveis usando makepkg, e depois instalados usando pacman.

  • Certifique-se de que o grupo de pacotes base-devel está instalado (pacman -S --needed base-devel).
  • Veja o #FAQ para respostas das questões mais comuns.
  • Você pode querer ajustar /etc/makepkg.conf para melhor otimizar a prioridade do seu processador para a construção dos pacotes do AUR. Uma melhora significante nos tempos de compilação pode ser realizada nos sistemas com processadores multi-cores ao ajustar a variável MAKEFLAGS. Os usuários também podem habilitar otimizações específicas de hardware no GCC por meio da variável CFLAGS. Veja makepkg para mais informações.

Também é possível interagir com o AUR por meio de SSH: digite ssh aur@aur.archlinux.org help para uma lista de comandos disponíveis.

História

No começo, havia ftp://ftp.archlinux.org/incoming e as pessoas contribuíam simplesmente enviando o PKGBUILD, os arquivos suplementares e o próprio pacote construído para o servidor. O pacote e os arquivos associados mantiveram-se até um Mantenedor de pacote ver o programa e adotá-lo.

Em seguida, os Trusted User Repositories nasceram. Certos indivíduos na comunidade foram habilitados a hospedar seus próprios repositórios para qualquer um usar. O AUR expandiu nesta base, com o objetivo de ser mais flexível e usável. Na verdade, os mantenedores do AUR ainda são referidos como TUs (Trusted Users).

Entre 2015-06-08 e 2015-08-08, o AUR mudou da versão 3.5.1 para 4.0.0, introduzindo o uso de repositórios Git para publicação dos PKGBUILDs.

Pesquisando

A interface web do AUR pode ser encontrada em https://aur.archlinux.org/ e uma interface adequada para acessar o AUR por meio de script pode ser encontrada em https://aur.archlinux.org/rpc.php.

As consultas pesquisam por nomes de pacotes e descrições por meio de uma comparação LIKE do MySQL. Isto permite critérios de pesquisa mais flexíveis (ex.: tentar pesquisar por tool%like%grep em vez de tool like grep). Se você precisa pesquisar por uma descrição que contenha %, use \% como caractere de escape.

Instalando pacotes

A instalação de pacotes do AUR é um processo relativamente simples. Essencialmente:

  1. Obtenha os arquivos de compilação, incluindo o PKGBUILD e possivelmente outros arquivos necessários, como unidades systemd e patches (geralmente não o código em si).
  2. Certifique-se de que o PKGBUILD e os arquivos que o acompanham não são maliciosos ou duvidosos.
  3. Execute makepkg -si no diretório onde os arquivos foram salvos. Isso vai baixar o código, resolver as dependências com o pacman, compilá-lo, empacotá-lo e instalar o pacote.

Pré-requisitos

Primeiro, certifique-se de que as ferramentas necessárias estão instaladas, instalando o grupo base-devel, o qual inclui make e outras ferramentas necessárias para a compilação do código-fonte.

Note: Os pacotes do AUR presumem que o grupo base-devel está instalado, isto é, eles não listarão explicitamente os membros deste grupo como dependências

Em seguida, escolha o diretório de compilação adequado. Um diretório de compilação é apenas um diretório no qual o pacote será feito ou "compilado" e pode ser em qualquer diretório. Os exemplos nas seguintes seções usarão ~/builds como o diretório de compilação.

Obtendo arquivos de compilação

Localize o pacote no AUR. Isso pode ser feito usando o recurso de pesquisa (o campo de texto no topo da página inicial do AUR). Ao clicar no nome do aplicativo na lista de resultados de pesquisa, será mostrada uma página de informações sobre o pacote. Leia atentamente a descrição para confirmar que esse é o pacote desejado, veja quando o pacote foi atualizado pela última vez e leia quaisquer comentários.

Há vários métodos para adquirir os arquivos de compilação:

  • Clonar o repositório git que está rotulado como o "Git Clone URL" em "Detalhes do pacote":
$ git clone https://aur.archlinux.org/nome_pacote.git
Uma vantagem deste método é que você pode facilmente obter atualizações para o pacote vi git pull.
  • Baixar os arquivos de compilação com seu navegadores web clicando no link "Baixar snapshot" sob "Ações do Pacote", no canto direito da tela. Isso vai baixar um arquivo compactado, que deve ser extraído (preferivelmente em um diretório definido a parte para compilações do AUR)
$ tar -xvf nome_pacote.tar.gz
  • Similarmente, você pode baixar um tarball do terminal (e extraí-lo):
$ curl -L -O https://aur.archlinux.org/cgit/aur.git/snapshot/nome_pacote.tar.gz

Compilando e instalando o pacote

Mude diretórios para o diretório contendo o PKGBUILD do pacote.

Warning: Verifique com atenção todos os arquivos. Verifique no PKGBUILD e em qualquer arquivo .install por comandos maliciosos. PKGBUILDs são scripts em bash contendo funções para serem executadas pelo makepkg: essas funções podem conter qualquer comando válido ou sintaxe Bash válida. Então, é totalmente possível que um PKGBUILD contenha comandos perigosos por malícia ou ignorância por parte do autor. Já que o makepkg usa fakeroot (e nunca deveria ser executado como root), há ainda um certo nível de proteção, mas você nunca deveria contar somente nisso. Em caso de dúvida, não compile o pacote e procure ajuda nos fóruns ou na lista de discussão.
$ cd nome_pacote
$ nano PKGBUILD
$ nano nome_pacote.install

Crie o pacote. Depois de confirmar, manualmente, a integridade dos arquivos, execute makepkg como usuário normal no diretório de compilação.

$ makepkg -si
  • -s/--syncdeps resolve automaticamente e instala quaisquer dependências com o pacman antes de compilar. Se o pacote depende de outros pacotes do AUR, você precisará instalá-los manualmente primeiro.
  • -i/--install instala o pacote se ele foi compilado com sucesso. Alternativamente, o pacote compilado pode ser instalado com pacman -U pacote.pkg.tar.xz.

Outras flags úteis são

  • -r/--rmdeps remove dependências de tempo de compilação após a compilação, já que elas não mais são necessárias. Porém, essas dependências pode precisar serem reinstaladas da próxima vez que o pacote for atualizado.
  • -c/--clean limpa os arquivos temporários de compilação após a compilação, já que eles não mais são necessários. Esses arquivos geralmente são necessários apenas ao depurar o processo de compilação.
Note: O exemplo acima é apenas um resumo breve do processo de compilação. É altamente recomendado ler os artigos makepkg e ABS para mais detalhes.

Feedback

A Interface Web do AUR possui um recurso de comentários que permite aos usuários enviar sugestões e feedback ao contribuidor do PKGBUILD. Evite colar patches ou PKGBUILDs na seção de comentários. Eles logo tornam-se obsoletos e terminam tomando muito espaço sem necessidade. Ao invés disso, envie por e-mail os arquivos ao mantenedor ou até mesmo use um pastebin.

Uma das atividades mais fáceis para todos os usuários do Arch é navegar no AUR e votar em seus pacotes prediletos, usando a interface online. Todos os pacotes são elegíveis para serem adotados por um TU (Trusted User) para a inclusão no repositório community, e a contagem de votos é uma das coisas levadas em consideração nesse processo; votar é do interesse de todos!

Compartilhando e mantendo pacotes

Note: Por favor veja a discussão sobre escopo da seção AUR4 antes de fazer alterações nesta seção.

Usuários podem compartilhar PKGBUILDs usando o Arch User Repository, o qual não contém pacote binário algum, mas permite aos usuários enviar PKGBUILDs, que podem ser baixados por outros. Esses PKGBUILDs são totalmente não-oficiais e não foram examinados completamente, então eles devem ser usados por sua conta e risco.

Enviando pacotes

Warning: Antes de tentar enviar um pacote, espera-se que você esteja familiarizado com os Arch Packaging Standards (padrões de empacotamento do Arch) e todos os artigos sob "Artigos relacionados". Verifique cuidadosamente se o que você está enviando está correto. Pacotes que violam as regras podem ser excluídos sem qualquer aviso.

Se você de alguma forma esta incerto sobre o pacote ou o processo de compilação/envio mesmo após ler essa seção duas vezes, envie o PKGBUILD para a lista de discussão do AUR, o fórum do AUR nos fóruns do Arch ou peça em nosso canal IRC por revisão pública antes de adicioná-lo ao AUR.

Regras de envio

Ao enviar um pacote para o AUR, observe as seguintes regras:

  • Os PKGBUILDs enviados não devem compilar quaisquer aplicativos já disponíveis em qualquer um dos repositórios oficiais de binários sob qualquer circunstâncias. Verifique a base de dados de pacotes oficiais pelo pacote. Se qualquer versão dele existir, não envie o pacote. Se o pacote oficial está desatualizado, marque-o como tal. Se o pacote oficial está quebrado ou faltando um recurso, por favor preencha um relatório de erro.
Exceção a essa regra estrita pode ser apenas os pacotes tendo recursos extras habilitados e/ou patches em comparação com aqueles oficiais. Em tal ocasião o pkgname deve ser diferente para expressar a diferença. Por exemplo, um pacote para GNU screen contendo o patch de barra lateral poderia ser chamado de screen-sidebar. Além do mais, o vetor provides=('screen') deve ser usado para evitar conflitos com o pacote oficial.
  • Verifique no AUR se o pacote já existe. Se ele já tem um mantenedor, alterações podem ser submetidas em comentários para chamar atenção do mantenedor. Se o pacote não tem um mantenedor ou o mantenedor não responde, o pacote pode ser adotado e atualizado como precisar. Não crie pacotes duplicados.
  • Certifique-se de que o pacote que você deseja é útil. Alguém mais vai querer usá-lo? Ele é extremamente especializado? Se mais de algumas poucas pessoas achariam esse pacote útil, ele é apropriado para envio.
Os repositórios do AUR e oficiais servem par pacotes que, em geral, instalam softwares e conteúdo relacionados com software, incluindo um ou mais dos seguintes: executável(is); arquivo(s) de configuração; documentação online ou offline para softwares específicos ou a distribuição Arch Linux como um todo; mídia para ser usada diretamente por software.
  • Envio de binários deve ser evitado se os fontes estão disponíveis. O AUR não deve conter o tarball binário criado por makepkg, nem deve conter a lista de arquivos.
  • Por favor, adicione uma linha de comentário ao topo do arquivo PKGBUILD que contém informações sobre os mantenedores atuais e contribuidores antigos, respeitando o formato a seguir. Lembre-se de disfarçar seu e-mail para protegê-lo contra spam. Linhas adicionais ou desnecessárias são facultativas.
Se você está assumindo o papel de mantenedor para um PKGBUILD existente, adicione seu nome ao topo desta forma
# Maintainer: Seu Nome <endereço at domínio dot tld>
Se houver mantenedores antigos, coloque-os como contribuidores. O mesmo se aplica para quem enviou o pacote, se não foi você. Se você é um comantenedor, adicione os nome de outros mantenedores atuais também.
# Maintainer: Seu Nome <endereço at domínio dot tld>
# Maintainer: Nome do Outro Mantenedor <endereço at domínio dot tld>
# Contributor: Nome do Mantenedor Anterior <endereço at domínio dot tld>
# Contributor: Nome do Criador do Pacote <endereço at domínio dot tld>

Autenticação

Para acesso de escrita para o AUR, você precisar ter um par de chaves SSH. O conteúdo da chave pública precisa ser copiada para seu perfil em Minha conta e a chave privada correspondente configurada para o endereço aur.archlinux.org. Por exemplo:

~/.ssh/config
Host aur.archlinux.org
  IdentityFile ~/.ssh/aur
  User aur

Você deve criar um novo par de chaves em vez de usar um existente, de forma que você possa seletivamente revogar as chaves caso algo aconteça:

$ ssh-keygen -f ~/.ssh/aur
Tip: Você pode adicionar múltiplas chaves públicas ao seu perfil separando-as com uma nova linha no campo de entrada.

Criando um novo pacote

Para criar um novo repositório Git local vazio para um pacote, basta executar git clone com o nome de repositório correspondendo ao nome do pacote. Se o pacote ainda não existir no AUR, você verá a seguinte mensagem:

$ git clone ssh://aur@aur.archlinux.org/nome_pacote.git
Cloning into 'nome_pacote'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
Note: Quando um pacote do AUR é excluído, o repositório git é mantido, de forma que é possível para um repositório do pacote excluído não estar vazio quando clonado se alguém estiver criando um pacote com o mesmo nome.

Se você já criou um repositório git, você pode simplesmente criar um remoto para o repositório do AUR e então executar "fetch":

$ git remote add nome_remoto ssh://aur@aur.archlinux.org/nome_pacote.git
$ git fetch nome_remoto

sendo nome_remoto o nome do remoto para a ser criado (ex.: "origin"). Veja o uso de remotos no Git para mais informações.

O novo pacote aparecerá no AUR após você executar push no primeiro commit. Você pode adicionar os arquivos fontes à cópia local do repositório Git. Veja #Enviando pacotes.

Warning: Seus commits do AUR serão autorizados de acordo com seu nome de usuário git e endereço de e-mail e é muito difícil de alterar commits após você ter enviado (veja FS#45425). Se você deseja enviar para o AUR sob um nome/e-mail diferente, você pode alterá-los para esse pacote via git config user.name [...] e git config user.email [...]. Reveja seus commits antes de enviá-los!

Enviando pacotes

Tip: Para evitar arquivos não rastreados de commits e manter um diretório de trabalho mais limpo possível, exclua todos os arquivos com .gitignore e force a adição de arquivos. Veja o uso de gitignore.

Os procedimentos para envio de pacotes para o AUR é o mesmo de novos pacotes e atualizações de pacotes. Você precisa pelo menos de um PKGBUILD e um .SRCINFO no diretório de nível superior para poder fazer o push do seu pacote para o AUR.

Para enviar, adicione o PKGBUILD, .SRCINFO e quaisquer arquivos auxiliares (como arquivos .install ou arquivos fontes locais como .patch) à staging area com git add, faça commit deles para sua árvore local com uma mensagem de commit com git commit e, finalmente, publique as alterações para o AUR com git push.

Por exemplo:

$ makepkg --printsrcinfo > .SRCINFO
$ git add PKGBUILD .SRCINFO
$ git commit -m "mensagem útil de commit"
$ git push
Tip: Se você inicialmente se esqueceu de fazer commit do .SRCINFO e adicionou-o em um commit posterior, o AUR ainda rejeitará seus pushes porque o .SRCINFO deve existir para todo commit. Para resolver esse problema, você pode usar git rebase com a opção --root ou git filter-branch com a opção --tree-filter.

Mantendo pacotes

  • Verifique os feedback e comentários de outros usuários e tente incorporar quaisquer melhorias que eles sugerirem; considere isso um processo de aprendizado!
  • Por favor, não envie um comentário contendo a versão toda vez que você atualizar o pacote. Isso deixa a seção de comentário usável para o conteúdo valioso mencionado acima. Auxiliares do AUR são mais adequados para verificar por atualizações.
  • Por favor, não apenas envie e depois esqueça dos pacotes! É trabalho do mantenedor manter o pacote, verificando atualizações e melhorando o PKGBUILD.
  • Se você não quer mais continuar mantendo o pacote por algum motivo, basta abandonar (disown) o pacote usando a interface web do AUR e/ou postar uma mensagem na Lista de Discussão do AUR. Se todos os mantenedores de um pacote AUR o abandonarem, ele se tornará um pacote "órfão".

Outras requisições

  • Requisições para abandono e requisições para remoção de pacotes podem ser criadas clicando no link "Enviar requisição" sob "Ações do pacote" no lado direito da janela. Isso automaticamente uma notificação de e-mail para o atual mantenedor de pacote e para a lista de discussão aur-requests para debate.
  • Requisições de abandono (Disownment Requests) serão concedidas somente após duas semanas se o atual mantenedor não apresentar resposta.
  • Requisições de mesclagem (Merge Requests) são para substituir um outro. Usuários ainda terão que reenviar um pacote sob um novo nome e podem requisitar mesclagem dos comentários e votos da versão anterior. Isso tem nada haver com "git merge" e não é similar aos "pull requests" do github.
  • Requisições de remoção (Removal Requests) precisam das seguintes informações:
    • Motivo para exclusão, com pelo menos uma nota curta
      NOTE: Um comentário em um pacote não necessariamente demonstra suficiente motivo do porquê um pacote deve ser excluído. Isso porque assim que um TU realiza a exclusão, o único lugar que vai manter a tal informação será o e-mail na lista de discussão do aur-requests.
    • Incluir detalhes de suporte, como, por exemplo, quando um pacote é fornecido por outro pacote, se você é o mantenedor do pacote, ele foi renomeado e o dono original concordou, etc.
    • Para requisições de mesclagem: Nome do pacote base para o qual deve ser mescla

Requisições de remoção podem ser negadas, caso em que você provavelmente será aconselhado a abandonar o pacote para a referência de um possível futuro mantenedor.

Repositórios Git para pacotes AUR3

Note: aur-mirror não está mais disponível

O Arquivo do AUR no GitHub possui um repositório para cada repositório que estava no AUR 3 durante a migração para o AUR 4.

Tradução da interface web

Veja i18n.txt na árvore de arquivos fontes do AUR para informações sobre criação e manutenção de tradução da interface web do AUR.

FAQ

O que é o AUR?

O AUR (Arch User Repository) é um lugar para onde a comunidade do Arch Linux pode enviar PKGBUILDs de aplicativos, bibliotecas, etc., e compartilhá-los com toda a comunidade. Outros usuários poderão então votar pelos seus favoritos para que sejam transferidos para o repositório [community] de forma a serem compartilhados com os usuários do Arch Linux em forma de binário.

Que tipo de pacote é permitido no AUR?

Os pacotes no AUR são meramente "scripts de compilação", isto é, receitas para a compilação de binários para o pacman. Na maioria dos casos, tudo é permitido, sujeito à utilidade e escopo das diretrizes, desde que o pacote esteja em conformidade com os termos de licenciamento do conteúdo. Para outros casos, onde é mencionado que "você não pode vincular" a downloads, por exemplo, conteúdos que não são redistribuíveis, você somente pode usar o nome do arquivo como fonte. Isso significa que e requer que os usuários já tenham o fonte restrito no diretório de compilação antes de compilar o pacote. Quando tiver dúvidas, pergunte.

Como posso votar em pacotes no AUR?

Registe-se no site do AUR para obter uma opção "Vote neste pacote" enquanto navega nos pacotes. Após se registrar, também é possível votar a partir da linha de comando com aurvoteAUR, aurvote-gitAUR ou aur-auto-vote-gitAUR.

Alternativamente, se você possui uma autenticação ssh configurada como mencionado acima, você pode votar diretamente a partir da linha de comando usando sua chave ssh. Isso significa que você não precisará salvar ou digitar sua senha AUR.

ssh aur@aur.archlinux.org vote <NOME_PACOTE>

Você pode votar para todos os pacotes AUR instalados com o seguinte:

for i in $(pacman -Qqm); do echo Votando para $i; ssh aur vote $i; done

O que é um Trusted User / TU?

Um (Trusted User), abreviado como TU, é uma pessoa que é escolhida para supervisionar o AUR e o repositório community. Eles são os que mantêm PKGBUILDs populares no community e de forma geral mantêm o AUR funcionando.

Qual é a diferença entre o Arch User Repository e repositório [community]?

O Arch User Repository é onde todos os PKGBUILDs que os usuários submetem são armazenados e têm que ser compilados manualmente com makepkg. Quando os PKGBUILDs recebem interesse e suporte suficiente da comunidade, eles são movidos para o repositório community (mantido pelos TUs), onde os pacotes binários podem ser instalados com o pacman.

Foo no AUR está desatualizado; o que faço?

Para começar, você pode marcar pacotes como desatualizados. Se ele ficar desatualizado por um longo período de tempo, a melhor coisa a ser feita é você mesmo escrever um e-mail para o mantenedor. Se não houver resposta do mantenedor, você pode requisitar que seja tornado órfão. Quando estivermos falando de um pacote que está marcado como desatualizado por mais de 3 meses e em geral não teve atualização por muito tempo, por favor adicione esta informação na sua requisição.

Neste meio tempo, você pode tentar atualizar o pacote você mesmo editando o PKGBUILD - algumas atualizações não exigem qualquer alteração para o processo de compilação ou empacotamento, caso em que apenas atualizar o vetor pkgver ou source é suficiente.

Note: Pacotes VCS não são considerados desatualizados quando o pkgver altera, então por favor não sinalize-os pois o mantenedor irá simplesmente retirar a sinalização e ignorar você. Mantenedores do AUR não devem fazer commits para meramente incrementar o pkgver.

Foo no AUR não compila quando eu executo makepkg; o que devo fazer?

Provavelmente está deixando escapar alguma coisa trivial.

  1. Atualize o sistema antes de compilar qualquer coisa com makepkg, pois o problema pode ser que o seu sistema não está atualizado.
  2. Certifique-se de que tem ambos os grupos base e base-devel instalados.
  3. Tente usar a opção -s com makepkg para verificar e instalar todas as dependências necessárias antes de começar o processo de compilação.

Certifique-se de primeiro ler o PKGBUILD e os comentários na página do AUR do pacote em questão. O motivo pode não ser trivial. CFLAGS, LDFLAGS e MAKEFLAGS personalizadas podem causar falhas. Também é possível que o PKGBUILD esteja realmente incorreto para todos. Se não consegue descobrir por si mesmo, relate o problema ao mantenedor. Por exemplo, publique nos comentários da página do AUR os erros que você está recebendo.

Como eu crio um PKGBUILD?

O melhor recurso é a página wiki sobre criação de pacotes. Lembre-se de olhar no AUR antes de criar o PKGBUILD para evitar retrabalho.

Eu tenho um PKGBUILD que queria enviar; alguém pode verificá-lo para ver se ele tem algum erro?

Se quiser ter o seu PKGBUILD criticado, publique--o para a lista de discussão aur-general para receber feedback dos TUs e de outros membros do AUR. Você também pode conseguir ajuda do Canal IRC, #archlinux-aur em irc.freenode.net. Você também pode usar o namcap para verificar erros no seu PKGBUILD e no pacote resultante.

Como que faz para um PKGBUILD ir para o repositório community?

Normalmente, são necessários pelo menos 10 votos para que alguma coisa seja transferida para community. Contudo, se um TU tiver interesse em dar suporte a um pacote, geralmente este será encontrado no repositório.

Atingir o mínimo de votos não é o único requisito, tem que haver um TU interessado em manter o pacote. TUs não são obrigados a mover um pacote para o repositório community mesmo se este tiver milhares de votos.

Geralmente, quando um pacote muito popular se mantém no AUR é porque:

  • Arch Linux já possui outra versão de um pacote nos repositórios
  • O pacote é relacionado ao AUR (ex.: um auxiliar do AUR)
  • Sua licença proíbe redistribuição

Veja também DeveloperWiki:Community repo candidates e regras para pacotes entrarem no repositório community.

Como o posso agilizar processo de repetidas compilações?

Se você frequentemente compila códigos que usam gcc - digamos, um pacote git ou SVN - você pode encontrar ccache, que é o diminutivo para "compiler cache", útil.

Qual é a diferença entre pacotes foo e foo-git

Muitos pacotes AUR são apresentados nas versões regulares ("estáveis") e de desenvolvimento ("instáveis"). Um pacote de desenvolvimento geralmente possui um sufixo como -cvs, -svn, -git, -hg, -bzr ou -darcs. Enquanto os pacotes de desenvolvimento não são destinados a usos regulares, eles podem oferecer novos recursos ou correções de erros. Por esses pacotes baixarem o mais novo código-fonte disponível ao executar o makepkg, uma versão de pacote para relacionar possíveis atualizações não está diretamente disponível para eles. Da mesma forma, esses pacotes não podem realizar uma verificação de autenticidade da soma de verificação (checksum), dependendo dos mantenedor(es) do repositório Git.

Veja também System maintenance#Use proven software packages ("Use pacotes de software aprovados").

Por que foo desapareceu do AUR?

Pacotes podem ter sido excluídos, se eles não preencherem as #Regras de envio. Veja os histórico do aur-requests pelo motivo da exclusão.

Se o pacote costumava existir no AUR3, ele pode não ter sido migrado para o AUR4. Veja os #Repositórios Git para pacotes AUR3 nos quais eles foram preservados.

Como eu descubro se algum dos meus pacotes instalados desapareceu do AUR?

A forma mais simples é verificar o status HTTP da página AUR do pacote:

$ comm -23 <(pacman -Qqm | sort) <(curl https://aur.archlinux.org/packages.gz | gzip -cd | sort)

Se você está usando um auxiliar do AUR, você pode abreviar esse script substituindo o comando curl com qualquer outro comando de consulta de AUR por um pacote.

Como eu posso obter uma lista de todos os pacotes do AUR?

Veja também