/pacaur

A fast workflow AUR helper using cower as backend

Primary LanguageShell

NAME

pacaur - a fast workflow AUR helper using cower as backend

SYNOPSIS

Usage: pacaur <operation> [ options ] [ target(s) ]

DESCRIPTION

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.

USERBASE TARGET

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.

OPERATIONS

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

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.

OPTIONS

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

CONFIG FILE

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

CONFIG OPTIONS

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.

NOTES

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.

SEE ALSO

cower(1), pacman(8), makepkg(8), sudoers(5)

AUTHOR

Remy Marquis <remy.marquis@gmail.com>

All credits go to all direct or indirect contributors. Many thanks to all of you!

TRANSLATORS

[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