If you answer yes to
:: Do you want to remove all other AUR packages from cache? [Y/n]
then we run cleanAUR(), intending to remove subdirectories of
~/.cache/yay that do not share a name with installed packages not
found in the sync repositories.
Where this was going wrong was cleanAUR() was getting an empty map from
dbExecutor.InstalledRemotePackages()---because InstalledRemotePackages
only recomputes its result if installedRemotePkgMap is nil, whereas
NewExecutor initialized it to an empty map. The symptom was it emptied
my ~/.cache/yay.
We do want a non-nil, empty installedRemotePkgMap to block recomputing
(that is, to indicate the user really has no remote packages), so now
NewExecutor initializes it to nil, and getPackageNamesBySource is
responsible for making sure it's non-nil before writing to it.
Fixes#2152, which seems to have been introduced in
4626a0409c.
* fix dep graph, existing in graph
* do not change from same dep reason
* roll up layer installs in case of fail
* re-use pacman exclude mechanism
should finish the reimplementation of the missing guards from the legacy
engine.
* include update in debug log
* test rollups
* use logger in dep graph
* use logger in dep graph
* use logger in dep graph
* only query for AUR packages once per tier. useful for rpc
* fix performance regression for ros-melodic
* prefer name search first
* implement needed at target gathering
* set default config
* fixup tests for needed
* show new packages in upgrade form if they exist
* refactor up select
* remove unused graph parts
* readd len
* Complete upgrade graphing
* Extract to upgrade pkg
* remove unused dep method
* remove uneeded dep
* cleanup method
* specify io Reader for testing
* use specified input vector
* fix non-active devel
* test base cases
* add devel test cases
* add range tests
* add logger struct
* use logger struct in upgrade
* follow golangci recommendations
* update deps
* update golangci
* make config into parameter
* test(new engine): local install test
* test(keys): fix test keys
* complete integration test for local install
* add simple mising mechanism
* fix(alpm): fix callback text
* feat(yay): Add mixed search result
* remove old result structs
* add option for controlling query builder
* only set query builder after parsing args
* add parser args
* update manpage
* write test for results
* write test for results
* mixed source test
* only sort 1 time with every mode
This allows architecture to be multivalued. On x86-64 machines, this
could be something like:
Architecture = x86-64-v3 x86-64
We use the first specified Architecture value in mirrorlist $arch
variable replacement, as this is backwards-compatible and sane.
More info:
https://git.archlinux.org/pacman.git/commit/?id=3179db108a83104d9de6d1d607f55f8118e92160
Signed-off-by: x1b6e6 <ftdabcde@gmail.com>
This fixes#1283.
yay --query --upgrades [--explicit|--deps] will not return same packages pacman
does extended with AUR packages.
yay --show --numberupgrades [--explicit|--deps] will also work.