/cower

A simple AUR agent with a pretentious name.

Primary LanguageC

NAME

cower - a simple AUR downloader

SYNOPSIS

Usage: cower <operation> [ options ] [ targets ]

DESCRIPTION

cower is a simple tool to get information and download packages from the Arch User Repository (AUR). Invoking cower consists of supplying an operation, any applicable options, and usually one or more targets. If a target is specified as a lone dash (-), additional targets will be read from stdin.

OPERATIONS

-d, --download

Download target. Pass this option twice to fetch dependencies (done recursively).

-i, --info

Show info for target. Pass this option twice to fetch more detailed info.

-m, --msearch

Search for packages maintained by target.

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 in regex(7) are allowed.

Note: Regex is more or less implemented as a hack, since the AUR does not actually support this. cower will search based on the first span of at least 2 consecutive non-regex characters it finds and will filter using the regular expression provided, afterwards. There's no guarantee that complex patterns will return expected results.

-u, --update

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. This operation can be combined with the --download operation.

OPTIONS

-b, --brief

Show output in a more script friendly format. Use this if you're wrapping cower for some sort of automation.

-c, --color[=WHEN]

Use colored output. WHEN is never, always or auto. Color will be disabled in a pipe unless WHEN is set to always.

--debug

Show debug output. This option should be passed first if used.

-f, --force

Overwrite existing files when downloading.

--format=FORMAT

Print outside from --info, --search, and --msearch operations described by the provided format string. See the FORMATTING section.

-h, --help

Display the help message and quit.

--ignore=PKG

Ignore a package upgrade. Can be used more than once. Also accepts a comma delimited list as a single argument. Packages listed in pacman's IgnorePkg directive are honored.

--ignorerepo[=REPO]

Ignore a binary repo when checking for updates. Can be used more than once. Also accepts a comma delimited list as a single argument. When the argument to this option is left blank, all binary repos are ignored and only the AUR is queried.

--listdelim=STRING

Specify a delimiter when printing list formatters, default to 2 spaces. This option only has an effect when using the -ii operation combined with --format. See the FORMATTING section.

--no-ignore-ood

The reverse of --ignore-ood.

-o, --ignore-ood

Ignore all results marked as out of date.

--sort=KEY, --rsort=KEY

Sort the results in ascending or descending order, respectively, by KEY where KEY is firstsubmitted, lastmodified, maintainer, name, outofdate, version or votes.

-p, --from-pkgbuild

Interpret non-option arguments to cower as paths to PKGBUILDs which will be parsed for depends and makedepends. These dependencies will then be re-used as package targets for cower.

-q, --quiet

Output less.

-t DIR, --target=DIR

Download targets to alternate directory, specified by DIR. Either a relative or absolute path can be specified, but all components of the path must exist.

--threads=NUM

Limit the number of threads created, with a default of 10. In practice, you should never need to bother with this setting. Other than the case of an --update operation with no targets specified, a thread is created for each target provided to cower. If cower has fewer targets than threads specified, the number of threads created will instead be the number of targets.

--timeout=NUM

Specify how long libcurl is willing to wait for a connection to be made, in seconds. By default, this is 10 seconds. Setting this value to 0 will disable timeouts.

-v, --verbose

Output more. This primarily affects the update operation.

-V, --version

Display version and exit.

FORMATTING

When the --format option is used with the --search, --msearch, or --info operations, the following sequences are interpreted within the formatter:

%a    last modified

%c    category

%d    description

%i    id

%l    license

%m    maintainer

%n    name

%o    votes

%p    AUR page

%s    submission date

%t    out of date (yes/no)

%u    project URL

%v    version

%%    a literal %

When --info is specified twice, the following formatters are also available (if the PKGBUILD specifies them). Items in these lists are delimited according to the --listdelim option.

%C    conflicts

%D    depends

%M    makedepends

%O    optdepends

%P    provides

%R    replaces

Full printf formatter support with justification and field width is supported, e.g. '%-20o'. Simple backslash escape sequences are also honored for lowercase formatters -- see printf(1).

CONFIG FILE

cower honors a config file which will be looked for first at:

$XDG_CONFIG_HOME/cower/config

and falling back to:

$HOME/.config/cower/config

A documented example config file can be found at /usr/share/doc/cower/config.

AUTHOR

Dave Reisner <d@falconindy.com>