Skip to main content

Packages and builds

Packages​

aurcli pkg list # directly requested packages
aurcli pkg list -q # names only, for piping
aurcli pkg get hello
aurcli pkg add hello
aurcli pkg add https://github.com/you/pkg.git --ref v1.2 --platform x86_64
aurcli pkg add --from-installed # bulk-add what `pacman -Qm` reports, behind a confirmation
aurcli pkg update hello
aurcli pkg patch hello --platform x86_64
aurcli pkg rm hello # stop requesting it; delete what nothing needs

Adding a package resolves its AUR depends and make_depends, inserts dependency links, and enqueues builds leaf-first. pkg add --from-installed prints what it found and asks before submitting; pass --yes to skip the prompt in a script.

pkg rm stops requesting a package. The package is then deleted — its builds, its artifacts and their entries in the repository, its build logs and its source checkout — together with every dependency of it that no requested package still needs. A package that a requested package still depends on, directly or through others, stays as a dependency and only stops being requested.

Dependencies can be repointed when upstream changes what provides them:

aurcli pkg dep options hello libfoo # what could take over libfoo
aurcli pkg dep replace hello libfoo libfoobar # depend on libfoobar instead
aurcli pkg dep drop hello libfoo # only what the official repos now publish

Also: aurcli search <query> searches the AUR through AURCache, aurcli stats shows dashboard statistics, and aurcli graph returns monthly datapoints.

Builds​

aurcli builds list --status active,publishing
aurcli builds list --worker freyja --package hello
aurcli builds get hello/3
aurcli builds output hello/3 # paged log output (--offset/--limit in bytes)
aurcli builds retry hello/3
aurcli builds cancel hello/3
aurcli builds delete hello/3
aurcli builds watch # follow the queue until it drains
aurcli builds watch --build hello/3

--wait on a triggering command (pkg add, pkg update, builds retry) waits for what that trigger queued and exits non-zero if any of them fails — use it instead of a separate builds watch, which cannot see builds that finish in the gap between the two processes. See Why is a build not starting.