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

From ArchWiki
Jump to: navigation, search
(wikify some external links, use https for archlinux.org)
(update Pkg/AUR templates (https://github.com/lahwaacz/wiki-scripts/blob/master/update-package-templates.py))
 
(20 intermediate revisions by 9 users not shown)
Line 2: Line 2:
 
[[Category:Package development (Português)]]
 
[[Category:Package development (Português)]]
 
[[Category:Package management (Português)]]
 
[[Category:Package management (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]]
Line 16: Line 18:
 
[[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-CN:Arch User Repository]]
 
+
[[zh-TW:Arch User Repository]]
{{Article summary start}}
+
{{Related articles start (Português)}}
{{Article summary text|O Arch User Repository é uma coleção de [[PKGBUILD]]s enviados por usuários que complementa os softwares disponíveis nos [[official repositories|repositórios oficiais]]. Este artigo descreve como criar pacotes de softwares ''unsupported'' no AUR.}}
+
{{Related|AUR helpers}}
{{Article summary heading|Visão Geral}}
+
{{Related|AurJson}}
{{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]].}}
+
{{Related|AUR Trusted User Guidelines (Português)}}
{{Article summary heading|Relacionados}}
+
{{Related|PKGBUILD}}
{{Article summary wiki|AUR Helpers}}
+
{{Related|makepkg (Português)}}
{{Article summary wiki|AUR Trusted User Guidelines}}
+
{{Related|pacman (Português)}}
{{Article summary heading|Recursos}}
+
{{Related|AUR Metadata}}
{{Article summary link|AUR Web Interface|https://aur.archlinux.org}}
+
{{Related|Official repositories}}
{{Article summary link|AUR Mailing List|https://www.archlinux.org/mailman/listinfo/aur-general}}
+
{{Related|Arch Build System}}
{{Article summary end}}
+
{{Related articles end}}
  
 
O [[Arch User Repository]] (AUR), ou 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 [[#.5Bcommunity.5D|[community]]]. Este documento explica como usuários podem acessar e utilizar o AUR.
 
O [[Arch User Repository]] (AUR), ou 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 [[#.5Bcommunity.5D|[community]]]. Este documento explica como usuários podem acessar e utilizar o AUR.
Line 69: Line 71:
  
  
[[AUR Helpers]] (Auxiliares do AUR) adicionam um acesso transparente ao AUR. Suas funcionalidades pode variar, mas eles podem facilitar a pesquisa, aquisição, compilação e instalação de PKGBUILDs encontrados no AUR. Todos esses scripts podem ser encontrados no AUR.
+
[[AUR helpers]] (Auxiliares do AUR) adicionam um acesso transparente ao AUR. Suas funcionalidades pode variar, mas eles podem facilitar a pesquisa, aquisição, compilação e instalação de PKGBUILDs encontrados no AUR. Todos esses scripts podem ser encontrados no AUR.
  
 
{{Nota|Não há e nunca haverá um mecanismo ''oficial'' para instalação do material compilado do AUR. Todos os usuários devem estar familiarizados com o processo de compilação.}}
 
{{Nota|Não há e nunca haverá um mecanismo ''oficial'' para instalação do material compilado do AUR. Todos os usuários devem estar familiarizados com o processo de compilação.}}
Line 95: Line 97:
 
=== Obter arquivos para compilação ===
 
=== Obter arquivos para compilação ===
  
Encontre o pacote no AUR. Isos 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 quaiquer comentários.
+
Encontre 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 quaiquer comentários.
  
Baixe os arquivos necessários para compilação. Na página de informações do pacote, baixe os arquivos de compilação, clicando no link "Tarball" no lado esquerdo, perto 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 é "pkgname".tar.gz, se ele foi submetido do modo certo).
+
Baixe os arquivos necessários para compilação clicando no link "Baixar o tarball" em "Ações do Pacote", no canto direito da tela. 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 é "pkgname".tar.gz, se ele foi submetido do modo certo).
  
 
=== Compile o pacote ===
 
=== Compile o pacote ===
Line 129: Line 131:
 
  # pacman -U foo-0.1-1-i686.pkg.tar.xz   
 
  # pacman -U foo-0.1-1-i686.pkg.tar.xz   
  
Esses pacotes instalados manualmente são chamados de pacotes "foreign" (extrangeiros) — pacotes cuja origem não advém de qualquer repositório conhecido pelo pacman. Para listar todos os pacotes extrangeiros:
+
Esses pacotes instalados manualmente são chamados de pacotes "foreign" (extrangeiros) — pacotes cuja origem não advém de qualquer repositório conhecido pelo pacman. Para listar todos os pacotes extrangeiros:
 
  $ pacman -Qm  
 
  $ pacman -Qm  
  
Line 167: Line 169:
 
* Verifique [core], [extra], e [community] a procura do pacote. Se ele está dentro de um desses repositórios em ALGUMA forma, NÃO envie o pacote (se o pacote atual está quebrado ou sem algum ter incluído algum recurso, favor criar um relatório de bug no [https://bugs.archlinux.org/ FlySpray]).
 
* Verifique [core], [extra], e [community] a procura do pacote. Se ele está dentro de um desses repositórios em ALGUMA forma, NÃO envie o pacote (se o pacote atual está quebrado ou sem algum ter incluído algum recurso, favor criar um relatório de bug no [https://bugs.archlinux.org/ FlySpray]).
 
* Verifique no AUR 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 no AUR 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.
+
* 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.
 
* 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/envio) de alguma forma, envie 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.
 
* Se você não tem certeza sobre o processo de empacotamento (ou de compilação/envio) de alguma forma, envie 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.
Line 207: Line 209:
 
[community], ao contrário do UNSUPPORTED, contém pacotes binários que podem ser instalados diretamente com o [[pacman]] e os arquivos de compilação também podem ser acessados com o [[Arch Build System|ABS]]. Alguns desses pacotes podem eventualmente serem movidos para os repositórios [core] ou [extra], caso os desenvolvedores considerem como crucial para a distribuição.
 
[community], ao contrário do UNSUPPORTED, contém pacotes binários que podem ser instalados diretamente com o [[pacman]] e os arquivos de compilação também podem ser acessados com o [[Arch Build System|ABS]]. Alguns desses pacotes podem eventualmente serem movidos para os repositórios [core] ou [extra], caso os desenvolvedores considerem como crucial para a distribuição.
  
Usuários também podeme acessar os arquivos de compilação do [community] editando o {{ic|/etc/abs.conf}} e habilitando o repositório community no vetor {{Ic|REPOS}}.
+
Usuários também podem acessar os arquivos de compilação do [community] editando o {{ic|/etc/abs.conf}} e habilitando o repositório community no vetor {{Ic|REPOS}}.
  
 
== Repositório Git ==
 
== Repositório Git ==
Line 219: Line 221:
 
== FAQ ==
 
== FAQ ==
  
{{FAQ
+
=== O que é o AUR? ===
|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 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.}}
+
  
{{FAQ
+
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 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.
|question=Que tipo de pacotes é permitido no AUR?
+
|answer=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 mencionada acima e ao escopo das diretrizes, desde que o pacote esteja em conformidade com os termos de licenciamento do conteúdo. Para a maioria dos 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.}}
+
  
{{FAQ
+
=== Que tipo de pacotes é permitido no AUR? ===
|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
+
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 mencionada acima e ao escopo das diretrizes, desde que o pacote esteja em conformidade com os termos de licenciamento do conteúdo. Para a maioria dos 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.
|question=Qual é a diferença entre o Arch User Repository e [community]?
+
|answer=O Arch User Repository é 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
+
=== Como posso votar em pacotes no AUR? ===
|question=Quantos votos são necessários para que um PKGBUILD seja transferido para [community]?
+
|answer=Normalmente, são necessários pelo menos 10 votos para que alguma coisa seja transferida para [community]. Contudo, se um TU quiser dar suporte a um pacote, então este frequentemente vai ser encontrado no repositório.}}
+
  
{{FAQ
+
Registe-se no [https://aur.archlinux.org/ AUR website] para obter uma opção "Vote neste pacote" enquanto navega nos pacotes.
|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
+
=== O que é um TU? ===
|question=Estou a tentar fazer "pacman -S foo"; não está funcionando mas eu sei que está em [community]
+
|answer=Você provavelmente não habilitou o [community] no seu {{ic|/etc/pacman.conf}}. Basta descomentar as linhas relevantes.
+
Se [community] já está habilitado no seu {{ic|/etc/pacman.conf}}, tente executar {{ic|pacman -S -y}} primeiro para sincronizar o cache de pacotes antes de tentar instalar seu pacote novamente.}}
+
  
{{FAQ
+
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.
|question=Foo no AUR está desatualizado; o que faço?
+
|answer=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 escrever um e-mail para a lista de discussão aur-general requisitando que um TU torne o pacote órfão ("Disownment Request"), se você estiver disposto a mantê-lo. 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.}}
+
  
{{FAQ
+
=== Qual é a diferença entre o Arch User Repository e [community]? ===
|question=Eu tenho um PKGBUILD que queria enviar; alguém pode verificá-lo para ver se ele tem algum erro?
+
|answer=Se quiser ter o seu PKGBUILD criticado, envie-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 [[ArchChannel|Canal IRC]], #archlinux em irc.freenode.net. Você também pode usar o [[namcap]] para verificar erros no seu PKGBUILD e no pacote resultante.}}
+
  
{{FAQ
+
O Arch User Repository é 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]].
|question=Foo no AUR não compila quando eu executo makepkg; o que devo fazer?
+
 
|answer=Provavelmente está deixando escapar alguma coisa trivial.
+
=== Quantos votos são necessários para que um PKGBUILD seja transferido para [community]? ===
 +
 
 +
Normalmente, são necessários pelo menos 10 votos para que alguma coisa seja transferida para [community]. Contudo, se um TU quiser dar suporte a um pacote, então este frequentemente vai ser encontrado no repositório.
 +
 
 +
=== Como é que eu faço um PKGBUILD? ===
 +
 
 +
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.
 +
 
 +
=== Estou a tentar fazer "pacman -S foo"; não está funcionando mas eu sei que está em [community] ===
 +
 
 +
Você provavelmente não habilitou o [community] no seu {{ic|/etc/pacman.conf}}. Basta descomentar as linhas relevantes.
 +
Se [community] já está habilitado no seu {{ic|/etc/pacman.conf}}, tente executar {{ic|pacman -S -y}} primeiro para sincronizar o cache de pacotes antes de tentar instalar seu pacote novamente.
 +
 
 +
=== 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 escrever um e-mail para a lista de discussão aur-general requisitando que um TU torne o pacote órfão ("Disownment Request"), se você estiver disposto a mantê-lo. 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.
 +
 
 +
=== 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, envie-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 [[ArchChannel|Canal IRC]], #archlinux em irc.freenode.net. Você também pode usar o [[namcap]] para verificar erros no seu PKGBUILD e no pacote resultante.
 +
 
 +
=== Foo no AUR não compila quando eu executo makepkg; o que devo fazer? ===
 +
 
 +
Provavelmente está deixando escapar alguma coisa trivial.
  
 
# Execute {{ic|pacman -Syyu}} antes de compilar qualquer coisa com {{Ic|makepkg}}, pois o problema pode ser que o seu sistema não está atualizado.
 
# Execute {{ic|pacman -Syyu}} antes de compilar qualquer coisa com {{Ic|makepkg}}, pois o problema pode ser que o seu sistema não está atualizado.
Line 265: Line 271:
  
 
Certifique-se de primeiro ler o PKGBUILD e os comentários na página do AUR do pacote em questã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 é possivel que o PKGBUILD esteja realmente incorreto para todos. Se não consegue descobrir por si mesmo, relate o problema ao mantenedor. Por exemplo, postar nos comentários da página do AUR os erros que você está recebendo.}}
+
O motivo pode não ser trivial. CFLAGS, LDFLAGS e MAKEFLAGS personalizadas podem causar falhas. Também é possivel que o PKGBUILD esteja realmente incorreto para todos. Se não consegue descobrir por si mesmo, relate o problema ao mantenedor. Por exemplo, postar nos comentários da página do AUR os erros que você está recebendo.
 +
 
 +
=== Como o posso agilizar processo de compilação repetitivos? ===
 +
 
 +
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.
 +
 
 +
=== Como é que eu tenho acesso a pacotes não-suportados? ===
  
{{FAQ
+
Veja [[#Instalando pacotes]]
|question=Como o posso agilizar processo de compilação repetitivos?
+
|answer=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
+
=== Como é que eu faço upload para o AUR sem usar a interface web? ===
|question=Como é que eu tenho acesso a pacotes não-suportados?
+
|answer=Veja [[#Instalando pacotes]]}}
+
  
{{FAQ
+
Você pode usar {{pkg|burp}}{{Broken package link|{{aur-mirror|burp}}}}, ''aurploader'' ({{AUR|python3-aur}}) ou {{AUR|aurup}}{{Broken package link|{{aur-mirror|aurup}}}} — eles são programas de linah de comando.
|question=Como é que eu faço upload para o AUR sem usar a interface web?
+
|answer=Você pode usar {{pkg|burp}}, {{AUR|aurploader}} ou {{AUR|aurup}} — eles são programas de linah de comando.}}
+

Latest revision as of 21:16, 9 September 2015

O Arch User Repository (AUR), ou 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 da [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 base-devel).
  • Leia o restante deste artigo para mais informações e um pequeno tutoria sobre a instalação de pacotes do AUR
  • Visite a Interface Web do AUR para se informar sobre acontecimentos e atualizações. Lá você também encontrará estatísticas e uma lista atualizada dos mais novos pacotes disponíveis no AUR.
  • 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 multi-processadores ao ajustar a variável MAKEFLAGS. Os usuários podem também habilitar otimizações específicas de hardware no GCC via a variável CFLAGS. Veja o makepkg.conf para mais informações.

História

Os itens a seguir são listados por motivos históricos, somente. Eles foram substituídos pelo o AUR e não estão mais disponíveis.

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 pacotes ver o programa e adotá-lo.

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

Pesquisando

A Interface Web do AUR pode ser encontrada aqui e uma interface adequada para acessar o AUR por meio de script (por exemplo) pode ser encontrada aqui

As consultas pesquisam por nomes de pacotes e descrições por meio de uma comparação tipo 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. Adquira o tarball contendo o PKGBUILD e quaisquer outros arquivos necessários.
  2. Extraia o tarball (preferivelmente em uma pasta especificamente para compilações do AUR).
  3. Execute makepkg no diretório onde os arquivos foram salvos ("makepkg -s" vai automaticamente resolver as dependências com o pacman)
  4. Instale o pacote resultante com o pacman:
# pacman -U /caminho/para/pkg.tar.xz


AUR helpers (Auxiliares do AUR) adicionam um acesso transparente ao AUR. Suas funcionalidades pode variar, mas eles podem facilitar a pesquisa, aquisição, compilação e instalação de PKGBUILDs encontrados no AUR. Todos esses scripts podem ser encontrados no AUR.

Nota: Não há e nunca haverá um mecanismo oficial para instalação do material compilado do AUR. Todos os usuários devem estar familiarizados com o processo de compilação.

O que segue abaixo é um exemplo detalhado da instalação de um pacote chamado "foo".

Pré-requisitos

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 do AUR presumem que o base-devel está instalado e não listarão os membros deste grupo como dependências, mesmo se os pacotes não puderem ser compilador sem eles. Por favor, certifique-se de que este grupo está instalado antes de se queixar sobre problemas de compilação.
# pacman -S base-devel

Em seguida, escolha um diretório de compilação apropriado. Um diretório de compilação é simplesmente um diretório no qual o pacote será criado ou "compilado", podendo ser qualquer diretório. Exemplos dos diretórios mais comuns são:

~/builds

ou se estiver usando o ABS (o Arch Build System):

/var/abs/local

Para mais informações sobre o ABS, leia o artigo Arch Build System. O exemplo usará ~/builds como o diretório de compilação.

Obter arquivos para compilação

Encontre 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 quaiquer comentários.

Baixe os arquivos necessários para compilação clicando no link "Baixar o tarball" em "Ações do Pacote", no canto direito da tela. 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 é "pkgname".tar.gz, se ele foi submetido do modo certo).

Compile o pacote

Extraia o tarball. Mude o diretório para o de compilação, se já não estiver lá, e extraia os arquivos de compilação

$ cd ~/builds
$ tar -xvzf foo.tar.gz

Isto deve criar um novo diretório chamado "foo" no diretório de construção.

Atenção: Verifique com atenção todos os arquivos. Entre no diretório recém-criado, e procure cuidadosamente por comandos maliciosos no PKGBUILD e em qualquer arquivo .install. 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 por ignorância por parte do autor. Já que o makepkg usa fakeroot (e nunca deveria ser executado como root), ainda há 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 foo
$ nano PKGBUILD
$ nano foo.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 -s

A opção -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 -s do comando acima.

Instalar o pacote

Instale o pacote usando o pacman. Um tarball deve ter sido criado, chamado:

<nome da aplicação>-<número da versão>-<'architecture>.pkg.tar.gz

Este pacote pode ser instalado usando o comando de "upgrade" do pacman:

# pacman -U foo-0.1-1-i686.pkg.tar.xz   

Esses pacotes instalados manualmente são chamados de pacotes "foreign" (extrangeiros) — pacotes cuja origem não advém de qualquer repositório conhecido pelo pacman. Para listar todos os pacotes extrangeiros:

$ pacman -Qm 
Nota: O exemplo acima é apenas um breve resumo do processo de compilação de pacotes. Uma visita as páginas do makepkg e do ABS fornecerá mais detalhes e é altamente recomendado (principalmente para usuários de primeira viagem).

Feedback

A Interface Web do AUR possui um espaço para comentários que permite aos usuários fornecer 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 conta nesse processo; votar é do interesse de todos!


Compartilhando e mantendo pacotes

O usuário tem um papel essencial no AUR, que não pode desenvolver seu potencial sem o suporte, envolvimento e a 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 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

Depois de se conectar à interface web do AUR, o usuário pode enviar um tarball em gzip (.tar.gz) de um diretório contendo arquivos de compilação para um pacote. O diretório dentro do tarball deve conter um PKGBUILD, quaisquer arquivos .install, patches, etc. (absolutamente nenhum binário). Exemplos do que um diretório deve conter pode ser visto dentro de /var/abs se Arch Build System tiver sido instalado.

O tarball pode ser criado com o seguinte comando:

$ makepkg --source

Note 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:

# Lista do conteúdo de um tarball.
 $ tar tf libfoo-0.1-1.src.tar.gz
 libfoo/
 libfoo/PKGBUILD
 libfoo/libfoo.install

Ao enviar um pacote, deve-se observar as seguintes regras:

  • Verifique [core], [extra], e [community] a procura do pacote. Se ele está dentro de um desses repositórios em ALGUMA forma, NÃO envie o pacote (se o pacote atual está quebrado ou sem algum ter incluído algum recurso, favor criar um relatório de bug no FlySpray).
  • Verifique no AUR 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/envio) de alguma forma, envie 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 enviar pacotes. Compile alguns pacotes para aprender o processo e depois envie.
  • Se você submeter um package.tar.gz com uma arquivo chamado 'package' nele, você vai receber uma mensagem de erro: 'Não foi possível alterar o diretório /home/aur/unsupported/package/package'. Para resolver isso, renomeie o arquivo 'package' para alguma coisa diferente. Por exemplo, 'package.rc'. Quando ele estiver instalado no diretório pkg você pode renomeá-lo de volta para 'package'.

Mantendo pacotes

  • Se você mantém um pacote e deseja atualizar o PKGBUILD do seu pacote, basta reenviá-lo.
  • 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 simplesmente 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.

Outras requisições

  • Requisições para abandono e requisições para remoção de pacotes devem ser enviadas para a lista de discussão aur-general direcionada para os TUs e outros usuários, para que seja decida pelos TUs.
  • Inclua o nome do pacote e a URL para a página do AUR, preferivelmente com uma nota de rodapé [1].
  • Requisições de abandono ("Disownment Requests") serão concedidas somente duas semanas após o atual mantenedor tenha sido contactado por e-mail e não havendo resposta dele.
  • Mesclagem de pacotes foi implementada. Os usuários têm que reenviar um pacote sob um novo nome e, então, podem requisitar a mesclagem (Merge Requests)de comentários e votos do pacote antigo para a lista de discussão.
  • Requisições de remoção (Removal Requests) precisam das seguintes informações:
    • Nome do pacote e a URL da página no AUR
    • Motivo para exclusão, com pelo menos uma nota curta
      Repare: Um comentário em um pacote não necessariamente demonstra de suficiente o 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-general.
    • 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.

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.

[community]

O repositório [community], mantido pelos Trusted Users, contém a maioria dos pacotes populares do UNSUPPORTED. Ele é habilitado por padrão no pacman.conf. Se desabilitado/removido, ele pode ser habilitado descomentando/adicionando essas duas linhas:

/etc/pacman.conf
...
[community]
Include = /etc/pacman.d/mirrorlist
...

[community], ao contrário do UNSUPPORTED, contém pacotes binários que podem ser instalados diretamente com o pacman e os arquivos de compilação também podem ser acessados com o ABS. Alguns desses pacotes podem eventualmente serem movidos para os repositórios [core] ou [extra], caso os desenvolvedores considerem como crucial para a distribuição.

Usuários também podem acessar os arquivos de compilação do [community] editando o /etc/abs.conf e habilitando o repositório community no vetor REPOS.

Repositório Git

Um repositório Git do AUR é mantido por Thomas Dziedzic, contendo a história dos pacotes junto com outras coisas. É atualizado pelo menos uma vez por dia. Para clonar o repositório (várias centenas de MB):

$ git clone git://pkgbuild.com/aur-mirror.git

Mais informações: interface Web, readme, tópico no fórum.

FAQ

O que é o AUR?

O AUR (Arch User Repository) é um sítio onde a comunidade do Arch Linux pode fazer upload de PKGBUILDs de aplicações, 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 pacotes é 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 mencionada acima e ao escopo das diretrizes, desde que o pacote esteja em conformidade com os termos de licenciamento do conteúdo. Para a maioria dos 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 AUR website para obter uma opção "Vote neste pacote" enquanto navega nos pacotes.

O que é um TU?

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

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

O Arch User Repository é 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.

Quantos votos são necessários para que um PKGBUILD seja transferido para [community]?

Normalmente, são necessários pelo menos 10 votos para que alguma coisa seja transferida para [community]. Contudo, se um TU quiser dar suporte a um pacote, então este frequentemente vai ser encontrado no repositório.

Como é que eu faço um PKGBUILD?

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.

Estou a tentar fazer "pacman -S foo"; não está funcionando mas eu sei que está em [community]

Você provavelmente não habilitou o [community] no seu /etc/pacman.conf. Basta descomentar as linhas relevantes. Se [community] já está habilitado no seu /etc/pacman.conf, tente executar pacman -S -y primeiro para sincronizar o cache de pacotes antes de tentar instalar seu pacote novamente.

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 escrever um e-mail para a lista de discussão aur-general requisitando que um TU torne o pacote órfão ("Disownment Request"), se você estiver disposto a mantê-lo. 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.

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, envie-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 em irc.freenode.net. Você também pode usar o namcap para verificar erros no seu PKGBUILD e no pacote resultante.

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

Provavelmente está deixando escapar alguma coisa trivial.

  1. Execute pacman -Syyu 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 é possivel que o PKGBUILD esteja realmente incorreto para todos. Se não consegue descobrir por si mesmo, relate o problema ao mantenedor. Por exemplo, postar nos comentários da página do AUR os erros que você está recebendo.

Como o posso agilizar processo de compilação repetitivos?

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.

Como é que eu tenho acesso a pacotes não-suportados?

Veja #Instalando pacotes

Como é que eu faço upload para o AUR sem usar a interface web?

Você pode usar burp[broken link: archived in aur-mirror], aurploader (python3-aurAUR) ou aurupAUR[broken link: archived in aur-mirror] — eles são programas de linah de comando.