4 + support environment files (`$AUR_ENV`, defaults to `$XDG_CONFIG_HOME/aurutils/env`)
8 + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
11 + use `AUR_PACMAN_AUTH` as elevation command (prior: `PACMAN_AUTH`)
14 + output is now independent of command-line argument order
15 + rename `-I` and `-S` short options to `-i` and `-s`, remove `-u`
19 + `-q` now applies to `--list` and `--upgrades`
23 + add `--stdin-json`, `--stdin-table`
26 + exit 22 on dependency cycles (v7 regression)
27 + filter dependency graph by pkgname, not depends (v7 regression)
32 + add `AUR_METADEST` (directory where metadata archives are stored)
36 + write `git-merge` to `results_file` if the command is run
41 + add `--results-append`
42 + write results file as build user
45 + support `--type=suggest`
50 + revert "retrieve local repository before setting --chroot paths"
60 + deprecate `--results`
61 + retrieve local repository before setting `--chroot` paths
62 + unset `PKGEXT` when using `--chroot`
65 + use OSC8 terminal hyperlinks (#849)
69 `aur-build` now uses `setpriv(1)` to run unprivileged commands (`makepkg`, `gpg`,
70 `repo-add`) when `AUR_ASROOT` is combined with `--user`. This change has no
71 effect when running `aur-build` as a regular user.
75 $ sudo env AUR_ASROOT=1 aur build --chroot --user <build_user> ...
77 The above works with `--chroot` (`makechrootpkg -U`). Environment variables in
78 the root environment are preserved for user commands, similar to `runuser -c`.
79 Host builds using `makepkg --syncdeps` to install dependencies require further
82 ┌──────────────────────────────────────────────────────────────────────────────┐
85 │ Running `aur-build` as root is experimental and disabled by default. If your │
86 │ install breaks, you get to keep both pieces. │
87 └──────────────────────────────────────────────────────────────────────────────┘
95 + add `aur-build--pkglist`
99 + redirect `makepkg -od` output (`--pkgver`) to stderr
100 + sign existing packages (#967)
103 + add `--no-pager` to the `git log` command (#969)
104 + `--existing`: clone instead of skip targets if they exist
107 + redirect `aur-fetch` output to stderr (#974)
119 + add `vercmp-devel`, `sync-list`
120 + rename `aur-sync-devel` to `sync-devel`
125 + add separator before first failed package
128 + handle empty `git` repositories (#959)
131 + remove `aurvcs.7`, move `aur-sync-devel` to `examples`
136 + fix directory to source the build script from (#958)
142 The `aur-chroot` command-line was changed so that `--create`, `--build` and
143 `--update` can be used in a single command. Command-line arguments are now
144 exclusively used for packages passed to `mkarchroot` and `arch-nspawn`.
145 To set `makechrootpkg` options, the new `--margs` and `--cargs` options are
146 available. As `aur-build --margs`, these take a comma-delimited string and
147 can be specified multiple times. (Issues: #950, #807)
149 The `--packagelist` command is now deprecated. The container path can be
150 retrieved with the `--path` option, e.g for use with `makepkg --config`.
153 + Consider all repositories (`Usage = Install`) for local repository upgrade (#956)
156 + add `--buildscript`
157 + deprecate `-E` / `--env`
158 - `get_full_version` from `libmakepkg` is now used after running `makepkg`
159 + take arguments from `stdin` if `-` is specified
162 + run `aur-fetch` and `aur-view` before `aur-srcver`
163 + sample code remaned to `aur-sync-devel`
168 + add `OptDepends` to `--info` output (#945)
169 + handle empty keywords in `--info` output (#946)
172 + add `--optdepends` (#945)
175 + add `--optdepends` (#945)
180 + pass --nocheck to chroot (#942)
183 + avoid off-by-one in ninja build summary (#940)
186 + do not abort if `-t` is unspecified (#938)
190 This release adds optional support for the `ninja` build system. If the
191 `AUR_SYNC_USE_NINJA` environment variable is set to a positive value,
192 `aur-sync` will generate `build.ninja` where each target has an `aur-build`
193 command-line. This allows to continue building a series of packages when
194 several failed, with the maximum of failed targets controlled by the `-k` /
195 `--keep-going` option. On failure, a summary of successful ("OK") and failed
196 ("FAIL") package builds is printed. The `--no-build` option in turn only
197 generates `build.ninja`, and prints the corresponding directory to `stdout`.
199 The logic to generate `build.ninja` files is exposed in the `aur-sync--ninja`
200 script. It can be used with other `aur` programs that output `pkgbase
201 depends_pkgbase` pairs, for example:
203 $ aur depends --graph "$@" | aur sync--ninja "$PWD" -- aur build
205 When running `ninja` on the resulting file, each successfully built `pkgbase`
206 will result in a `pkgbase.stamp` file. If the corresponding `PKGBUILD` is
207 modified, it will be marked for rebuilding by `ninja`. This can for example be
208 used for a git repository which hosts multiple `PKGBUILD` directories.
214 - checkdepends are now removed during dependency resolution, not afterwards (#882)
219 - `--ignore-file` now supports per-repository sections (INI-style)
220 - do not ignore targets when specified on the command-line
225 - add `-v` / `--verify` (verifies published sha256sums)
228 - add repository to dependency messages ("dependency foo satisfied by repo/bar")
229 - deduplicate results on stdout
234 - do not print additional messages on errors or no results
237 - add `-a` alias for `--any`
238 - add missing newline in case of errors (`jq -r`)
242 In previous versions, `aur search` would display an intersection of search
243 results, the symmetric difference with `-a` (bug), and the concatenation with
246 `aur search -a` now correctly returns the union, and the `-r` output is
247 processed with jq(1) to return the intersection by default, or the union (with
248 duplicates removed) with `-a`. This processing is done because the RPC
249 interface as of aurweb 6.0.11 does not expose set operations, and so
250 `aur-search` performs one search for each argument. `aur search --json` was
251 added as an alias to `--raw`, and the latter option is now deprecated.
253 The implementation is done in `aur-query`, which now takes the intersection of
254 search results by default. The union can be taken with `aur query --any`, or
255 unprocessed results shown with `-r` or `--raw`. In each case, the output is
256 newline delimited (JSON Lines, `jq -r`). If the search completed without
257 results, `aur-query` will either exit with status 0 (if no request resulted in
258 an error), 1 (if the `-e` option was specified), or 2 (if at least one request
259 resulted in an error).
261 `AUR_QUERY_RPC_SPLITNO_POST` received bug fixes (#920), and the default has
262 been reduced to 500 after experiencing issues with a larger number of
263 arguments. Users looking to use `aur-query -t info` with a very large number
264 of arguments should instead consider `aur pkglist --info`.
265 `AUR_QUERY_RPC_PARALLEL` also received several bugfixes.
270 + add `-E` / `--env` (#898)
273 + support HTTP POST for info-type requests
274 + use `aurutils` user agent (`curl -A`)
277 + use `aurutils` user agent (`curl -A`)
280 + add `--config` to set pacman configuration
285 + fix regressions with `--ignore` from 4.3 release
290 + wordsplit MAKEPKG and PACMAN_AUTH
293 + improve error handling
298 + support PACMAN_AUTH environment variable for custom elevation command
301 + improve error handling
302 + remove extraneous `--` on `--path` output
307 + handle absolute paths in `--arg-file`
310 + add `--users` (`-U`) to retrieve a list of AUR users
311 + update aur-pkglist(1) man page
314 + fix formatting for `--table` and packages with no dependencies
319 + add `--no-check` (`makepkg --nocheck`)
325 + add compatibility options (`--recurse`)
328 + add compatibility options (`--path`, `--path-list`, `--repo-list`)
329 + fix regression with `AUR_QUERY_PARALLEL`
332 + add `--no-check` (short for `--no-checkdepends`)
333 - implies `aur-build --no-check`
334 + apply `--ignore` to local repository targets
335 + `--ignore-file` now works with process substitution (#880)
336 + remove `--no-depends`, `--no-makedepends`
340 `aur-query` and `aur-fetch` now take arguments from the command-line
341 by default. If `-` or `/dev/stdin` is the first (and only) arguments,
342 they are taken from `stdin` instead. In particular, `aur fetch --recurse`
343 is now written as `aur depends --pkgbase ... | aur fetch -`, and the
344 explicit `--recurse` option was removed.
346 The `-` argument propagates to `aur-depends` and `aur-search`
347 transparently. Additionally, `aur-sync` no longer calls `aur-depends`
348 and `aur-fetch` with `xargs`, avoiding the 123 exit code on failure of
354 + support AUR_LOCATION
355 + preserve `curl --parallel` exit codes (requires curl >=7.77.0)
356 + complete aur-query(1) man page
359 + support multiinfo and search dumps (`--info`, `--search`)
360 + support HTTP Last-Modified
366 + new script that includes the package inspection logic from `aur-sync`
371 + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
372 + resolve path argument to `--results`
373 + use `aur repo --status` for repository selection
374 - allows specifying `--root` without `--database`
375 + print diagnostic if packages were not moved to local repository (#794)
376 + merge `--config` and `--pacman-conf` (#808, #824)
377 + fallback to /etc/aurutils/pacman-<arch>.conf if --chroot is used without --database (#846)
378 + add diagnostic if chroot pacman.conf is non-existing (#783)
381 + add `--no-depends`, `--no-makedepends`, `--no-checkdepends` (#826)
382 + add dependency kind column to `--table` output
385 + preserve `SSH_AUTH_SOCK` to support ssh-based operations (#832)
388 + retrieve database extension from `AUR_DBEXT` (defaults to .db) (#700)
390 - `repo:<NAME>\nroot:<PATH>\npath:<PATH/NAME.DBEXT>` output format
392 + rename `--repo-list` to `--list-repo`
393 + rename `--path-list` to `--list-path`
396 + run `pacsift` with `unbuffer` (#804)
399 + remove colon from `checkupdates` and `equal_or_newer` format (#833)
401 ## 3.1.2 - 2020-11-09
403 This releases fixes a regression in 3.1.1 where `AUR_LIB_DIR` was not
406 ## 3.1.1 - 2020-11-09
411 ## 3.1.0 - 2020-11-09
414 + fix example `aur-remove` script (#785)
417 + change default pacman-conf for chroot builds to /etc/aurutils/pacman-<dbname>.conf
418 + clarify conditions on pacman-conf for chroot builds in `aur-build.1`
422 - seperate mode which runs `mkarchroot` with packages taken from the command-line
423 - defaults to base-devel (and multilib-devel, if applicable) if no packages are specified
424 - `--update` no longer runs `mkarchroot`
425 + `--packagelist` now uses `makepkg.conf` inside the container
426 + add `Devtools limitations` section to `aur-chroot.1` (#782)
427 + add additional error messages for missing pacman configuration
431 + update man page for new arguments (#784)
432 + remove `--ini` (only offered pacman.conf information)
434 ## 3.0.3 - 2020-11-02
436 * fix broken `zsh` completion (#776)
437 * use `/tmp/aurutils-$UID` as default temporary directory (#775)
439 ## 3.0.2 - 2020-10-30
442 + add missing `--suffix` option (#773)
444 ## 3.0.1 - 2020-10-29
448 + aur-sync: use XDG_RUNTIME_DIR for view directory (5341c059736d3eff59daea5cb52b7d35c98d0824)
449 + aur-repo: simplify command line (57c1b2157806e645e7de85bf24e2c28b7d5f4458)
451 were part of the 3.0.0 release tarball, but not the 3.0.0 tag. The 3.0.1 tag now includes these commits.
453 ## 3.0.0 - 2020-10-29
456 + add `AUR_EXEC_PATH` environment variable
457 + add example `aur-gc`, `aur-remove` scripts to `aur.1`
460 + add `AUR_DEBUG`, `NO_COLOR`, `MAKEPKG` environment variables
461 + add mollyguard for running as the `root` user
462 + add `build:` prefix to `--results` output
463 - `build:file:///path/to/package.tar.xz`
464 + add `--new`, `--prevent-downgrade` (`repo-add` options)
465 + add `Running` message for all `makepkg` invocations
466 + replace `--build-command` with `--margs` and `$MAKEPKG`
467 + remove default `makepkg` arguments (#635)
468 - specify common `makepkg` options as `aur-build` arguments (`--syncdeps`, `--rmdeps`, `--ignorearch`, `--log`, `--noconfirm`)
469 - pass `--syncdeps`, `--rmdeps` to `--pkgver` makepkg command (#716)
470 - make `-r` an alias for `--rmdeps` (was: alias for `--root`)
471 - make `-S` an alias for `--sign` (was: `-s`)
472 + use `--margs` to set makepkg options instead of EOF seperator (`--`)
473 + `--makepkg-conf` now sets the makepkg configuration for host builds (avoid quoting issues with setting `--config` in `--margs`)
474 + use `makepkg --noextract` if `--pkgver` is specified (#708)
475 + use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`) instead of `makepkg --packagelist` (#755)
476 + pass pacman.conf (`--config`) to `aur-repo` (#654)
477 + only remove intermediary package directory if empty (#602)
479 + use `PKGDEST` instead of `makepkg.conf` to set package destination
482 + add `AUR_DEBUG` environment variable
483 + add `--packagelist`
484 - use `print_all_package_names` (`/usr/share/makepkg/util/pkgbuild.sh`)
485 + replace `--no-prepare` and `--no-build` (disable steps) with `--update` and `--build` (enable steps) respectively
486 + remove `--database`
487 + use static pacman configuration (defaults to `/usr/share/devtools/pacman-extra.conf`)
488 - `--suffix` to override `extra` in the default path
489 - if `--suffix` begins in `multilib`, install `multilib-devel` (instead of `base-devel`)
492 + add `AUR_DEBUG`, `NO_COLOR` environment variables
493 + add `--results` (colon-delimited output)
495 - only run `git fetch` by default;
496 - run `git reset` if `--sync=reset` is specified;
497 - run `git rebase` if `--sync=rebase` is specified;
498 - run either `git reset` or `git rebase` if `--sync=auto` is specified
499 + exit `1` if `git clone` or `git fetch` failed
500 + remove support for `tar` archives
501 + remove diff output (`--log-dir`, `--verbose`, `--format`)
502 - diffs can be generated from the extended --results output (done in `aur-sync`)
503 + remove setting `orderfile` (done in `aur-sync`)
504 + use `git -C` for `git` calls
506 * `aur-jobs` (removed)
510 + add `AUR_DEBUG` environment variable
511 + use `curl` for transfers instead of `wget`
513 * `aur-rpc` (`aur-query`)
514 + add `AUR_DEBUG`, `AUR_QUERY_RPC`, `AUR_QUERY_RPC_SPLITNO`, `AUR_QUERY_PARALLEL`, `AUR_QUERY_PARALLEL_MAX` environment variables
515 + rename to `aur-query`
516 + set AUR RPC address with `AUR_QUERY_RPC` instead of a combination of `--rpc-url`, `--rpc-ver` and `AUR_LOCATION`
517 + set number of packages for splitting URIs with `AUR_QUERY_RPC_SPLITINFO`
518 + set `AUR_QUERY_RPC_SPLITNO` to set of number of packages for splitting URIs
519 + use `curl` for transfers instead of `wget`
520 - enable parallel transfers (`curl --parallel`) with `AUR_QUERY_PARALLEL=1`
521 - set maximum amount of parallel transfers (`curl --parallel-max`) with `AUR_QUERY_PARALLEL_MAX`
522 + exit `1` if a transfer failed
525 + add `AUR_DEBUG` environment variable
526 + add `--sysroot` (`pacsift --sysroot`, `pacinfo --sysroot`)
527 + use `pacinfo` for package information instead of `expac`
530 + add `AUR_DEBUG` environment variable
533 + add `--quiet`/`-q` (`aur-vercmp -q`)
535 + add pacman configuration to `--status-format` (colon-delimited)
536 + print fully resolved path to local repository
537 + require `--path` to print the local repository path
538 + remove `expac` dependency
541 + add `AUR_DEBUG`, `NO_COLOR` environment variables
542 + unset `LC_ALL` when printing `Popularity`
545 + add `AUR_DEBUG` environment variable
547 + do not use `makepkg --log`
548 + remove `parallel` dependency
551 + add `AUR_DEBUG`, `NO_COLOR`, `AUR_CONFIRM_PAGER` environment variables
552 - use confirmation prompt after package review if `AUR_CONFIRM_PAGER` is set
553 + add `--rebuild-all`
554 + add mollyguard for running as the `root` user
555 + add default ignore file in `$XDG_CONFIG_HOME/aurutils/sync/ignore`
556 + do not fallback to `PAGER` or `less` (`AUR_PAGER` must be set or `vifm` installed)
557 + enable `--provides` by default
558 - disable with `--no-provides`
559 - specify repositories with `--provides-from` (comma-delimited)
560 + remove additional `aur-build` arguments after EOF separator (`--`) (#678)
561 + remove `parallel` dependency
562 + remove `AURDEST_SNAPSHOT` environment variable
563 + remove `--git`, `--tar`
564 + rename `--print` to `--no-build`/`-o`
565 + rename `--no-ver-shallow` to `--no-ver-argv`
566 + store commits viewed by the user (#379, #711)
567 + use `aur-fetch --sync=auto`
570 + add `AUR_DEBUG`, `NO_COLOR` environment variables
573 + allow overriding `AUR_LIB_DIR` at build time
587 ## 2.3.1 - 2019-02-21
592 + documentation updates (#350, #507)
593 + ask for confirmation if `PAGER` is set (#530)
595 + documentation updates (#438)
597 ## 2.3.0 - 2019-02-18
600 + add `--holdver` to makepkg with `--pkgver`
601 + exit 2 if `db_path` is not found
603 + support versioned packages (#404)
604 + remove `--repo` alias to `--database`
606 + remove `--noprepare` from default makepkg options
607 + add `--noprepare` option (#523)
609 + wrap repo-add `-R` (#521)
610 + add `--no-graph` (workaround for #516)
613 + rename `--equal` to `--current`
615 + group options by type (#520)
616 + complete `aur-depends` options (#526)
618 ## 2.2.1 - 2019-01-25
621 + add `--holdver` to `makepkg` options if `--pkgver` is enabled
623 + do not include `repo:` in error messages
624 + `--all` implies `--upgrades`
626 + `cd` before invoking `$PAGER` (#518)
628 + if `stdin` is connected to a terminal, mention this on `stderr`
630 + if `stdin` is connected to a terminal, mention this on `stderr`
632 + if `stdin` is connected to a terminal, mention this on `stderr`
634 ## 2.2.0 - 2019-01-22
637 + update `CacheDir` instructions in `aur(1)`
639 + rename `--run-pkgver` to `--pkgver`, remove `LANG=C` from `makepkg -od`
640 + remove `~` package backup on `--force` (#444)
641 + propagate `--pacman-conf` to `pacman-conf` (local builds)
642 + unset `PKGDEST` prior to running `makepkg` (#513)
643 + remove `--rmdeps` from default options (#508)
645 + expose AUR URL through `AUR_LOCATION` environment variable
647 + do not require `-P` for regex match
648 + Expose AUR URL through `AUR_LOCATION` environment variable
650 + add `--rpc-ver`, `--rpc-url`
651 + Expose AUR URL through `AUR_LOCATION` environment variable
653 + exit 1 on no results
654 + exit 2 on AUR error (e.g. "too many results")
655 + Expose AUR URL through `AUR_LOCATION` environment variable
657 + add `--pkgver` (`aur-build --pkgver`)
658 + remove `--rmdeps` from default options (#508)
660 + allow `zsh run-help` to display the correct man page (#506)
662 ## 2.1.0 - 2019-01-16
665 + `--build-command` now works correctly
666 + add `--run-pkgver` to run `makepkg -od` before `makepkg --pkglist` (relevant to VCS packages)
668 + now takes input as arguments, instead from `stdin`
669 + add `--table`, `--pkgbase`, `--pkgname` and `--pkgname-all` (defaults to `--pkgname`)
671 + add `--raw` to display JSON output
673 + add `--ignore-file` (same as `aursync --ignore`)
674 + check the (`.SRCINFO`) dependency graph before file inspection
675 * `aur-fetch-git` and `aur-fetch-snapshot` were removed and merged to `aur-fetch`
677 ## 2.0.1 - 2019-01-11
680 + do not export PKGDEST for non-chroot builds (#498)
681 + add --build-command (#498)
682 + man page updates (#217)
684 + add --keep-order for parallel aur-fetch
686 ## 2.0.0 - 2019-01-10
689 + wrapper for the new `git(1)` based design
691 + remove `repose` support, see https://bbs.archlinux.org/viewtopic.php?pid=1707649#p1707649
692 + abort if updating a signed database without `-s` (#246)
693 + add `AUR_REPO`, `AUR_DBROOT` environment variables (#302)
694 + add `--makepkg-conf`, `--pacman-conf` (#242)
695 + use `pacman-conf` instead of `pacconf`
696 * `aur-chroot` *(new)*
697 + new tool containing the functionality of `aur-build -c`
698 + support container builds without using a local repository
699 + support multiple repositories
700 + preserve `GNUPGHOME` (#427)
701 + use `pacman-conf` instead of `pacconf`
703 + use `HEAD@{upstream}` instead of `HEAD` for `git reset` (#349)
704 + use `wget` instead of `aria2c` or `curl`
705 + support diffs for `tar` snapshots (requires: `diffstat`)
707 + rewrite in awk (#361)
708 + add support for virtual and versioned dependencies (#10)
710 + manage local repositories
712 + send `GET` requests to `aurweb`
713 + use `wget` instead of `aria2c` or `curl`
715 + add `License`, `Keyword`, `Depends`, `MakeDepends` and `CheckDepends` fields
716 + add `depends`, `makedepends` search (#432)
717 + add popularity to `brief` output (#420)
718 + colorize if `stdout` is a terminal (#473)
719 + use intersection of results for multiple terms (#328)
720 + use `aur-rpc` to query `aurweb`
722 + add `AUR_PAGER` environment variable (file review, #51)
723 + add `--bind-rw` (#428)
724 + add `--ignore-arch` (`makepkg -A`, #309)
725 + add `--nover-shallow` (only check versions for depends, #374)
726 + add `--provides` (virtual dependencies, #452)
727 + add `--rebuild`, `--rebuildtree` aliases (#424)
728 + rename `--repo` to `--database` (#353)
729 + the `--ignore` option now takes a comma-separated list of packages
730 + fetch sources in parallel
731 + set the default value for `AURDEST` to `$XDG_CACHE_HOME/aurutils/sync`
732 * `aur-srcver` *(new)*
733 + print latest revision of VCS packages
734 * `aur-vercmp-devel` *(new)*
735 + compare latest revision of VCS packages to a local repository
736 * `officer` *(removed)*
737 + removed in favor of `pacman --config`
739 + add `bash` completion (requires: `bash-completion`)
740 + add `zsh` completion in a later release (#458)
741 * Fixes for known issues in `1.5.3`.