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

From ArchWiki
Jump to: navigation, search
Line 1: Line 1:
[[Category:Português]]
+
[[Category:AUR (Português)]]
 +
[[Category:About Arch (Português)]]
 +
[[Category:Package development (Português)]]
 +
[[Category:Package management (Português)]]
 +
[[Category:Arch development (Português)]]
 
{{i18n|Arch User Repository}}
 
{{i18n|Arch User Repository}}
 
{{Translateme}}
 
{{Translateme}}
  
O repositório de usuário do Arch (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.
+
{{Article summary start}}
 +
{{Article summary text|An overview of the (unsupported) Arch User Repository.}}
 +
{{Article summary heading|Overview}}
 +
{{Article summary text|Packages in Arch Linux are built using [[makepkg]] and a custom build script for each package (known as a [[PKGBUILD]]). Once packaged, software can be installed and managed with [[pacman]]. PKGBUILDs for software in the [[official repositories]] are available from the [[ABS]] tree; thousands more are available from the (unsupported) [[Arch User Repository]].}}
 +
{{Article summary heading|Related}}
 +
{{Article summary wiki|AUR Helpers}}
 +
{{Article summary wiki|AUR Trusted User Guidelines}}
 +
{{Article summary heading|Resources}}
 +
{{Article summary link|AUR Web Interface|http://aur.archlinux.org}}
 +
{{Article summary link|AUR Mailing List|http://www.archlinux.org/mailman/listinfo/aur-general}}
 +
{{Article summary end}}
  
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 comunidade] (diretamente acessível pelo pacman ou abs).
+
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.
  
=Questões Comuns=
+
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 [[#.5Bcommunity.5D|[da comunidade]]] (diretamente acessível pelo <tt>pacman</tt> ou <tt>abs</tt>).
==O que é o AUR ?==
+
AUR (Arch User Repository - Repositório do Usuário Arch) é um local para onde a comunidade Arch Linux pode enviar 
+
PKGBUILDs de aplicações, bibliotecas, etc e compartilhá-los entre todos os seus membros. Outros usuários podem votar pelos seus favoritos para que entrem para o repositório Community (Comunidade), para serem compartilhados entre os usuários Arch Linux em formato binário.
+
  
==O que é um TU?==
+
The [[Arch User Repository]] (AUR) is a community-driven repository for Arch users. It contains package descriptions ([[PKGBUILD]]s) that allow you to compile a package from source with [[makepkg]] and then install it via [[pacman]]. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [[#.5Bcommunity.5D|[community]]] repository. This document explains how users can access and utilize the AUR.
Um TU (Trusted User - Usuário de Confiança) é uma pessoa que é escolhida para zelar pelos repositórios AUR e Community (Comunidade). Eles são os que colocam os PKGBUILDs mais votados no repositório Community (Comunidade), marcam PKGBUILDs como seguros e sobretudo mantém o AUR funcionando.
+
==Qual a diferença entre Unsupported (Não suportado) e Community (Comunidade)?==
+
Unsupported (Não suportado) é onde ficam todos os PKGBUILDs que os usuários enviam, eles devem ser montados manualmente com makepkg.
+
Os PKGBUILDs que obtém votos suficientes vão para o repositório Community (Comunidade), onde os TUs os mantém e de onde podem ser instalados através do pacman, uma vez que eles agora são pacotes binários.
+
  
==Quantos votos são necessários para levar um PKGBUILD para o Community (Comunidade)?==
+
A good number of new packages that enter the official repositories start in the AUR.  In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR.  If a package becomes popular enough -- provided it has a compatible license and good packaging technique -- it may to be entered in the [community] repository (directly accessible by <tt>pacman</tt> or <tt>abs</tt>).
Normalmente são precisos 25 votos para algo ir para o Community (Comunidade). Uma exceção a isso é se uma aplicação é desenvolvida no Arch Linux e um TU deseja colocá-lo diretamente nesse repositório.
+
  
==Onde eu obtenho informação sobre como criar um PKGBUILD?==
+
==Começando==
O melhor local para se obter essa informação é nesta entrada do wiki. Lembre-se de verificar o AUR antes de criar o PKGBUILD de maneira a não duplicar esforços.
+
  
=Problemas Comuns=
+
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]].
Eu tento usar pacman -S foo e não funciona, mas eu sei que ele está em Community (Comunidade).
+
Provavelmente Community não está habilitado no seu /etc/pacman.conf. Simplesmente descomente as linhas correspondentes.
+
==Foo, no AUR está desatualizado, o que eu faço?==
+
Para começar você deve marcá-lo como out-to-date (desatualizado). Se ele continuar desatualizado por um tempo considerável, a melhor coisa a fazer é enviar um email ao mantenedor do pacote. Se não receber resposta do mantenedor você pode solicitar a um TU que coloque o PKGBUILD como órfão (orphan), se estiver disposto a mantê-lo você mesmo.
+
==Eu tenho um PKGBUILD que gostaria de submeter, alguém poderia verificá-lo para ver se há algum erro?==
+
Se você gostaria de ter seu PKGBUILD comentado, poste-o na Lista de Email do AUR para obter retorno dos TUs e membros do AUR.
+
Você pode também obter ajuda da turma do [[ArchChannel|canal irc]]: irc.freenode.net #archlinux
+
  
==Foo, no AUR, não compila quando uso-o com makepkg, o que devo fazer?==
+
* Read the remainder of this article for more info, including:
Bem, primeiramente certifique-se de fazer um pacman -Syu antes de compilar qualquer coisa com makepkg já que o problema pode ser que seu sistema não esteja atualizado.
+
**[[#Installing Packages from the AUR|a short tutorial on installing AUR packages]]
Se não for isso reporte o problema ao mantenedor.
+
**[[#.5Bcommunity.5D|how to enable the [community] repository]] in pacman and ABS.
 +
* Visit the [http://aur.archlinux.org AUR Web Interface] to inform yourself on updates and happenings. There you will also find statistics and an up-to-date list of newest available packages available in AUR.
 +
* Glance over the [[#FAQ]] for answers to the most common questions.
 +
* You may wish to adjust {{Filename|/etc/makepkg.conf}} to better optimize for your processor prior to building packages from the AUR.  A significant improvement in compile times can be realized on systems with multi-core processors by adjusting the MAKEFLAGS variable. Users can also enable hardware-specific optimizations in GCC via the CFLAGS variable.  See [[makepkg.conf]] for more information.
 +
* Install "base-devel" ({{Codeline|pacman -S base-devel}}), because members of this group are not explicitly required by AUR packages which may not build without them (more info in [http://bbs.archlinux.org/viewtopic.php?pid=632355 this thread]).
 +
 
 +
==History==
 +
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.
 +
 
 +
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).
 +
 
 +
==Searching the AUR==
 +
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 '\%'.
 +
 
 +
==Installing Packages from the AUR==
 +
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
 +
 
 +
[[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.
 +
 
 +
{{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".
 +
 
 +
===Prerequisites===
 +
First ensure that the necessary tools are installed. The package group "base-devel" should be sufficient; it includes ''make'' and other tools needed for compiling from source.
 +
 
 +
{{Warning|Packages in the AUR assume "base-devel" is installed, and will not list members of this group as dependencies even if the package cannot be built without them. Please ensure this group is installed before complaining about failed builds.}}
 +
 
 +
# pacman -S base-devel
 +
 
 +
Next choose an appropriate build directory. A build directory is simply a directory where the package will be made or "built" and can be any directory. Examples of commonly used directories are:
 +
 
 +
~/builds
 +
 
 +
or if using ABS (the [[Arch Build System]]):
 +
 
 +
/var/abs/local
 +
 
 +
For more information on ABS read the [[Arch Build System]] article. The example will use {{Filename|~/builds}} as the build directory.
 +
 
 +
===Acquire build files===
 +
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).
 +
 
 +
===Build the package===
 +
Extract the tarball. Change directories to the build directory if not already there and extract the build files.
 +
 
 +
$ cd ~/builds
 +
$ tar -xvzf foo.tar.gz
 +
 
 +
This should create a new directory called "foo" in the build directory.
 +
 
 +
{{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.}}
 +
 
 +
$ cd foo
 +
$ nano PKGBUILD
 +
$ nano foo.install
 +
 
 +
Make the package.  After manually confirming the integrity of the files, run [[makepkg]] as a normal user in the build directory.
 +
 
 +
$ 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.
 +
 
 +
===Install the package===
 +
Install the package using [[pacman]].  A tarball should have been created named:
 +
 
 +
<application name>-<version number>-<architecture>.pkg.tar.gz
 +
 
 +
This package can be installed using [[pacman]]'s "upgrade" command:
 +
 
 +
# pacman -U foo-0.1-i686.pkg.tar.gz 
 +
 
 +
{{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).}}
 +
 
 +
==Sharing PKGBUILDs in UNSUPPORTED==
 +
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.
 +
 
 +
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.
 +
 
 +
===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!
 +
 
 +
==Submitting Packages to UNSUPPORTED==
 +
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:
 +
 +
# List contents of tarball.
 +
$ tar tf libfoo-0.1-1.src.tar.gz
 +
libfoo/
 +
libfoo/PKGBUILD
 +
libfoo/libfoo.install
 +
 
 +
When submitting a package, observe the following rules:
 +
* 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]).
 +
* 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.
 +
* 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.
 +
* Packages that contain binaries or that are very poorly written may be deleted without warning.
 +
* 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.
 +
* 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.
 +
* Gain some experience before submitting packages. Build a few packages to learn the process and then submit.
 +
* 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==
 +
* 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]==
 +
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:
 +
 
 +
{{File
 +
|name=/etc/pacman.conf
 +
|content=<nowiki>
 +
...
 +
[community]
 +
Include = /etc/pacman.d/mirrorlist
 +
...
 +
</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.
 +
 
 +
Users can also access the [community] build files by editing {{Filename|/etc/abs.conf}} and enabling the community repository in the {{Codeline|REPOS}} array.
 +
 
 +
==FAQ==
 +
 
 +
{{FAQ
 +
|question=What is the 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.}}
 +
 
 +
{{FAQ
 +
|question=What is a TU?
 +
|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.}}
 +
 
 +
{{FAQ
 +
|question=What's the difference between [unsupported] and [community]?
 +
|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]].}}
 +
 
 +
{{FAQ
 +
|question=How many votes does it take to get a PKGBUILD into [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.}}
 +
 
 +
{{FAQ
 +
|question=How do I make a PKGBUILD?
 +
|answer=The best resource is [[Creating Packages]]. Remember to look in AUR before creating the PKGBUILD as to not duplicate efforts.}}
 +
 
 +
{{FAQ
 +
|question=I'm trying to do {{Codeline|pacman -S foo}}; it isn't working but I know it's in [community]
 +
|answer=You probably haven't enabled [community] in your {{Filename|/etc/pacman.conf}}. Just uncomment the relevant lines.}}
 +
 
 +
{{FAQ
 +
|question=Foo in AUR is outdated; what do I do?
 +
|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.}}
 +
 
 +
{{FAQ
 +
|question=I have a PKGBUILD I would like to submit; can someone check it to see if there are any errors?
 +
|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
 +
use [[namcap]] to check your PKGBUILD and the resulting package for errors.}}
 +
 
 +
{{FAQ
 +
|question=Foo in AUR doesn't compile when I do {{Codeline|makepkg}}; what should I do?
 +
|answer=You are probably missing something trivial.
 +
 
 +
# Run {{Codeline|pacman -Syyu}} before compiling anything with {{Codeline|makepkg}} as the problem may be that your system is not up-to-date.
 +
# Ensure you have both "base" and "base-devel" groups installed.
 +
# Try using the "{{Codeline|-s}}" option with {{Codeline|makepkg}} to check and install all the dependencies needed before starting the build process.
 +
 
 +
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.}}
 +
 
 +
{{FAQ
 +
|question=How do I access unsupported packages?
 +
|answer=See [[#Installing Packages from the AUR]]}}
 +
 
 +
{{FAQ
 +
|question=How can I upload to AUR without using the web interface?
 +
|answer=You can use [http://aur.archlinux.org/packages.php?ID=23393 aurploader]; a command-line interface.}}

Revision as of 15:23, 10 April 2010

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.


Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어


External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Tango-preferences-desktop-locale.pngThis article or section needs to be translated.Tango-preferences-desktop-locale.png

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Arch User Repository (Português)#)
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 repositório de usuário do Arch, Arch User Repository, (AUR) é um repositório dirigido pela comunidade para usuários do Arch. Ele contém descrições de pacotes (PKGBUILDs) que permitem a você compilar um pacote de um fonte com o makepkg e depois instalar via pacman. O AUR foi criado para organizar e compartilhar novos pacotes da comunidade e ajudar a acelerar a inclusão, dentro do repositório [da comunidade], dos pacotes populares. Este documento explica como usuários podem acessar e utilizar o AUR.

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

The Arch User Repository (AUR) is a community-driven repository for Arch users. It contains package descriptions (PKGBUILDs) that allow you to compile a package from source with makepkg and then install it via pacman. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [community] repository. This document explains how users can access and utilize the AUR.

A good number of new packages that enter the official repositories start in the AUR. In the AUR, users are able to contribute their own package builds (PKGBUILD and related files). The AUR community has the ability to vote for or against packages in the AUR. If a package becomes popular enough -- provided it has a compatible license and good packaging technique -- it may to be entered in the [community] repository (directly accessible by pacman or abs).

Começando

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

  • Read the remainder of this article for more info, including:
  • Visit the AUR Web Interface to inform yourself on updates and happenings. There you will also find statistics and an up-to-date list of newest available packages available in AUR.
  • Glance over the #FAQ for answers to the most common questions.
  • You may wish to adjust Template:Filename to better optimize for your processor prior to building packages from the AUR. A significant improvement in compile times can be realized on systems with multi-core processors by adjusting the MAKEFLAGS variable. Users can also enable hardware-specific optimizations in GCC via the CFLAGS variable. See makepkg.conf for more information.
  • Install "base-devel" (Template:Codeline), because members of this group are not explicitly required by AUR packages which may not build without them (more info in this thread).

History

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 ftp://ftp.archlinux.org/incoming, 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.

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

Searching the AUR

The AUR web interface can be found here, and an interface suitable for accessing the AUR from a script (for example) can be found 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 '\%'.

Installing Packages from the AUR

Installing packages from the AUR (aka the [unsupported] repository) is a relatively simple process. Essentially:

  1. Acquire a PKGBUILD and any other required files (e.g. patches)
  2. Run makepkg in the directory where the files are saved ("makepkg -s" will auto-resolve dependencies with pacman)
  3. Install the resulting package with pacman
$ pacman -U /path/to/pkg.tar.gz

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.

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

Prerequisites

First ensure that the necessary tools are installed. The package group "base-devel" should be sufficient; it includes make and other tools needed for compiling from source.

Warning: Packages in the AUR assume "base-devel" is installed, and will not list members of this group as dependencies even if the package cannot be built without them. Please ensure this group is installed before complaining about failed builds.
# pacman -S base-devel

Next choose an appropriate build directory. A build directory is simply a directory where the package will be made or "built" and can be any directory. Examples of commonly used directories are:

~/builds

or if using ABS (the Arch Build System):

/var/abs/local

For more information on ABS read the Arch Build System article. The example will use Template:Filename as the build directory.

Acquire build files

Locate the package in the AUR. This is done using the search feature (text field at the top of the 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).

Build the package

Extract the tarball. Change directories to the build directory if not already there and extract the build files.

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

This should create a new directory called "foo" in the build directory.

Warning: Carefully check all files. Change directories to the newly created directory and carefully check the Template:Filename and any Template:Filename file for malicious commands. If in doubt, do NOT build the package and seek advice on the forums or mailing list.
$ cd foo
$ nano PKGBUILD
$ nano foo.install

Make the package. After manually confirming the integrity of the files, run makepkg as a normal user in the build directory.

$ makepkg -s

The Template:Codeline switch will use sudo to install any needed dependencies. If the use of sudo is undesirable, manually install required dependencies beforehand and exclude the Template:Codeline in the above command.

Install the package

Install the package using pacman. A tarball should have been created named:

<application name>-<version number>-<architecture>.pkg.tar.gz

This package can be installed using pacman's "upgrade" command:

# pacman -U foo-0.1-i686.pkg.tar.gz   
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).

Sharing PKGBUILDs in UNSUPPORTED

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.

Users can share PKGBUILDs 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.

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

Submitting Packages to UNSUPPORTED

After logging in to the AUR web interface, a user can submit a gzipped tarball (Template:Filename) of a directory containing build files for a package. The directory inside the tarball should contain a Template:Filename, any Template:Filename files, patches, etc. (ABSOLUTELY no binaries). Examples of what such a directory should look like can be seen inside Template:Filename 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:

# List contents of tarball.
$ tar tf libfoo-0.1-1.src.tar.gz
libfoo/
libfoo/PKGBUILD
libfoo/libfoo.install

When submitting a package, observe the following rules:

  • 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 FlySpray).
  • 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.
  • 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.
  • Packages that contain binaries or that are very poorly written may be deleted without warning.
  • 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.
  • 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.
  • Gain some experience before submitting packages. Build a few packages to learn the process and then submit.
  • If you submit a Template:Filename with a file named 'Template:Filename' in it you'll get a an error: 'Could not change to directory Template:Filename'. To resolve this, rename the file named 'Template:Filename' to something else, for example, 'Template:Filename'. When it is installed in the Template:Filename directory you may rename it back to 'Template:Filename'.

Maintaining Packages in UNSUPPORTED

  • 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, disown the package using the AUR web interface and/or post a message to the AUR Mailing List.

[community]

The [community] repository, maintained by Trusted Users, contains the most popular packages from UNSUPPORTED. It is enabled by default in Template:Filename. If disabled/removed, it can be enabled by uncommenting/adding these two lines:

Template:File

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

Users can also access the [community] build files by editing Template:Filename and enabling the community repository in the Template:Codeline array.

FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ

Template:FAQ