Arch User Repository

From ArchWiki

Jump to: navigation, search
Article summary
Provides an overview of the Arch User Repository.
Available in languages
English
Česky
Español
Italiano
Nederlands
Ελληνικά
简体中文
Français
日本語
Related articles
AUR User Guidelines
AUR Trusted User Guidelines
AUR Helpers
External links
AUR Web Interface
AUR Mailing List

The Arch User Repository (AUR for short) is a community-driven repository of PKGBUILDs for Arch users. Packages in the AUR are built using PKGBUILDs and are not pre-built binaries like from the official repositories. The AUR was created to organize and share new packages from the community and to help expedite popular packages' inclusion into the [community] repository.

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

Besides this article, please make sure to read the AUR User Guidelines if you want to be an AUR User, and the AUR Trusted User Guidelines if you plan to be a Trusted User.

Contents

Getting started

Users can search and download PKGBUILDs from the AUR Web Interface. These PKGBUILDs can be built into installable packages using makepkg, then installed using pacman.

  • Read the AUR User Guidelines 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.
  • Take a look at the #FAQ.
  • You may wish to adjust /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 the makepkg.conf for more information.
  • Install "base-devel" (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 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 remained there until a Package Maintainer saw it 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).

FAQ

Common questions

Q: What is AUR?

A: AUR (Arch User Repository) is a place where the Arch Linux community can upload PKGBUILDs 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.

Q: What is a TU?

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

Q: What's the difference between [unsupported] and [community]?

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

Q: How many votes does it take to get a PKGBUILD into [community]?

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

Q: How do I make a PKGBUILD?

A: The best resource is Building Packages in Arch Linux. Remember to look in AUR before creating the PKGBUILD as to not duplicate efforts.

Common problems

Q: I'm trying to do pacman -S foo; it isn't working but I know it's in [community]

A: You probably haven't enabled [community] in your /etc/pacman.conf. Just uncomment the relevant lines. See AUR User Guidelines for details.

Q: Foo in AUR is outdated; what do I do?

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

Q: I have a PKGBUILD I would like to submit; can someone check it to see if there are any errors?

A: 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 IRC channel, #archlinux on irc.freenode.net. You can also use namcap to check your PKGBUILD and the resulting package for errors.

Q: Foo in AUR doesn't compile when I do makepkg; what should I do?

A: You are probably missing something trivial.
  1. Run pacman -Syyu before compiling anything with makepkg as the problem may be that your system is not up-to-date.
  2. Ensure you have both "base" and "base-devel" groups installed.
  3. Try using the "-s" option with 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.

Q: How do I access unsupported packages?

Q: How can I upload to AUR without using the web interface?

A: You can use aurup; a command-line interface.
Personal tools