pacaur - a fast workflow AUR helper using cower as backend
Usage: pacaur <operation> [ options ] [ package(s) ]
Pacaur is an Arch User Repository (AUR) helper aiming at speed and simplicity, designed to minimize user prompt interaction and to use an uncluttered interface. It is built upon the well designed cower and expac C backends. Invoking pacaur consists of supplying an operation, any applicable options, and usually one or more targets.
Pacaur is targeted at advanced users who want some degree of automation for repetitive tasks. As such, the user is expected to be familiar with the AUR manual build process with makepkg.
Two sets of command line options are provided: commands which call the pacman binary and extend for AUR functions (-S, -Q), and commands which are AUR specific (-s, -i, -d, -m, -y, -k, -u). As such, pacaur can be used by users who prefer to have a single tool to manage officials and AUR repositories, or by users who prefer to keep their AUR frontend separated from pacman.
- -S, -Ss, -Si, -Sii, -Sw, -Su, -Qu, -Sc, -Scc
Pacaur wraps pacman operations and extends respectively its install, search, info, download, update, check updates and clean functions to the AUR. This behavior is optional and can be disabled with the fallback variable in the config file. Pacaur will also pass any pacman related options to the pacman binary.
- -s, --search
Search for packages with the target(s) as the search term(s). Queries with multiple targets will return the result of the intersection of all query results. Extended regex patterns as defined by POSIX are allowed.
- -i, --info
Show info for target. Pass this option twice to fetch more detailed info.
- -d, --download
Download target(s) PKGBUILD. Pass this option twice to fetch dependencies (done recursively).
- -m, --makepkg
Download target(s) PKGBUILD and build target(s). Missing dependencies will be installed as required to ensure the build to succeed, before being automatically uninstalled.
- -y, --sync
Download target(s) PKGBUILD, build and install target(s). Missing dependencies will be automatically installed as required.
- -k, --check
Check foreign packages for updates in the AUR. Without any arguments, all manually installed packages will be checked. If targets are supplied, only those targets will be checked.
- -u, --update
Update foreign packages in the AUR. Without any arguments, all manually installed packages will be updated. If targets are supplied, only those targets will be updated.
- -v, --version
Display version and quit.
- -h, --help
Display the help message and quit.
When cower backend breaks following an update, attempt to fix it by quickly rebuilding it.
- -e, --edit
Edit target(s) PKGBUILD and view install script when downloading or building target(s). Can also be used as a standalone command.
- -c, --clean
Remove target(s) build files after building target(s). Pass this option twice to force cleaning when the cleandevel option is disabled. Can also be used as a standalone command. When passed twice without any arguments, clean the entire build directory.
- -q, --quiet
Show less information for search and query operations. Search will only show package names and not version, group, and description information.
- -a, --aur
When used with pacman extended operations, only search or install packages from the AUR.
- -r, --repo
When used with pacman extended operations, only search or install packages from the repositories.
- -f, --force
Overwrite existing files when downloading.
When used with update operations, also upgrade AUR development packages (supported are cvs, svn, git, hg, bzr and darcs development packages). The build of development packages that are found up-to-date after the source checkout will be skipped.
- --ignore package(s)
Ignore a package upgrade. Can be used more than once. Also accepts a comma delimited list as a single argument. Packages listed in pacman and cower's IgnorePkg directive are honored.
Perform commands without confirmation from the user.
Perform commands without editing any installation files. Bypass --edit option.
Always rebuild package(s) regardless of any existing file in $PKGDEST directory, and regardless of up-to-date status of development packages.
When searching the AUR, ignore all results marked as out of date.
When searching the AUR, also show results marked as out of date. This take precedence over the IgnoreOOD option of the cower config file.
When searching the AUR, sort the results by decreasing number of votes.
When using the secure mode, temporarily enable the full bash dependency solver to allow full $CARCH bash magic compatibility.
When building AUR package(s) as root, allow makepkg to run as root user.
- system config
Pacaur honors a system-wide config file which will be looked for first at
and falling back to
- user config
User-defined configuration files overriding the general settings will be looked for first at
and falling back to
- other config
In addition, pacaur fully honors cower config file. See cower(1).
The available options are:
Define the build directory. Default is $BUILDDIR, with a fallback on /tmp/pacaurtmp-$USER.
Define the editor. Default is $EDITOR, with a fallback on vi.
Enable PKGBUILD editing prompt. Default is true.
Enable install script editing prompt. Default is true.
Extend pacman commands to the AUR. Default is true.
Clean build directory after operation. Default is true.
When clean config option is enabled, clean build directory of development packages. Default is true.
Use cower's internal dependency solver instead of the full bash solver to enhance security. This option breaks compatibility with $CARCH bash magic. Default is false.
Prevent sudo timeout. This option overrides the system-wide sudo configuration. Default is false.
- sudo configuration
To be used with minimal password prompting, sudo should be configured accordingly. See sudoers(5). Alternatively, enable the sudoloop config option. This option will override the system-wide sudo configuration and refresh the sudo timestamp automatically when building packages.
- colored output
Colored output can be enabled with the Color misc option in pacman.conf.
- detailed interface
An interface which displays name, version and size of target packages formatted as a table can be enabled with the VerbosePkgLists misc option in pacman.conf.
- environment variables
Makepkg environment variables ($PACMAN, $PKGDEST, $SRCDEST, $BUILDDIR) are fully honored. See makepkg(8).
- build directory
You might want to change the default build directory (set on /tmp on a temporary filesystem residing in volatile memory) especially when building big packages on a low-memory machine.
- build cleaning
If you want to avoid cleaning up the build directory of packages, disable the clean config option. If you want to avoid cleaning up the build directory of development packages, disable the cleandevel config option. This will speed up the update even if the clean config option is enabled for normal packages. You might also want to change the default temporary directory which is automatically cleared upon reboot.
- secure mode
The secure mode uses cower's internal dependency solver instead of the full bash solver to enhance security. The PKGBUILDs using the $CARCH makepkg variable will not be correctly handled anymore. In normal mode, a notice will however be shown before sourcing if potentially harmful pseudo code is detected.
- broken backend
When cower backend breaks following an update of one of the library it is based on, the --fixbackend option attempts to fix it by quickly rebuilding it. Note that --allanbrokeit is an alias to this option.
- host name error
If a lot of "Couldn't resolve host name" and "Timeout was reached" messages are outputed while checking for updates in spite of the internet line working correctly, ensure your local DNS server is correctly configured to improve queries speed. Using Google primary DNS (184.108.40.206 and 220.127.116.11) might also help.
- alternative installation root
The alternative installation root --root /path option of pacman is not supported. You might want to chroot to the new path and use pacaur from there instead.
cower(1), pacman(8), makepkg(8), sudoers(5)
Remy Marquis <email@example.com>
All credits go to all direct or indirect contributors. Many thanks to all of you!
[de] - Deutsch - Marco "BigBoot" Kirchner, "pszalanski"
[es] - Español - Germán "gosella" Osella Massa
[fr] - Français - "spider-mario"
[it] - Italiano - Demenico "NoMore201" Lezzi
[ja] - 日本語 - Colin "fosskers" Woodbury
[pl] - Polski - Tomasz "Ludvick" Niedzielski
[ru] - Русский - "kyak"