$ git shortlog --no-merges -s '2.3.1..' | sort -rnWith the amount of changes, details spread over pull requests, git commit logs, and the documentation, I've written this post to detail the most important changes in aurutils 3.0.0. If you've used aurutils 2.3 before, I highly recommend reviewing the Transition table. Happy hacking!
193 Alad Wenter
60 Rafael Ascensão
16 James Alad Bork
9 Maxim Baz
3 morganamilo
3 bartus
2 Morten Linderud
2 Ethan Sommer
2 Daniel Houck
2 aramirezverbio
1 Thom Wiggers
1 Szymon Mikulicz
1 nl6720
1 Matt Schreiber
1 Justin Wong
1 Felix Yan
1 columbarius
1 bartoszek
1 Avinash H. Duduskar
.where each file pkgbase has a commit hash (e.g. 6427ee3d091759d2497ff44a0498738fa4684a53) for a matching package repository. Absence of a file in this directory implies no revision of the package has been reviewed yet. This can be used by file managers such as nnn or ranger to indicate you should review all files in such a repository.
└── view
├── alatools
├── astroid-git
├── auracle-git
├── aur-talk-git
├── aurutils
├── aurutils-git
├── ...
fetch:head:fetch_head:file://pathfetch is the default: only git fetch is run with no other changes. fetch_head represents the new FETCH_HEAD object. When cloning a new repository with git clone, the value 0 represents a non-existing object. prev_head represents the previous git HEAD if a git rebase or git reset was done. aur-sync uses this information (together with stored commits in XDG_DATA_HOME/aurutils/view, see aur-sync: store commits viewed by the user) to generate package diffs.
rebase:prev_head:head:file://path
reset:prev_head:head:file://path
clone:0:head:file://path
find ~/.cache/aurutils/sync -type d -exec git -C {} config diff.orderfile ~/.config/aurutils/sync/orderfile \;
See man git-diff for more information.
aur buildwould run makepkg --clean --syncdeps,
aur build -- -r -scwould run makepkg --clean --syncdeps --rmdeps, and
aur build -- -rwould only run makepkg --rmdeps. aurutils 3.0 brings the aur-build command-line closer to makepkg:
aur buildwhich runs makepkg,
aur build --clean -swhich runs makepkg --clean --syncdeps, and
aur build --clean -srwhich runs makepkg --clean --syncdeps --rmdeps. Additional makepkg options that are not wrapped by aur-build can be specified with the --margs option, for example:
aur build --clean -sr --margs --skippgpcheckNote: -S is now an alias for --sign, and -s an alias for --syncdeps. The -c option remains an alias for --chroot.
Note: aurutils 3.1 removed the aur repo --ini option (displaying a partial pacman.conf output of local repositories) and added aur repo --path-list. The section below was updated accordingly.
$ aur repo --table | column -t
alatools python-xdg alatools 2018.12-2
alatools python3 alatools 2018.12-2
auracle-git pacman auracle-git r366.8739929-1
auracle-git libcurl.so=4-64 auracle-git r366.8739929-1
auracle-git libsystemd.so=0-64 auracle-git r366.8739929-1
auracle-git meson auracle-git r366.8739929-1
auracle-git git auracle-git r366.8739929-1
auracle-git perl auracle-git r366.8739929-1
auracle-git systemd auracle-git r366.8739929-1
auracle-git gtest auracle-git r366.8739929-1
auracle-git gmock auracle-git r366.8739929-1
aur-talk-git python aur-talk-git r21.31cb5c0-1
aur-talk-git python-lxml aur-talk-git r21.31cb5c0-1
aur-talk-git python-html2text aur-talk-git r21.31cb5c0-1
aur-talk-git git aur-talk-git r21.31cb5c0-1
aurutils-git git aurutils-git 3.0.0rc.r20.g63bdcc4-1
aurutils-git jq aurutils-git 3.0.0rc.r20.g63bdcc4-1
aurutils-git pacutils aurutils-git 3.0.0rc.r20.g63bdcc4-1
aurutils-git curl aurutils-git 3.0.0rc.r20.g63bdcc4-1
aurutils-git git aurutils-git 3.0.0rc.r20.g63bdcc4-1
To improve performance on large aurweb queries, aur-query
(previously: aur-rpc) now supports parallel GET requests with curl
--parallel. You can regulate this behavior with the AUR_QUERY_PARALLEL
and AUR_QUERY_PARALLEL_MAX (curl --parallel-max,
defaults to 15) environment variables. As a sample case, we wish to
check packages that are both in the AUR and the official repositories.
For this we use a combination of expac and aur-vercmp
--all on 11291 packages. The test environment is a low-end VM
(VirtualBox, 1024MB RAM, 1 CPU) and an LTE connection.
Without parallel transfers:
archie@vbox:~$ hyperfine 'expac -S '%n\t%v' | env AUR_QUERY_PARALLEL=0 aur vercmp --all'With parallel transfers and 15 threads:
Benchmark #1: expac -S %nt%v | env AUR_QUERY_PARALLEL=0 aur vercmp --all
Time (mean ± σ): 12.115 s ± 0.224 s [User: 1.955 s, System: 2.609 s]
Range (min … max): 11.841 s … 12.569 s 10 runs
archie@vbox:~$ hyperfine 'expac -S '%n\t%v' | env AUR_QUERY_PARALLEL=1 aur vercmp --all'With parallel transfers and 50 threads:
Benchmark #1: expac -S %nt%v | env AUR_QUERY_PARALLEL=1 aur vercmp --all
Time (mean ± σ): 5.598 s ± 0.209 s [User: 1.795 s, System: 2.618 s]
Range (min … max): 5.304 s … 6.017 s 10 runs
archie@vbox:~$ hyperfine 'expac -S '%n\t%v' | env AUR_QUERY_PARALLEL=1 AUR_QUERY_PARALLEL=50 aur vercmp --all'As the above test indicates, a higher amount of threads does not necessarily result in higher performance.
Benchmark #1: expac -S %nt%v | env AUR_QUERY_PARALLEL=1 AUR_QUERY_PARALLEL_MAX=50 aur vercmp --all
Time (mean ± σ): 6.729 s ± 0.302 s [User: 3.040 s, System: 2.746 s]
Range (min … max): 6.348 s … 7.258 s 10 runs
untrusted comment: signify public key (aurutils 3.0)
RWQcfDbvctqX5i5yNDNqu607LC7mKArHMsq7ziT8ynx9bQwj5m5ZpMJY
untrusted comment: signify public key (aurutils 3.1)
RWSiKm8qeKjPfppkN7lm/N4qENa3Racl7DRMfWK4JQS7bl2i/NuI3ZZG
Old command |
New command | Notes |
aur jobs | - | The nag banner in parallel is already removed in community/parallel, and aur-jobs had no other functionality. |
aur build --build-command cmd args... | MAKEPKG=cmd aur build --margs args... | - |
aur build | aur build -sc | aur-build now has an empty set of default arguments. Further arguments can be specified either directly (-s, -r, -L, -A) or with the --margs option. See aur-build: new command-line for details. |
aur build -s | aur build -S | The -s alias for --sign was renamed to -S. -s is now an alias for --syncdeps instead, matching makepkg -s. |
aur build -- makepkg args... | aur build --margs makepkg args... | There are two differences to note here: the first is that the end-of-options separator -- is no longer used for specifying makepkg options. The second is that --margs does not reset makepkg options specified elsewhere (default, or as aur-build arguments). See aur-build: new command-line for details. |
aur chroot --no-build | aur chroot --update or aur chroot -U | aur-chroot steps are now enabled selectively, instead of disabled. |
aur chroot --no-prepare | aur chroot --build or aur chroot -B | aur-chroot steps are now enabled selectively, instead of disabled. |
aur chroot --database repo1 --database repo2... | - | aur-chroot now uses a static pacman configuration. See aur-chroot: static pacman configuration for details. |
aur fetch | aur fetch --sync=reset, aur fetch --sync=auto | aur-fetch now only runs git fetch by default. See aur-fetch: local modifications and git rebase for details. |
aur fetch --log-dir, aur fetch --verbose, aur fetch --format | aur fetch --results FILE | Package diffs are now left to other tools, in particular aur-sync. Diffs can be generated directly from the --results output. See aur-fetch: move diff output to aur-sync for details. |
aur rpc | aur query | - |
AUR_LOCATION=https://... aur rpc --rpc-ver 5 | AUR_QUERY_RPC=https://.../rpc/?v=5 aur query | - |
aur repo | aur repo --path | When no arguments were specified to aur-repo, it
would print the path of the local repository. Printing the path now
requires the --path argument; without arguments, aur-repo
prints a usage text. |
aur repo --repo-list |
aur repo --repo-list, aur repo --path-list |
The output format of aur repo --repo-list was changed from tab-seperated repository name/path entries to only repository names. Printing the paths can be done with aur repo -path-list instead. |
aur sync --provides | aur sync, aur sync --provides-from | See aur-sync: use --provides by default for details. |
aur sync --git, aur sync --tar | aur sync | Support for retrieving tar snapshots was removed. See aur-fetch: removed support for tar snapshots for details. |
aur sync --print | aur sync --no-build | - |
aur sync --no-ver-shallow | aur sync --no-ver-argv | - |
aur vercmp-devel |
- |
Due to limitations in aur-vercmp-devel,
the script was moved to the manual page aurvcs. This page will
be extended in later releases with alternative approaches to updating
VCS packages. See PR#617
for details. |
Old
path |
New
path |
Notes |
$XDG_CONFIG_HOME/aurutils/fetch/orderfile ~/.config/aurutils/fetch/orderfile |
$XDG_CONFIG_HOME/aurutils/sync/orderfile ~/.config/aurutils/sync/orderfile |
This file defines the ordering of files in git diff output. (See man git-diff.) Diffs are now generated inside aur-sync, and the orderfile path is changed accordingly. See aur-fetch: move diff output to aur-sync for details. |
- |
/etc/aurutils/pacman-<repository>.conf |
aur-chroot and aur-build --chroot now use a static pacman configuration. See aur-chroot: static pacman configuration for details. |
- |
$XDG_CONFIG_HOME/aurutils/sync/ignore |
aur-sync now ignores packages in this file by default. Priorly, a path had to be given explicitly with --ignore-file, or the packages specified on the command-line with aur sync --ignore [package...]. |
$XDG_CACHE_HOME/aurutils/snapshot ~/.cache/aurutils/snapshot |
- |
Support for retrieving tar snapshots was removed. See aur-fetch: removed support for tar snapshots for details. |
aur
AUR_EXEC_PATH
environment variableaur-gc
, aur-remove
scripts to aur.1
aur-build
AUR_DEBUG
, NO_COLOR
, MAKEPKG
environment variablesroot
userbuild:
prefix to --results
output
build:file:///path/to/package.tar.xz
--new
, --prevent-downgrade
(repo-add
options)Running
message for all makepkg
invocations--build-command
with --margs
and $MAKEPKG
makepkg
arguments (#635)
makepkg
options as aur-build
arguments (--syncdeps
, --rmdeps
, --ignorearch
,
--log
, --noconfirm
)--syncdeps
, --rmdeps
to --pkgver
makepkg command (#716)-r
an alias for --rmdeps
(was: alias for --root
) --margs
to set makepkg options instead of
the end-of-options separator (--
)--makepkg-conf
now sets the makepkg
configuration for host builds (avoid quoting issues with setting --config
in --margs
)makepkg --noextract
if --pkgver
is specified (#708)print_all_package_names
(/usr/share/makepkg/util/pkgbuild.sh
)
instead of makepkg --packagelist
(#755)--config
) to aur-repo
(#654)--delta
PKGDEST
instead of makepkg.conf
to set package destinationaur-chroot
AUR_DEBUG
environment variable--packagelist
print_all_package_names
(/usr/share/makepkg/util/pkgbuild.sh
)--no-prepare
and --no-build
(disable steps) with --update
and --build
(enable steps) respectively--database
/usr/share/devtools/pacman-extra.conf
)
--suffix
to override extra
in
the default path--suffix
begins in multilib
,
install multilib-devel
(instead of base-devel
)aur-fetch
AUR_DEBUG
, NO_COLOR
environment variables--results
(colon-delimited output)--sync
git fetch
by default;git reset
if --sync=reset
is specified;git rebase
if --sync=rebase
is specified;git reset
or git rebase
if --sync=auto
is specified1
if git clone
or git
fetch
failedtar
archives--log-dir
, --verbose
,
--format
)
aur-sync
) orderfile
(done in aur-sync
)git -C
for git
callsaur-jobs
(removed)
aur-pkglist
AUR_DEBUG
environment variablecurl
for transfers instead of wget
aur-rpc
(aur-query
)
AUR_DEBUG
, AUR_QUERY_RPC
, AUR_QUERY_RPC_SPLITNO
,
AUR_QUERY_PARALLEL
, AUR_QUERY_PARALLEL_MAX
environment variablesaur-query
AUR_QUERY_RPC
instead
of a combination of --rpc-url
, --rpc-ver
and AUR_LOCATION
AUR_QUERY_RPC_SPLITINFO
AUR_QUERY_RPC_SPLITNO
to set of number of
packages for splitting URIscurl
for transfers instead of wget
curl --parallel
)
with AUR_QUERY_PARALLEL=1
curl
--parallel-max
) with AUR_QUERY_PARALLEL_MAX
1
if a transfer failedaur-repo-filter
AUR_DEBUG
environment variable--sysroot
(pacsift --sysroot
, pacinfo
--sysroot
)pacinfo
for package information instead of expac
aur-repo
AUR_DEBUG
environment variable--config
--ini
--quiet
/-q
(aur-vercmp -q
)--table
--status-format
(colon-delimited)--path
to print the local repository
pathexpac
dependencyaur-search
AUR_DEBUG
, NO_COLOR
environment variablesLC_ALL
when printing Popularity
aur-srcver
AUR_DEBUG
environment variable--jobs
makepkg --log
parallel
dependencyaur-sync
AUR_DEBUG
, NO_COLOR
, AUR_CONFIRM_PAGER
environment variables
AUR_CONFIRM_PAGER
is set--rebuild-all
root
user$XDG_CONFIG_HOME/aurutils/sync/ignore
PAGER
or less
(AUR_PAGER
must be set or vifm
installed)--provides
by default
--no-provides
--provides-from
(comma-delimited)aur-build
arguments after
end-of-options separator (--
) (#678)parallel
dependencyAURDEST_SNAPSHOT
environment variable--git
, --tar
--print
to --no-build
/-o
--no-ver-shallow
to --no-ver-argv
aur-fetch --sync=auto
aur-vercmp
AUR_DEBUG
, NO_COLOR
environment variablesMakefile
AUR_LIB_DIR
at build timeCopyright © 2020, Alad Wenter