Open kontura opened 6 months ago
Any update here?
To clarify on the testcase from https://github.com/openSUSE/libsolv/issues/536
For:
repo @System 0 testtags <inline>
#>=Pkg: krb5-libs 1.18.2 22.el8_7 x86_64
#>=Prv: krb5-libs(x86-64) = 1.18.2-22.el8_7
repo available 0 testtags <inline>
#>=Pkg: ipa-client 4.9.11 5.el8 x86_64
#>=Req: krb5-pkinit-openssl
#>
#>=Pkg: krb5-libs 1.18.2 25.el8_8 x86_64
#>=Prv: krb5-libs(x86-64) = 1.18.2-25.el8_8
#>
#>=Pkg: krb5-pkinit 1.18.2 25.el8_8 x86_64
#>=Req: krb5-libs(x86-64) = 1.18.2-25.el8_8
#>=Prv: krb5-pkinit-openssl = 1.18.2-25.el8_8
#>
#>=Pkg: krb5-pkinit 1.18.2 22.el8_7 x86_64
#>=Req: krb5-libs(x86-64) = 1.18.2-22.el8_7
#>=Prv: krb5-pkinit-openssl = 1.18.2-22.el8_7
system x86_64 rpm @System
job install oneof ipa-client-4.9.11-5.el8.x86_64@available
We would like the result (just like with focusbest
):
result transaction,problems <inline>
#>install ipa-client-4.9.11-5.el8.x86_64@available
#>install krb5-pkinit-1.18.2-25.el8_8.x86_64@available
#>upgrade krb5-libs-1.18.2-22.el8_7.x86_64@@System krb5-libs-1.18.2-25.el8_8.x86_64@available
However if the upgrade of krb5-libs
isn't needed:
repo @System 0 testtags <inline>
#>=Pkg: krb5-libs 1.18.2 22.el8_7 x86_64
#>=Prv: krb5-libs(x86-64) = 1.18.2-22.el8_7
repo available 0 testtags <inline>
#>=Pkg: ipa-client 4.9.11 5.el8 x86_64
#>=Req: krb5-pkinit-openssl
#>
#>=Pkg: krb5-libs 1.18.2 25.el8_8 x86_64
#>=Prv: krb5-libs(x86-64) = 1.18.2-25.el8_8
#>
#>=Pkg: krb5-pkinit 1.18.2 25.el8_8 x86_64
#>=Req: krb5-libs(x86-64)
#>=Prv: krb5-pkinit-openssl = 1.18.2-25.el8_8
#>
#>=Pkg: krb5-pkinit 1.18.2 22.el8_7 x86_64
#>=Req: krb5-libs(x86-64)
#>=Prv: krb5-pkinit-openssl = 1.18.2-22.el8_7
system x86_64 rpm @System
job install oneof ipa-client-4.9.11-5.el8.x86_64@available
It should be like without focusbest
:
result transaction,problems <inline>
#>install ipa-client-4.9.11-5.el8.x86_64@available
#>install krb5-pkinit-1.18.2-25.el8_8.x86_64@available
Actually it's not hard to do. I just need to find a name for that mode. FOCUS_UPDATE
?
FOCUS_BETTER
;-)
Following the pointer from https://github.com/openSUSE/libsolv/issues/536 we are trying the
SOLVER_FLAG_FOCUS_BEST
but it seems it is too strong for dnf.To test it out we did set it as a default for all dnf5 commands and perhaps unsurprisingly it caused issues.
I believe that the desired behavior for dnf is to: prefer latest versions of newly pulled in dependencies over smaller transaction.
Is this something libsolv is already trying to achieve and when it doesn't happen can we consider that a bug (like https://github.com/openSUSE/libsolv/issues/514)? Or would a new flag be needed for that?