AURACLE(1)

NAME
auracle - an AUR client with a focus on flexibility

SYNOPSIS
auracle [OPTIONS...] COMMAND [ARGS...]

DESCRIPTION
auracle is a tool for querying information stored by the Arch User Repository (AUR). Invoking auracle consists of supplying an operation, any applicable options, and usually one or more arguments.

OPTIONS

--color=
    Control colored output. Argument must be one of auto, never, or always. When set to auto, color will be enabled if stdout is connected to a terminal.

    This option defaults to auto.

-h, --help
    Print a short help text and exit.

--literal
    When used with the search command, interpret all search terms as literal, rather than as regular expressions.

--quiet
    When used with the search and outdated commands, output will be limited to package names only.

-r, --recurse
    When used with the clone command, recursively follow and clone dependencies of each given argument.

--resolve-deps=DEPLIST
    When performing recursive operations, control the kinds of dependencies that auracle will consider. By default, this is all dependency kinds -- depends, makedepends, and checkdepends. This flag takes a comma-delimited string value with one to many of these dependency kinds.

    Additionally, some special syntax exists to make this more composable. A leading ! or ^ character will cause dependencies to be removed from the set, whereas a leading + will cause dependencies to be added to the set. These special indicators are only understood when they appear as the first character in the string and never after a comma.

    Specifying this flag multiple times is additive, for example:

      auracle buildorder --resolve-deps=depends --resolve-deps=+makedepends

    Is the same as depends,makedepends or ^checkdepends.

--searchby=BY
    When used with the search and rawsearch commands, change the search dimension. BY must be one of name, name-desc, maintainer, depends, makedepends, optdepends, checkdepends, submitter, provides, conflicts, replaces, keywords, groups, or comaintainers.

    This option defaults to name-desc.

--sort=KEY, --rsort=KEY
    For search and info queries, sorts the results in ascending and descending order, respectively. KEY must be one of: name, popularity, votes, firstsubmitted, or lastmodified.

    This option defaults to sorting by name in ascending order.

--show-file=FILE
    Name of the file to fetch with the show command.

    This option defaults to PKGBUILD.

-C DIR, --chdir=DIR
    Change directory to DIR before performing any actions. Only useful with the clone command.

--proxyURL
    Specifies the URL to a proxy server that can handle the /rpc/v5/info and /rpc/v5/search endpoints of the AUR. This could be a local implementation which performs caching or serves from the packages json file.

COMMANDS

buildorder PACKAGES...
    Pass one to many arguments to print a build order for the given packages. The resulting output will be the total ordering to build all packages. Each line is at least two columns delimited by a single whitespace. The first column contains an identifier and the second column names the dependency. Possible identifiers are:

        AUR The dependency was found in the AUR and needs to be built and installed. The output will contain an additional column of the pkgbase the package is provided by.

        REPOS The dependency was found in a binary repo and can be installed via pacman.

        UNKNOWN The dependency was unable to be found anywhere. This might indicate a broken dependency chain. The output will contain additional columns denoting the dependency path that was walked (in reverse) to get to the missing dependency.

    Additionally, both of AUR and REPOS can be prefixed with SATISFIED to indicate that the dependency is already installed. AUR may be prefixed with TARGET to indicate that the package was explicitly specified on the commandline.

clone PACKAGES...
    Pass one to many arguments to get clone git repositories. Use the --recurse flag to get dependencies of packages. If the git repository already exists, the repository will instead be updated. A best effort attempt will be made to preserve existing local changes to packages. Auracle will instruct git to autostash staged changes and will then rebase new incoming changes before unstashing. This is intended to handle the case of makepkg updating the pkgver attribute of PKGBUILDs but may not handle more complex changes made by a local user.

info PACKAGES...
    Pass one to many arguments to perform an info query.

rawinfo PACKAGES...
    Dump the raw JSON response from the AUR for an info request.

rawsearch TERMS...
    Dump the raw JSON response from the AUR for search requests formed from the given terms.

search TERMS...
    Pass one to many arguments to perform a search query. Results will be the intersection of all terms. Terms may be a regular expression as described by the POSIX extended regex specification.

    NOTE: the AUR does not actually support searching by regular expressions and support in auracle is implemented on a best-effort basis.

resolve TERMS...
    Pass one to many dependency string arguments to perform a search query for packages that can satisfy the input dependencies. Dependency syntax follows that of pacman and makepkg, for example: auracle or auracle>=21.

show PACKAGES...
    Pass one to many arguments to print source files for the given packages. The file fetched is controlled by the --show-file flag.

outdated [PACKAGES...]
    Pass one to many arguments to check for newer versions existing in the AUR. Each argument is assumed to be a package installed locally using pacman(8). If no arguments are given, pacman is queried for all foreign packages as an input to this operation.

update [PACKAGES...]
    Similar to outdated, but download packages found to be outdated. Pass the --recurse flag to download new dependencies of packages as well.

CUSTOM FORMATTING
Auracle provides the ability to customize the output format from info and search operations. The format specification is similar to that of python. Each field is wrapped in curly brackets and is optionally suffixed with a colon and additional formatting directives.

NOTE: not all fields are available for search queries.

String fields: {name}, {version}, {description}, {submitter}, {maintainer}, {pkgbase}, {url}.

Floating point fields: {votes}, {popularity}.

Time fields: {submitted}, {modified}, {outofdate}. These fields default to using your locale's default date and time, but can be further customized in their format, according to the specifier described in strftime(3), For example, {submitted:%Y.%m.%d} would show year month and day in dotted form.

String array fields: {depends}, {makedepends}, {checkdepends}, {optdepends}, {conflicts}, {provides}, {replaces}, {groups}, {keywords}, {licenses}, {comaintainers}. These fields default to using a delimiter of two whitespace, but can be customized, e.g. {depends:,} to comma delimit the values of the depends field.

Example: recreating auracle's search output:

  auracle search -F $'aur/{name} ({votes}, {popularity})\n    {description}' ...

Example: listing dependencies of packages:

  auracle info -F '{depends} {makedepends} {checkdepends}' ...

AUTHOR
Dave Reisner <d@falconindy.com>