## Arch User Repository (AUR)

The Arch User Repository (AUR) is ready! This release does not contain every feature everyone wanted, but at this stage we think we've implemented the most important features, and we need you to help us make sure they are working properly and reliably. A few months after the initial release, we'll start to prioritize features necessary for the next revision. We'll weigh the suggestions given and decide what additional features to add.

### Leave your feedback in Flyspray!

### Introduction to the AUR

The AUR is a place for community members and TUs (Trusted Users) to work together to bring new packages to Arch Linux users. A TU is a special community member who has earned the trust of the core Arch developers and who wants to help build, test, and debug new Arch packages contributed by members of the community. Only a TU can build a binary package and add it to the "community" repository, which is then accessible via pacman -S.
Any community member may upload new PKGBUILD directory tarballs from the AUR web interface. Those packages will appear in the unsupported repository, and can be viewed and built by other community members, even though they are not yet available in binary form via pacman -S.
The AUR system incorporates a voting system which allows members to vote for the packages in the unsupported repo that they think are useful or interesting. If a TU thinks a package is interesting or has received enough votes, the TU may choose to adopt the package. The TU builds the package, performs some rudimentary testing, and adds it to the community repository, where it can be accessed by any user subscribing to the community repository by running pacman -S. From that point on, the TU will maintain the package in the community repository, and all updates for the package must go through a TU.
If a package gets enough votes or is otherwise deemed interesting by the core Arch development team, the package may be promoted into the extra or current repository. At that point, the package is removed from the AUR and is maintained by the core Arch developers. Alternately, if a TU loses interest in a package, the TU may abandon the package or remove it from the AUR altogether.

### Feedback

We will need your feedback. There is a project set up in Flyspray for the AUR. Please leave your feedback there. Though it will be tempting to email the AUR developers, remember that they will get a lot of email and they won't be able to find yours later when they're going through the feedback. If you put your bugs, comments, and suggestions in Flyspray, they are guaranteed not to get lost.
Flyspray is incredibly easy to use. Take a moment to create an account as soon as you can.

### Using the Community Repository

To access the community repository from pacman, add the following to your pacman.conf:
`[community]
Server = ftp://aur.archlinux.org/community/os/i686`

### What The AUR Means to a Community Member

If you're an Arch Linux community member, the AUR represents a giant step forward in your ability to effectively contribute your work in building Arch packages to the rest of the Arch Linux community. The following steps must ye take to get started:

1. Set yourself up to access the community repository, if desired, by adding the above lines to your pacman.conf.
2. Visit the AUR Site.
3. Create a new user account.
4. Begin uploading packages you have created. You should upload a .tar.gz file containing the PKGBUILD directory. You should not include a binary package file in your upload, just the PKGBUILD and related necessary files for building the package. (Imagine your package had been accepted into current or extra; we want just the files that would be fetched by abs in /var/abs.)
5. Review the other packages in the repository, and vote for the ones you find most interesting. If you're especially interested, browse the package contents and build other packages yourself.

### What The AUR Means to a Trusted User (TU) or an Arch Developer

If you are an Arch Linux Trusted User (TU) or an Arch developer, and you want to get started putting packages in the community repo, do the following:

1. Set your machine up to access the community repository.
2. Run `pacman -S aurtools` to download the AUR client tool.
3. Visit the AUR Site.
4. Create a new user account, using your usual user id.
5. If your web account does not already have TU or developer status, send an email to the TU or developer email list list and ask to have your login modified to have TU/developer status. This step is necessary so we can make sure that the right people are getting the right access.
6. Check out the CVS tree for the community repository. To do this, execute the following commands:
   `# export CVSROOT=":pserver:<userid>@cvs.archlinux.org:/home/cvs-community"
   # cvs login
   # cvs co community`
   If you're a TU, you should already have an account in this new repository. If you are a developer, email Jason (jason at archlinux dot org) and he'll set up access for you if you'd like.
7. Build binary packages for things you wish to place in the community repo, and add the PKGBUILD and accompanying necessary files to the CVS repository. You can do this with:
   `cvs add <directory>
   cd <directory>
   cvs add PKGBUILD
   .
   .
   cvs commit`
8. Upload the binary packages using the "tupkg" tool. Run:
   `
   tupkg --user <userid> --password <password> <packagefile.pkg.tar.gz>`
   Note that this is your AUR login and password -- the one you assign when you create your account, not your CVS password, in case they are different.
9. Once your packages are uploaded successfully, tag the newly created package files with the CURRENT tag in cvs. You can do this with:
   `
   cvs tag -cFR CURRENT <newpackagebuilddir>`
10. In 5-10 minutes, the automated script will add them to the community repository. Verify that they appear both in the web interface and become available via `pacman -Sy <package>` from the community repository.
11. If this package is new to the community repository, select the package in the AUR web interface and set yourself as the maintainer.