pacaur - a fast workflow AUR helper using cower as backend
Usage: pacaur <operation> [ options ] [ target(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. A target is usually a package name or a search string.
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 and its configuration options, as well as being knowledgeable about sudo and gpg configuration.
Two sets of command line options are provided: commands which call the pacman binary and extend for AUR functions (-S, -Ss, -Si, -Sw, -Su, -Qu, -Sc, -Scc), 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, -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(s).
- -d, --download
-
Download target(s) PKGBUILD. Pass this option twice to fetch dependencies (done recursively).
- -m, --makepkg
-
Download 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 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 target(s) are supplied, only those packages will be checked.
- -u, --update
-
Update foreign packages in the AUR. Without any arguments, all manually installed packages will be updated. If target(s) are supplied, only those packages will be updated.
- -v, --version
-
Display version and quit.
- -h, --help
-
Display the help message and quit.
- -e, --edit
-
Edit PKGBUILD and view install script when downloading or building target(s). Can also be used as a standalone command.
- -c, --clean
-
Remove 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 target(s) from the AUR.
- -r, --repo
-
When used with pacman extended operations, only search or install target(s) from the repositories.
- -f, --force
-
Overwrite existing files when downloading target(s) PKGBUILD.
- --devel
-
When used with update and check operations, also consider AUR development packages (supported are cvs, svn, git, hg, bzr and darcs development packages, as well as nightly build packages).
- --ignore target(s)
-
Ignore a target 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.
- --needed
-
Do not reinstall target(s) that are already up to date. The build of development packages (supported are svn, git, hg and bzr development packages) that are found up-to-date after the source checkout will be skipped.
- --noconfirm
-
Perform commands without confirmation from the user.
- --noedit
-
Perform commands without editing any installation files. Bypass the --edit option.
- --rebuild
-
Always rebuild packages regardless of any existing file in $PKGDEST directory, and regardless of up-to-date status of development packages.
- --silent
-
Enable silent output. This will send the output of the makepkg build() function to a text file in the build directory named pkgname-pkgver-pkgrel-arch.log. Additional pacman output for providers and cached packages installation will also be hidden.
- --ignore-ood
-
When searching the AUR, ignore all results marked as out of date.
- --no-ignore-ood
-
When searching the AUR, also show results marked as out of date. This take precedence over the IgnoreOOD option of the cower config file.
- --asort
-
When searching the AUR, sort the results by alphabetical order.
- --vsort
-
When searching the AUR, sort the results by decreasing number of votes.
- system config
-
Pacaur honors a system-wide config file which will be looked for first at
$XDG_CONFIG_DIRS/pacaur/config
and falling back to
/etc/xdg/pacaur/config
- user config
-
User-defined configuration files overriding the general settings will be looked for first at
$XDG_CONFIG_HOME/pacaur/config
and falling back to
$HOME/.config/pacaur/config
- other config
-
In addition, pacaur fully honors cower config file. See cower(1).
The available options are:
- builddir
-
Define the build directory. Default is $BUILDDIR, with a fallback on /tmp/pacaurtmp-$USER.
- editor
-
Define the editor. Default is $EDITOR, with a fallback on vi.
- editpkgbuild
-
Enable PKGBUILD editing prompt. Default is true.
- editinstall
-
Enable install script editing prompt. Default is true.
- fallback
-
Extend pacman commands to the AUR. Default is true.
- clean
-
Clean build directory after operation. Default is true.
- cleandevel
-
When clean config option is enabled, clean build directory of development packages. Default is true.
- sortbyvotes
-
When searching the AUR, sort the results by decreasing number of votes. Default is true.
- sudoloop
-
Prevent sudo timeout. This option overrides the system-wide sudo configuration and refresh the sudo timestamp automatically in a loop when building packages. Default is false.
- dependency solver and missing metadata
-
The dependency tree is solved using the full secured RPC AUR interface. Packages which are missing AUR metadata may however not provide correct dependencies information.
All packages uploaded to the AUR before 2014-05-27 18:35 UTC (AUR 3.0.0 release) and packages that use architecture-specific fields uploaded to the AUR before 2014-12-29 02:37 UTC (pacman 4.2 release in [core]) are concerned and should be reuploaded by their respective maintainers. If you encounter such packages, please notify their maintainer about their missing AUR metadata status.
Enforced reupload of all packages to the AUR is currently planned for AUR 4.0.0.
- sudo configuration
-
To be used with minimal password prompting, sudo should be configured accordingly. See sudoers(5). Alternatively, enable the sudoloop config option.
- pacman misc options
-
Miscellaneous options enabled in pacman.conf are taken into account. Thus, colored output can be enabled with the Color option, while a detailed interface displaying name, version and size of packages formatted as a table is available through the VerbosePkgLists option.
- 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. Alternatively, you can enable source caching with the makepkg $SRCDEST environment variable.
- interactive PKGBUILDs
-
Packages requiring user input while building are not supported and might fail to install properly. There are currently no official directive about these interactives PKGBUILDs, but some of the official pacman developers expressed the opinion that PKGBUILDs should always provide default compilation options.
- 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 (8.8.8.8 and 8.8.4.4) 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 <remy.marquis@gmail.com>
All credits go to all direct or indirect contributors. Many thanks to all of you!
[ca] - Català - Alex "alexhenrie" Henrie
[de] - Deutsch - Marco "BigBoot" Kirchner, "HerrNieschnell", "pszalanski", Stefan "rumpelsepp" Tatschner
[es] - Español - Germán "gosella" Osella Massa
[fr] - Français - "spider-mario", "Neitsab"
[it] - Italiano - Demenico "NoMore201" Lezzi
[ja] - ��� - Colin "fosskers" Woodbury
[pl] - Polski - Tomasz "Ludvick" Niedzielski
[pt] - Português - Thiago "thiagowfx" Barroso Perrotta
[ru] - Р���кий - "kyak"
[tr] - Türkçe - Volkan "wakeup" Gezer