-
Notifications
You must be signed in to change notification settings - Fork 113
improve dependency error message output #173
Comments
Printing the package(s) that rely on the dependency would be helpful as well. It took me a decent amount of time today to find out which one of my AUR packages was being problematic when all I got was this:
Something like the following, after the above:
Or a shorter alternative to replace the
Seeing |
Sounds sexy, but this seems difficult to implement in practice. There is currently no separate tracking of which dependencies are required by a certain installed package, and I believe doing so would complexify the code quite a lot. Instead, maybe a --debug switch that prints every step of the dependency resolution would help? |
It could narrow it down and I'd definitely welcome the feature, but it's not quite ideal. I'm assuming it'd look similar to the following:
In this case I would've been lucky in that bmp was needed only by a dependency of |
So I've took time to investigate this issue, and my initial comment is correct: It is not trivial to implement (even on the bash side) since there is no tracking of the dependencies tree at all. The ideal implementation would return the missing dependency, with the first-level package that needs it (so --ignore could be used effectively).
However, at this time I did not succeed in finding any possible implementation that is not overly complex and that is working in all desired user cases. The implementation depends on the following constraints:
|
Since it is very complicated to track dependency from the top to bottom, try the other way (bottom up):
|
The bottom up approach is also delicate to implement, since its heavily depends on the accuracy of the parser. Won't work with complex PKGBUILDs full of bashism... up-to-bottom is the way to go. |
I'm getting a similar problem, I'm using peazip-gtk2 as an example, but I've seen this output trying to do a system upgrade. I had installed aura before and used that some also. I got it to install, but after trying the command a few times in a row. The "no results found" output seems to be rather arbitrary.
Also, do you think it might be possible to output the PKGBUILD diffs when upgrading instead of viewing the whole file? |
@salacio > Works for me. Maybe one of the faulty PKGBUILD has been corrected since your posted?
I don't plan to work on this feature, since I consider it out-of-scope of this project. |
Issue #149 should be implemented first. |
AUR 3.5.0 and the upcoming pacman 4.2 allow complete static resolution without any needed parsing. Try reconstructing the dependency tree through the RPC interface, as discussed above (bottom up approach):
|
This might be easily implemented with the upcoming "--show-build-order" feature of cower. |
I don't know if this is of the same origin the issue mentiond above, so I'll comment here first before opening a new issue. Today I wanted to do a full update, on some package to be updated, was a new dependency added, attica-git, it conflicts with attica-qt5.
Does that apply in my situation, too?
|
@brainpower > Yes, this is exactly what this issue is about. You'll need to find which dependency needs attica-git and use the Note that you can use |
now that we have .SRCINFO, constructing the dependency tree should be much easier. |
Not really, but since pacaur recently moved to tsort for dependency resolution (#408) I hope I'll find a nice way to achieve this much needed improvement. |
Initial error tracker implemented in ad7813e. Tsort definitely helped a great deal here! The output looks like this:
This needs some cleaning, and is implemented at the moment for missing dependency only. The Feedback welcome! |
Looks great! The only downgrade I can see is that version bounds are no longer emitted. Using your
Note the |
Fixed in 912ef4c:
I do not think a different error message is necessary since all that info is contained in the version number already. Required package in case of conflicts (only when upgrading) has been implemented in 7e230c5. |
I'm getting a strange behavior which seems related to this.
There are several things odd about this:
|
@gandalf3 Could you open a new issue with the additional debug output? Thx. |
bmp is a makedep of the dep libxmp. A more explicit error message, such as "no result found for dependency bmp" would be very welcome.
For reference, here is a similar pacman output:
The text was updated successfully, but these errors were encountered: