# AUR helpers

Warning: None of these tools are officially supported by Arch Linux, therefore it is recommended to become familiar with the manual build process in order to be prepared to troubleshoot problems on one's own.

AUR Helpers are written to make using the Arch User Repository more comfortable.

## Uploading

Script | Description
--- | ---
bbidulock's script | Migrate from a .backup directory with all packages.
aur4_import.sh | Splits a package from a git repository with multiple packages, adding/updating `.SRCINFO` for every commit.
aur4_make_submodule.sh subaur4 | Replaces a package in a bigger git repository with an AUR 4 submodule, including `.SRCINFO`.
import-to-aur4 | Splits an existing git repository into multiple AUR 4 packages, all at once, including `.SRCINFO` for every commit.

## Build and search

This is a list of helper utilities that search and/or build packages.

- apacman — A fork of packer with additional features and bugfixes.

  https://github.com/oshazard/apacman || apacmanAUR

- aura — a secure, multilingual package manager for Arch Linux written in Haskell. Has all pacman options, new ones for managing AUR packages, and a nifty logo.

  https://github.com/fosskers/aura || auraAUR or aura-binAUR (binary)

- aurel — Search, vote and download AUR packages from Emacs (Forum page)

  https://github.com/alezost/aurel || aurelAUR

- aurget — aims to be a simple, pacman-like interface to the AUR. It tries to make the AUR convenient: whether the user wishes to find, download, build, install, or update AUR packages quickly. Aurget does not wrap any pure pacman commands by design.

  http://github.com/pbrisbin/aurget/ || aurgetAUR

- aurquery — caching wrapper around the AUR's RPC interface using the python3-aur library

  http://xyne.archlinux.ca/projects/python3-aur || python3-aurAUR

- burgaur — lightweight front-end for cower (see below) written in Python

  https://github.com/m45t3r/burgaur || burgaurAUR

- cower — fast and simple AUR search and download agent, which will also check for updates and download dependencies. (Forum page)

  https://github.com/falconindy/cower || cowerAUR

- pacaur — fast workflow AUR helper, using cower as its back-end. It aims for speed and simplicity and is designed to minimize user prompt interaction. (Forum page)

  https://github.com/Spyhawk/pacaur || pacaurAUR

- packer — wrapper for pacman and the AUR. It was designed to be a simple and very fast replacement for the basic functionality of Yaourt. It has commands to install, update, search, and show information for any package in the main repositories and in the AUR. Use pacman for other commands, such as removing a package (Forum page)

  https://github.com/keenerd/packer || packerAUR

- pbget — simple command-line tool for retrieving PKGBUILDs and local source files for Arch Linux. It is able to retrieve files from the official SVN and CVS web interface, the AUR, and the ABS rsync server

  http://xyne.archlinux.ca/projects/pbget || pbgetAUR

- PKGBUILDer — An AUR helper with dependency support written in Python 3. It was (probably) the first helper supporting updates through multiinfo. Contains many useful features and is written to be fast and verbose, to eliminate long waiting times.

  https://github.com/Kwpolska/pkgbuilder || pkgbuilderAUR

- trizen — A lightweight wrapper for the AUR written in Perl.

  https://github.com/trizen/trizen || trizenAUR

- wrapaur — A simple pacman and AUR wrapper written in bash to help with everyday package tasks. It depends only on base/base-devel packages and includes dependency resolution and extra features to update the pacman mirror list, notify of package updates, and print the archlinux.org latest news and AUR package comments.

  https://github.com/whahn1983/wrapaur || wrapaurAUR

- yaourt — Wraps installation of both AUR and regular packages, with a syntax similar to pacman.

  http://archlinux.fr/yaourt-en || yaourtAUR

## Maintenance

- pkgbuild-watch — Looks for changes on the upstream web pages

  http://kmkeen.com/pkgbuild-watch || pkgbuild-watchAUR

- pkgbuildup — Help AUR package maintainers automatically update PKGBUILD files. Supports a simple template variable syntax

  Repository: GitHub || pkgbuildup-gitAUR

- pkgcheck — Uses rules in PKGBUILDs to parse upstream version information or looks for changes by checksumming the web page

  https://bbs.archlinux.org/viewtopic.php?id=162816 || Repository: GitHub

- pkgoutofdate — Parses the source URL from PKGBUILDs and tries to find new versions of packages by incrementing the version number and sending requests to the web server

  Repository: GitHub || pkgoutofdate-gitAUR

- mkaur — Simple script that automatically test builds a package, creates the `src.tar.gz` and uploads it to the AUR

  Repository: Github || mkaurAUR

## Others

Other useful libraries.

- haskell-archlinux — library to programmatically access the AUR and package metadata from the Haskell programming language

  http://hackage.haskell.org/package/archlinux || haskell-archlinuxAUR

## Comparison table

Note:

- Secure means that the application, by default, does not source the PKGBUILD at all, or, before doing it, reminds the user and offers him the opportunity to inspect it manually. Some helpers are known to source PKGBUILDs before the user can inspect them, allowing malicious code to be executed. Optional means that there is a command line flag or configuration option to prevent the automatic sourcing before viewing.
- Clean build means that no new variables are exported to the build process.
- Git clone means that the helper uses git clones instead of tarballs in line with AUR 4.

Name | Written In | Git clone | Clean build | Pacman-like Syntax | Shell Tab Completion | Secure (see note above) | Multilingual | Specificity
--- | --- | --- | --- | --- | --- | --- | --- | ---
apacman | Bash | No | Yes | Yes | No | Optional | No | Fork of packer.
aura | Haskell | No | Unknown | Yes | Yes (bash/zsh/fish) | Yes | Yes | Handles backups, downgrades, ABS Support
aurget | Bash | No | Yes | Yes | Yes (bash/zsh) | Optional | No | -
aurel | Emacs Lisp | No | N/A | No | No | Yes | No | Emacs integration.
burgaur | Python 3 | No | Yes | No | No | Optional, with mc | No | Wrapper around cower.
cower | C | No [1] | N/A | No | Yes (bash/zsh) | Yes | No | No automatic build support.
pacaur | Bash/C | No | Yes | Yes | Yes (bash/zsh) | Yes | Yes | Minimizes user interaction.
packer | Bash | No | Yes | Yes | No | Optional | No | -
pbget | Python 3 | No | N/A | No | No | Yes | No | No automatic build support.
PKGBUILDer | Python 3 | Yes | Yes | Yes | No | Optional | Yes | Automatic builds by default, use -F to disable
trizen | Perl | No | Yes | Yes | No | Yes | No | -
wrapaur | Bash | No | Yes | No | Yes (bash) | Yes | No | -
yaourt | Bash/C | No [2] | No [3] | Yes | Yes (bash/zsh/fish) | Yes | Yes | Handles backups, ABS support

## See also

- AUR helpers comparison
- pacman GUI Frontends

Categories:

- Arch User Repository
- Package management