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

From ArchWiki
Jump to: navigation, search
(Prerequisites)
(correção ortografica)
(25 intermediate revisions by 10 users not shown)
Line 1: Line 1:
[[Category:AUR (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]]
{{i18n|Arch User Repository}}
+
[[da:Arch User Repository]]
{{Translateme}}
+
[[el:Arch User Repository]]
 +
[[en:Arch User Repository]]
 +
[[es:Arch User Repository]]
 +
[[fi:AUR]]
 +
[[fr:AUR]]
 +
[[it:Arch User Repository]]
 +
[[ja:Arch User Repository]]
 +
[[nl:Arch User Repository]]
 +
[[pl:Arch User Repository]]
 +
[[ro:AUR]]
 +
[[ru:Arch User Repository]]
 +
[[sr:Arch User Repository]]
 +
[[tr:Arch_Kullanıcı_Deposu]]
 +
[[uk:Arch User Repository]]
 +
[[zh-CN:Arch User Repository]]
  
 
{{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 15: Line 28:
 
{{Article summary wiki|AUR Trusted User Guidelines}}
 
{{Article summary wiki|AUR Trusted User Guidelines}}
 
{{Article summary heading|Recursos}}
 
{{Article summary heading|Recursos}}
{{Article summary link|AUR Web Interface|http://aur.archlinux.org}}
+
{{Article summary link|AUR Web Interface|https://aur.archlinux.org}}
{{Article summary link|AUR Mailing List|http://www.archlinux.org/mailman/listinfo/aur-general}}
+
{{Article summary link|AUR Mailing List|https://www.archlinux.org/mailman/listinfo/aur-general}}
 
{{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 <tt>pacman</tt> ou <tt>abs</tt>).
+
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 [http://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 [http://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 {{Filename|/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" ({{Codeline|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]).
+
  
==History==
+
== História ==
The following items are listed for historical purposes only. They have since been superseded by the AUR and are no longer available.
+
  
At the beginning, there was <tt><nowiki>ftp://ftp.archlinux.org/incoming</nowiki></tt>, and people contributed by simply uploading the [[PKGBUILD]], the needed supplementary files, and the built package itself to the server. The package and associated files remained there until a [[Package Maintainer]] saw the program and adopted it.
+
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.
  
Then the Trusted User Repositories were born. Certain individuals in the community were allowed to host their own repositories for anyone to use. The AUR expanded on this basis, with the aim of making it both more flexible and more usable. In fact, the AUR maintainers are still referred to as TUs (Trusted Users).
+
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.
  
==Searching the AUR==
+
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).
The AUR web interface can be found [http://aur.archlinux.org/ here], and an interface suitable for accessing the AUR from a script (for example) can be found [http://aur.archlinux.org/rpc.php here]
+
  
Queries search package names and descriptions via a MySQL LIKE comparison. This allows for more flexible search criteria (e.g. try searching for 'tool%like%grep' instead of 'tool like grep'). If you need to search for a description that contains '%', escape it with '\%'.
+
== Pesquisando ==
 +
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]
  
==Installing Packages from the AUR==
+
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.
Installing packages from the AUR (aka the [unsupported] repository) is a relatively simple process. Essentially:
+
# Acquire a [[PKGBUILD]] and any other required files (e.g. patches)
+
# Run [[makepkg]] in the directory where the files are saved ("makepkg -s" will auto-resolve dependencies with [[pacman]])
+
# Install the resulting package with [[pacman]]
+
  
$ pacman -U /path/to/pkg.tar.gz
+
== Instalando pacotes ==
 +
A instalação de pacotes do AUR é um processo relativamente simples. Essencialmente:
 +
# Adquira o tarball contendo o [[PKGBUILD]] e quaisquer outros arquivos necessários.
 +
# Extraia o tarball (preferivelmente em uma pasta especificamente para compilações do AUR).
 +
# 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]]:
  
[[AUR Helpers]] add seamless access to the AUR. They vary in their features, but can ease in searching, fetching, building, and installing from PKGBUILDs found in AUR. All of these scripts can be found in UNSUPPORTED.  
+
: {{bc|# pacman -U /caminho/para/pkg.tar.xz}}
  
{{Note|There is not and will never be an ''official'' mechanism for installing build material from UNSUPPORTED. All users should be familiar with the build process.}}
 
  
What follows is a detailed example of installation of a package called "foo".
+
[[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.
  
===Pré-requisitos===
+
{{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.}}
Primeiro, certifique-se de que as ferramentas necessárias estão instaladas. O grupo do pacote "base-devel" deve ser suficiente; ele inclue o ''make'' e outras ferramentas necessárias para a compilação do fonte.
+
  
{{Warning|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.}}
+
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 {{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á {{Filename|~/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.
  
===Acquire build files===
+
=== Obter arquivos para compilação ===
Locate the package in the AUR. This is done using the search feature (text field at the top of the [http://aur.archlinux.org/ AUR home page]). Clicking the application's name in the search list brings up an information page on the package. Read through the description to confirm that this is the desired package, note when the package was last updated, and read any comments.
+
  
Download the necessary build files. From the package's information page download the build files by clicking the "Tarball" link on the left-hand side near the end of the package details. This file should be saved to the build directory or otherwise copied to the directory after downloading. In this example, the file is called "foo.tar.gz" (standard format is <pkgname>.tar.gz, if it has been properly submitted).
+
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.
  
===Build the package===
+
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).
Extract the tarball. Change directories to the build directory if not already there and extract the build files.
+
 
 +
=== 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
 
  $ tar -xvzf foo.tar.gz
 
  $ tar -xvzf foo.tar.gz
  
This should create a new directory called "foo" in the build directory.
+
Isto deve criar um novo diretório chamado "foo" no diretório de construção.
  
{{Warning|'''Carefully check all files.'''  Change directories to the newly created directory and carefully check the {{Filename|PKGBUILD}} and any {{Filename|.install}} file for malicious commands. If in doubt, do NOT build the package and seek advice on the forums or mailing list.}}
+
{{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 97: Line 113:
 
  $ nano foo.install
 
  $ nano foo.install
  
Make the package. After manually confirming the integrity of the files, run [[makepkg]] as a normal user in the build directory.
+
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
  
The {{Codeline|-s}} switch will use [[sudo]] to install any needed dependencies. If the use of sudo is undesirable, manually install required dependencies beforehand and exclude the {{Codeline|-s}} in the above command.
+
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.
  
===Install the package===
+
=== Instalar o pacote ===
Install the package using [[pacman]].  A tarball should have been created named:
+
  
  <application name>-<version number>-<architecture>.pkg.tar.gz
+
Instale o pacote usando o pacman. Um tarball deve ter sido criado, chamado:
  
This package can be installed using [[pacman]]'s "upgrade" command:
+
<''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:
  
{{Note|The above example is only a brief summary of the package building process. A visit to the [[makepkg]] and [[ABS]] pages will provide more detail and is highly recommended (particularly for first-time users).}}
+
# pacman -U foo-0.1-1-i686.pkg.tar.xz 
  
==Sharing PKGBUILDs in UNSUPPORTED==
+
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:
The user plays an essential role in the AUR, which cannot fulfill its potential without the support, involvement, and contribution of the wider user community. The life-cycle of an AUR package starts and ends with the user and requires the user to contribute in several ways.
+
  $ pacman -Qm
  
Users can '''share''' [[PKGBUILD]]s using the UNSUPPORTED area in the AUR.  UNSUPPORTED does not contain any binary packages but allows users to upload PKGBUILDs that can be downloaded by others. These PKGBUILDs are completely unofficial and have not been thoroughly vetted, so they should be used at your own risk.
+
{{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 ==
A comments facility allows users to provide suggestions and feedback on improvements to the PKGBUILD contributor. Avoid pasting patches or PKGBUILDs into the comments section. They quickly become obsolete and just end up needlessly taking up lots of space. Instead email those files to the maintainer, or even use a [[pastebin Clients|pastebin]] like http://aur.pastebin.com.
+
  
One of the easiest activities for '''all''' Arch users is to browse the AUR and '''vote''' for their favorite packages using the online interface. All packages are eligible for adoption by a TU for inclusion in [community], and the vote count is one of the considerations in that process; it is in everyone's interest to vote!
+
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]].
  
==Submitting Packages to UNSUPPORTED==
+
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!
After logging in to the AUR web interface, a user can [http://aur.archlinux.org/pkgsubmit.php submit] a gzipped tarball ({{Filename|.tar.gz}}) of a directory containing build files for a package. The directory inside the tarball should contain a {{Filename|PKGBUILD}}, any {{Filename|.install}} files, patches, etc. (ABSOLUTELY no binaries). Examples of what such a directory should look like can be seen inside {{Filename|/var/abs}} if [[ABS]] was installed.
+
  
The tarball can be created with the following command:
 
$ makepkg --source
 
  
Note that this is a gzipped tarball; assuming you are uploading a package called ''libfoo'', when you create the file it should look similar to this:
+
== Compartilhando e mantendo pacotes ==
+
 
  # List contents of tarball.
+
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:
 +
 
 +
$ 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:
 +
 
 +
  {{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}}
 +
 
 +
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 [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 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 {{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 ===
  
When submitting a package, observe the following rules:
+
* 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.
* Check [core], [extra], and [community] for the package. If it is inside any of those repositories in ANY form, DO NOT submit the package (if the current package is broken or is lacking an included feature then please file a bug report in [http://bugs.archlinux.org/ FlySpray]).
+
* '''Inclua o nome do pacote e a URL para a página do AUR''', preferivelmente com uma nota de rodapé [1].
* Check UNSUPPORTED for the package. If it is currently maintained, changes can be submitted in a comment for the maintainer's attention. If it is unmaintained, the package can be adopted and updated as required.
+
* 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.
* Verify carefully that what you are uploading is correct. All contributors must read and adhere to the [[Arch Packaging Standards]] when writing PKGBUILDs.  This is essential to the smooth running and general success of the AUR.  Remember you are not going to earn any credit or respect from your peers by wasting their time with a bad PKGBUILD.
+
* '''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.
* Packages that contain binaries or that are very poorly written may be deleted without warning.
+
* Requisições de remoção ('''Removal Requests''') precisam das seguintes informações:
* If you are unsure about the package (or the build/submission process) in any way, submit the PKGBUILD to the AUR Mailing List or the AUR boards on the forum for public review before adding it to the AUR.
+
** Nome do pacote e a URL da página no AUR
* Make sure the package is useful. Will anyone else want to use this package? Is it extremely specialized? If more than a few people would find this package useful, it is appropriate for submission.
+
** 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.
* Gain some experience before submitting packages. Build a few packages to learn the process and then submit.
+
** 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.
* If you submit a {{Filename|package.tar.gz}} with a file named '{{Filename|package}}' in it you'll get a an error: 'Could not change to directory {{Filename|/home/aur/unsupported/package/package}}'. To resolve this, rename the file named '{{Filename|package}}' to something else, for example, '{{Filename|package.rc}}'.  When it is installed in the {{Filename|pkg}} directory you may rename it back to '{{Filename|package}}'.
+
  
==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, <tt>disown</tt> 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 {{Filename|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:  
  
{{File
+
{{hc|/etc/pacman.conf
|name=/etc/pacman.conf
+
|2=<nowiki>
|content=<nowiki>
+
 
...
 
...
 
[community]
 
[community]
Line 165: 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 {{Filename|/etc/abs.conf}} and enabling the community repository in the {{Codeline|REPOS}} array.
+
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}}.
  
==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], [https://bbs.archlinux.org/viewtopic.php?id=113099 tópico no fórum].
 +
 
 +
== FAQ ==
  
 
{{FAQ
 
{{FAQ
|question=What is the AUR?
+
|question=O que é o AUR?
|answer=The AUR (Arch User Repository) is a place where the Arch Linux community can upload [[PKGBUILD]]s of applications, libraries, etc., and share them with the entire community. Fellow users can then vote for their favorites to be moved into the [community] repository to be shared with Arch Linux users in binary form.}}
+
|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
 
{{FAQ
|question=What is a TU?
+
|question=Que tipo de pacotes é permitido no AUR?
|answer=A [[AUR Trusted User Guidelines|TU (Trusted User)]] is a person who is chosen to oversee AUR and the [community] repository. They're the ones who maintain popular PKGBUILDs in [community], mark PKGBUILDs as safe and overall keep AUR running.}}
+
|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
|question=What's the difference between [unsupported] and [community]?
+
|question=O que é um TU?
|answer=[unsupported] is where all PKGBUILDs that users submit are stored, and must be built manually with [makepkg]. When PKGBUILDs receive enough votes, they are moved into the [community] repository, where the TUs maintain binary packages that can be installed with [[pacman]].}}
+
|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
 
{{FAQ
|question=How many votes does it take to get a PKGBUILD into [community]?
+
|question=Qual é a diferença entre o Arch User Repository e [community]?
|answer=Usually, at least 10 votes are required for something to move into [community]. However, if a TU wants to support an package, it will often be found in the repository.}}
+
|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=How do I make a PKGBUILD?
+
|question=Quantos votos são necessários para que um PKGBUILD seja transferido para [community]?
|answer=The best resource is [[Creating Packages]]. Remember to look in AUR before creating the PKGBUILD as to not duplicate efforts.}}
+
|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
|question=I'm trying to do {{Codeline|pacman -S foo}}; it isn't working but I know it's in [community]
+
|question=Como é que eu faço um PKGBUILD?
|answer=You probably haven't enabled [community] in your {{Filename|/etc/pacman.conf}}. Just uncomment the relevant lines.}}
+
|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
 
{{FAQ
|question=Foo in AUR is outdated; what do I do?
+
|question=Estou a tentar fazer "pacman -S foo"; não está funcionando mas eu sei que está em [community]
|answer=For starters, you can flag packages out-of-date. If it stays out-of-date for an extended amount of time, the best thing to do is email the maintainer. If there is no response from the maintainer, you could mail to the aur-general mailing list to have a TU orphan the PKGBUILD if you're willing to maintain it yourself.}}
+
|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=I have a PKGBUILD I would like to submit; can someone check it to see if there are any errors?
+
|question=Foo no AUR está desatualizado; o que faço?
|answer=If you would like to have your PKGBUILD critiqued, post it on the aur-general mailing list to get feedback from the TUs and fellow AUR members. You could also get help from the [[ArchChannel|IRC channel]], #archlinux on irc.freenode.net. You can also
+
|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.}}
use [[namcap]] to check your PKGBUILD and the resulting package for errors.}}
+
  
 
{{FAQ
 
{{FAQ
|question=Foo in AUR doesn't compile when I do {{Codeline|makepkg}}; what should I do?
+
|question=Eu tenho um PKGBUILD que queria enviar; alguém pode verificá-lo para ver se ele tem algum erro?
|answer=You are probably missing something trivial.
+
|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.}}
  
# Run {{Codeline|pacman -Syyu}} before compiling anything with {{Codeline|makepkg}} as the problem may be that your system is not up-to-date.
+
{{FAQ
# Ensure you have both "base" and "base-devel" groups installed.
+
|question=Foo no AUR não compila quando eu executo makepkg; o que devo fazer?
# Try using the "{{Codeline|-s}}" option with {{Codeline|makepkg}} to check and install all the dependencies needed before starting the build process.
+
|answer=Provavelmente está deixando escapar alguma coisa trivial.
  
The reason might not be trivial after all. Custom CFLAGS, LDFLAGS and MAKEFLAGS can cause failures. It's also possible that the PKGBUILD is broken for everyone. If you can't figure it out on your own, just report it to the maintainer.}}
+
# 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.
 +
# 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 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.}}
 +
 
 +
{{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=How do I access unsupported packages?
+
|question=Como é que eu tenho acesso a pacotes não-suportados?
|answer=See [[#Installing Packages from the AUR]]}}
+
|answer=Veja [[#Instalando pacotes]]}}
  
 
{{FAQ
 
{{FAQ
|question=How can I upload to AUR without using the web interface?
+
|question=Como é que eu faço upload para o AUR sem usar a interface web?
|answer=You can use [http://aur.archlinux.org/packages.php?ID=23393 aurploader]; a command-line interface.}}
+
|answer=Você pode usar {{pkg|burp}}, {{AUR|aurploader}} ou {{AUR|aurup}} &mdash; eles são programas de linah de comando.}}

Revision as of 21:40, 3 January 2013

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

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