Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance conflict error messages with the dependency chains that lead to the conflict #467

Open
crogoz opened this issue Aug 3, 2021 · 2 comments

Comments

@crogoz
Copy link

crogoz commented Aug 3, 2021

When a conflict happens/or a package cannot be installed because one of the dependencies doesn't have any provider, libsolv would only show the specification of the package that cannot be installed.
It would be useful, however, to show what introduces the conflict and what is the chain of dependencies that lead to a conflict.

For example:
A user requests packages A (depends on package C 1.0.0) and B (depends on package C 2.0.0). This leads to a conflict which shows:
"Problem: package A requires C 1.0.0, but none of the providers can be installed"

It would be useful to also show that we requested 2 different versions of C and who required them (especially useful if the chain of dependencies up to the C library is very complicated A -> -> C 1.0.0, same with B).

@ignatenkobrain
Copy link
Collaborator

Not sure if this is something that should be done in the libsolv… I would imagine that this would be part of a package manager that uses libsolv.. Or some ext_utils could be in libsolv but everyone would like to have this information in slightly different form…

@crogoz
Copy link
Author

crogoz commented Aug 4, 2021

Happy to move this issue in the package manager side, however I was thinking this may be more easily retrievable when printing the problem in libsolv, correct me if this is not true.
Do you know how we can get this information from libsolv if I am to move the logic to the package manager?
I'd like to show the conflicting versions of packages (C - 1.0.0 and C 2.0.0) and what package requires them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants