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

From ArchWiki
Jump to: navigation, search
(rm temporary i18n template)
(massive update)
Line 1: Line 1:
 
[[Category:Arch User Repository (Português)]]
 
[[Category:Arch User Repository (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)]]
 
 
[[cs:Arch User Repository]]
 
[[cs:Arch User Repository]]
 
[[da:Arch User Repository]]
 
[[da:Arch User Repository]]
Line 9: Line 7:
 
[[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 13:
 
[[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]]
Line 19: Line 19:
 
[[uk:Arch User Repository]]
 
[[uk:Arch User Repository]]
 
[[zh-CN:Arch User Repository]]
 
[[zh-CN:Arch User Repository]]
{{Translateme}}
 
  
 
{{Article summary start}}
 
{{Article summary start}}
{{Article summary text|An overview of the (unsupported) Arch User Repository.}}
+
{{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.}}
 
{{Article summary heading|Visão Geral}}
 
{{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 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]].}}
Line 33: Line 32:
 
{{Article summary end}}
 
{{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.
+
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.
  
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}}).
+
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|[community]]] (diretamente acessível pelo [[pacman]] ou [[ABS|abs]]).
  
==Começando==
+
== Começando ==
  
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]].
+
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]], e depois instalados usando pacman.
  
* Leia o restante deste artigo para mais informações, incluindo:
+
* Certifique-se de que o grupo de pacotes {{Grp|base-devel}} está instalado ({{ic|pacman -S base-devel}}).
**[[#Instalação dos pacotes do AUR|um pequeno tutorial sobre como instalar os pacotes do AUR]]
+
* Leia o restante deste artigo para mais informações e um pequeno tutoria sobre a instalação de pacotes do AUR
**[[#.5Bcommunity.5D|como habilitar o repositório da [comunidade]]] no pacman e no ABS.
+
* Visite a [https://aur.archlinux.org 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.
* 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 das questões mais comuns.
* Veja o [[#FAQ]] para respostas as 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 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.
* 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.
+
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 {{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.
+
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 [[Package Maintainer|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 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).
+
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).
  
== 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]
+
A Interface Web do AUR pode ser encontrada [https://aur.archlinux.org/ aqui] e uma interface adequada para acessar o AUR por meio de 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 '\%'.
+
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 do AUR==
+
== Instalando pacotes ==
Instalar pacotes do AUR é um processo relativamente simples. Essencialmente:
+
A instalação de pacotes do AUR é um processo relativamente simples. Essencialmente:
# Adquira um [[PKGBUILD]] e qualquer outros arquivos requeridos (e.g. patches)
+
# Adquira o tarball contendo o [[PKGBUILD]] e quaisquer outros arquivos necessários.
# Execute [[makepkg]] no diretório onde os arquivos foram salvos("makepkg -s" auto-resolverá as dependências com o [[pacman]])
+
# Extraia o tarball (preferivelmente em uma pasta especificamente para compilações do AUR).
# Instale o pacote resultante com o [[pacman]]
+
# Execute [[makepkg]] no diretório onde os arquivos foram salvos ("makepkg -s" vai automaticamente resolver as dependências com o pacman)
 +
# Instale o pacote resultante com o [[pacman]]:
  
$ pacman -U /caminho/para/pkg.tar.gz
+
: {{bc|# pacman -U /caminho/para/pkg.tar.xz}}
  
[[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.
 
  
{{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.}}
+
[[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.
  
O que segue é um exemplo detalhado da instalação de um pacote chamado "foo".
+
{{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.}}
  
===Pré-requisitos===
+
O que segue abaixo é um exemplo detalhado da instalação de um pacote chamado "foo".
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.}}
+
=== Pré-requisitos ===
 +
 
 +
Primeiro, certifique-se de que as ferramentas necessárias estão instaladas. O grupo do pacote {{grp|base-devel}} deve ser suficiente; ele inclui o {{pkg|make}} e outras ferramentas necessárias para a compilação do fonte.
 +
 
 +
{{Atenção|Os pacotes do AUR presumem que o {{grp|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
 
  # pacman -S base-devel
  
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:
+
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
 
  ~/builds
  
ou se usar o ABS (o [[Arch Build System]]):
+
ou se estiver usando o ABS (o [[Arch Build System]]):
  
 
  /var/abs/local
 
  /var/abs/local
  
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.
+
Para mais informações sobre o ABS, leia o artigo [[Arch Build System]]. O exemplo usará {{ic|~/builds}} como o diretório de compilação.
  
===Obter arquivos de construção===
+
=== Obter arquivos para compilação ===
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.
+
  
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).
+
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.
  
===Construa o pacote===
+
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).
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
+
 
 +
=== 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
 
  $ cd ~/builds
Line 106: Line 107:
 
Isto deve criar um novo diretório chamado "foo" no diretório de construção.
 
Isto deve criar um novo diretório chamado "foo" no diretório de construçã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.}}
+
{{Atenção|'''Verifique com atenção todos os arquivos.'''  Entre no diretório recém-criado, e procure cuidadosamente por comandos maliciosos no {{ic|PKGBUILD}} e em qualquer arquivo {{ic|.install}}. {{ic|PKGBUILD}}s são scripts em bash contendo funções para serem executadas pelo {{ic|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 por ignorância por parte do autor. Já que o {{ic|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
 
  $ cd foo
Line 112: Line 113:
 
  $ nano foo.install
 
  $ nano foo.install
  
Crie o pacote. Depois de confirmar, manualmente, a integridade dos arquivos, execute [[makepkg]] como usuário normal no diretório de construção.
+
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
 
  $ makepkg -s
Line 118: Line 119:
 
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.
 
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.
  
===Instale o pacote===
+
=== Instalar o pacote ===
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
+
Instale o pacote usando o pacman. Um tarball deve ter sido criado, chamado:
  
Este pacote pode ser instalado usando o comando de "upgrade" do [[pacman]]:
+
<''nome da aplicação''>-<''número da versão''>-<'architecture''>.pkg.tar.gz
  
# pacman -U foo-0.1-i686.pkg.tar.gz 
+
Este pacote pode ser instalado usando o comando de "upgrade" do pacman:
  
{{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).}}
+
  # pacman -U foo-0.1-1-i686.pkg.tar.xz 
  
==Compartilhando PKGBUILDs no SEM SUPORTE==
+
Esses pacotes instalados manualmente são chamados de pacotes "foreign" (extrangeiros) &mdash; pacotes cuja origem não advém de qualquer repositório conhecido pelo pacman. Para listar todos os pacotes extrangeiros:
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.
+
$ pacman -Qm
  
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.
+
{{Nota|O exemplo acima é apenas um breve resumo do processo de compilação de pacotes. Uma visita as páginas do [[makepkg]] e do [[Arch Build System|ABS]] fornecerá mais detalhes e é altamente recomendado (principalmente para usuários de primeira viagem).}}
  
===Feedback===
+
== Feedback ==
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.
+
 
 +
A [https://aur.archlinux.org 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 Clients|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!
 
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!
  
==Submetendo Pacotes para SEM SUPORTE==
 
  
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.
+
== 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 [https://aur.archlinux.org/pkgsubmit.php enviar] 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'' nenhum binário). Exemplos do que um diretório deve conter pode ser visto dentro de {{ic|/var/abs}} se [[Arch Build System]] tiver sido instalado.
  
 
O tarball pode ser criado com o seguinte comando:
 
O tarball pode ser criado com o seguinte comando:
 +
 
  $ makepkg --source
 
  $ 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:
+
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.
+
  {{hc|# Lista do conteúdo de um tarball.
 
  $ tar tf libfoo-0.1-1.src.tar.gz
 
  $ tar tf libfoo-0.1-1.src.tar.gz
 
  libfoo/
 
  libfoo/
 
  libfoo/PKGBUILD
 
  libfoo/PKGBUILD
  libfoo/libfoo.install
+
  libfoo/libfoo.install}}
  
Quando submeter um pacote, deve ser observado as seguintes regras:
+
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 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 [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 [http://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 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/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.
+
* 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.
 
* 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.
+
* Adquira alguma experiência antes de enviar pacotes. Compile alguns pacotes para aprender o processo e depois envie.
* 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}}'.
+
* Se você submeter um {{ic|package.tar.gz}} com uma arquivo chamado '{{ic|package}}' nele, você vai receber uma mensagem de erro: 'Não foi possível 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}}'.
 +
 
 +
=== 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 ({{ic|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 <br> '''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.
  
==Maintaining Packages in UNSUPPORTED==
+
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.
* 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]==
+
== [community] ==
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:  
+
O repositório [community], mantido pelos [[Trusted Users]], contém a maioria dos pacotes populares do UNSUPPORTED. Ele é habilitado por padrão no {{ic|pacman.conf}}. Se desabilitado/removido, ele pode ser habilitado descomentando/adicionando essas duas linhas:  
  
 
{{hc|/etc/pacman.conf
 
{{hc|/etc/pacman.conf
Line 180: Line 205:
 
</nowiki>}}
 
</nowiki>}}
  
[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.
+
[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.
  
Users can also access the [community] build files by editing {{ic|/etc/abs.conf}} and enabling the community repository in the {{Ic|REPOS}} array.
+
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}}.
  
==FAQ==
+
== 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 <nowiki>git://pkgbuild.com/aur-mirror.git</nowiki>
 +
 
 +
Mais informações: [http://pkgbuild.com/git/aur-mirror.git/ interface Web], [http://pkgbuild.com/~td123/readme readme], [http://bbs.archlinux.org/viewtopic.php?id=113099 tópico no fórum].
 +
 
 +
== FAQ ==
  
 
{{FAQ
 
{{FAQ
 
|question=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 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.}}
+
|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
 +
|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
 
{{FAQ
Line 195: Line 232:
  
 
{{FAQ
 
{{FAQ
|question=Qual é a diferença entre [unsupported] e [community]?
+
|question=Qual é a diferença entre o Arch User Repository 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]].}}
+
|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
 
{{FAQ
|question=Quantos votos são precisos para que um PKGBUILD seja transferido para [community]?
+
|question=Quantos votos são necessários 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.}}
+
|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
 
{{FAQ
Line 207: Line 244:
  
 
{{FAQ
 
{{FAQ
|question=Estou a tentar fazer {{Ic|pacman -S foo}}; não está a funcionar mas eu sei que está em [community]
+
|question=Estou a tentar fazer "pacman -S foo"; não está funcionando mas eu sei que está em [community]
|answer=Provavelmente não activou [community] no seu {{ic|/etc/pacman.conf}}. Basta descomentar as linhas relevantes.}}
+
|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
 
{{FAQ
|question=Foo no AUR está desactualizado; o que faço?
+
|question=Foo no AUR está desatualizado; 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.}}
+
|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
 
{{FAQ
|question=Eu tenho um PKGBUILD que queria submeter; alguém pode verificá-lo para ver se tem algum erro?
+
|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, 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.}}
+
|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
 
{{FAQ
|question=Foo no AUR não compila quando eu faço {{Ic|makepkg}}; o que devo fazer?
+
|question=Foo no AUR não compila quando eu executo makepkg; o que devo fazer?
|answer=Provavelmente está em falta alguma coisa trivial.
+
|answer=Provavelmente está deixando escapar 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.
+
# 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.
# Verifique que tem ambos os grupos "base" e "base-devel" instalados.
+
# Certifique-se de 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.
+
# 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.
  
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.}}
+
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.}}
 +
 
 +
{{FAQ
 +
|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
 
{{FAQ
 
|question=Como é que eu tenho acesso a pacotes não-suportados?
 
|question=Como é que eu tenho acesso a pacotes não-suportados?
|answer=Veja [[#Installing Packages from the AUR]]}}
+
|answer=Veja [[#Instalando pacotes]]}}
  
 
{{FAQ
 
{{FAQ
 
|question=Como é que eu faço upload para o AUR sem usar a interface web?
 
|question=Como é que eu faço upload para o AUR sem usar a interface web?
|answer=Pode usar [https://aur.archlinux.org/packages.php?ID=23393 aurploader]; uma interface de linha de comandos.}}
+
|answer=Você pode usar {{pkg|burp}}, {{AUR|aurploader}} ou {{AUR|aurup}} &mdash; eles são programas de linah de comando.}}

Revision as of 03:45, 16 October 2012

Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary link Template:Article summary link Template:Article summary 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 [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. Isos 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. 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).

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
Template error: are you trying to use the = sign? Visit Help:Template#Escape template-breaking characters for workarounds.

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 podeme 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

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ