aura icon indicating copy to clipboard operation
aura copied to clipboard

Dependency resolution across provided AUR and repos

Open ratijas opened this issue 4 years ago • 3 comments

Summary

Package from repository with exact match by name takes precedence and hides possible "provided" matches from AUR.

Description

Take a look at zsh/aura session in Konsole on a screenshot below.

aura session in Konsole

Text from the session on a screenshot:

❯ aura -Asr dotnet-host
aur/dotnet-host-bin 5.0.2.sdk102-1 (21 | 4.31)
    A generic driver for the .NET Core Command Line Interface (binary)
aur/dotnet-host-preview 5.0.0+100+rc.2.20479.15-2 (7 | 0.23)
    A generic driver for the .NET Core Command Line Interface (preview, binary)
community/dotnet-host 3.1.8.sdk108-1
    A generic driver for the .NET Core Command Line Interface
❯ aura -Ai dotnet-runtime-bin
Repository  : aur
Name        : dotnet-runtime-bin
Version     : 5.0.2.sdk102-1
AUR Status  : Up to Date
Maintainer  : Gr3q
Project URL : https://www.microsoft.com/net/core
AUR URL     : https://aur.archlinux.org/packages/dotnet-runtime-bin
License     : MIT
Depends On  : dotnet-host>=5.0.2 glibc icu krb5 libcurl.so libunwind openssl zlib
Build Deps  : 
Votes       : 21
Popularity  : 4.31
Description : The .NET Core runtime (binary)

❯ aura -Ai dotnet-host-bin
Repository  : aur
Name        : dotnet-host-bin
Version     : 5.0.2.sdk102-1
AUR Status  : Up to Date
Maintainer  : Gr3q
Project URL : https://www.microsoft.com/net/core
AUR URL     : https://aur.archlinux.org/packages/dotnet-host-bin
License     : MIT
Depends On  : 
Build Deps  : 
Votes       : 21
Popularity  : 4.31
Description : A generic driver for the .NET Core Command Line Interface (binary)

❯ aura -A --json dotnet-host-bin | jq .Provides
[
  "dotnet-host",
  "dotnet-host=5.0.2"
]
❯ sudo aura -A \
>      dotnet-host-bin dotnet-runtime-bin dotnet-sdk-bin dotnet-targeting-pack-bin
aura >>= Determining dependencies...

aura >>= The package dotnet-runtime-bin depends on version >=5.0.2 of dotnet-host, but the most recent version is 3.1.8.sdk108.

Command aura -A --json dotnet-host-bin | jq . shows a package details, and we can clearly see the "Provides" array. But aura refuses to even consider dotnet-host-bin as a candidate package to provide dotnet-host>=5.0.2, even though it was explicitly requested.

Expected behavior

Install all those specified packages at once. According to Arch Linux wiki on .NET Core they should be good together.

Actual behavior

Unable to resolve dependencies, hence refuses to install packages altogether.

Related

#683 seems like the same problem, but sideview. Might as well close a duplicate.

Version

aura-bin: 3.2.2-1

ratijas avatar Jan 18 '21 06:01 ratijas

It looks like current Aura is not considering "provides" correctly, at least when AUR packages are concerned. This might have been broken upon the last dependency solving logic rewrite.

That logic is being rewritten in the Rust port anyway, so let's wait for that and then use this specific issue here as a test case.

fosskers avatar Jan 19 '21 19:01 fosskers

Leads to interesting failures. Now I can't just upgrade all packages.

❯ /autism
[sudo] password for pitoo: 
aura >>= Saved package state.
:: Synchronizing package databases...
 core is up to date
[...]
aura >>= AUR Packages to upgrade:
aspnet-runtime-bin             :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
aspnet-targeting-pack-bin      :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
dotnet-host-bin                :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
dotnet-runtime-bin             :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
dotnet-sdk-bin                 :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
dotnet-targeting-pack-bin      :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
jetbrains-toolbox              :: 1.19.7784-1                -> 1.20.7940-1
libnvidia-container            :: 1.3.1-1                    -> 1.3.3-1
libnvidia-container-tools      :: 1.3.1-1                    -> 1.3.3-1
netstandard-targeting-pack-bin :: 5.0.2.sdk102-1             -> 5.0.3.sdk103-1
nvidia-container-toolkit       :: 1.4.0-2                    -> 1.4.2-1
rizin-git                      :: 1:0.2.0.r25612.ed6d93d4d-1 -> 1:0.2.0.r25736.3f71f45c5-1
teamviewer                     :: 15.14.3-1                  -> 15.14.5-1
visual-studio-code-bin         :: 1.52.1-1                   -> 1.53.2-1
zoom                           :: 5.5.0-1                    -> 5.5.2-1

aura >>= Saved package state.
aura >>= Determining dependencies...

aura >>= The package dotnet-runtime-bin depends on version >=5.0.3 of dotnet-host, but the most recent version is 3.1.8.sdk108.
❯ auloc dotnet-host
Name            : dotnet-host-bin
Version         : 5.0.2.sdk102-1
Description     : A generic driver for the .NET Core Command Line Interface (binary)
Architecture    : x86_64
URL             : https://www.microsoft.com/net/core
Licenses        : MIT
Groups          : None
Provides        : dotnet-host  dotnet-host=5.0.2
Depends On      : None
Optional Deps   : None
Required By     : dotnet-runtime-bin
Optional For    : None
Conflicts With  : dotnet-host
Replaces        : None
Installed Size  : 584.70 KiB
Packager        : Unknown Packager
Build Date      : Mon Jan 18 10:53:46 2021
Install Date    : Mon Jan 18 11:03:39 2021
Install Reason  : Explicitly installed
Install Script  : No
Validated By    : None

❯ auras dotnet-host
aur/dotnet-host-bin 5.0.3.sdk103-1 (25 | 5.14) [installed]
    A generic driver for the .NET Core Command Line Interface (binary)
aur/dotnet-host-preview 5.0.0+100+rc.2.20479.15-2 (9 | 1.54)
    A generic driver for the .NET Core Command Line Interface (preview, binary)
community/dotnet-host 3.1.8.sdk108-1
    A generic driver for the .NET Core Command Line Interface

ratijas avatar Feb 15 '21 19:02 ratijas