Bug 1293153

Summary: RFE: have `dnf update' provide better information about broken dependencies
Product: [Fedora] Fedora Reporter: N. Jackson <nljlistbox>
Component: dnfAssignee: Packaging Maintenance Team <packaging-team-maint>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 23CC: jsilhan, mluscon, packaging-team-maint, pnemade, vmukhame
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-23 13:32:41 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description N. Jackson 2015-12-20 19:56:17 UTC
Description of problem:
With `dnf update' when there are broken dependencies, in the summary information provided before starting the update, dnf lists the packages that would be skipped in the update due to broken dependencies, but it fails to say why these dependencies are broken. It would be very much more useful if this information were also provided.

Version-Release number of selected component (if applicable):

Fedora GNU/Linux, kernel 4.2.7-300.fc23.x86_64.

$ dnf --version
1.1.4
  Installed: dnf-0:1.1.4-2.fc23.noarch at 2015-11-29 00:26
  Built    : Fedora Project at 2015-11-27 10:25

  Installed: rpm-0:4.13.0-0.rc1.7.fc23.x86_64 at 2015-11-24 19:07
  Built    : Fedora Project at 2015-11-20 13:08


Additional info:

As an example, I recently filed bug https://bugzilla.redhat.com/show_bug.cgi?id=1293143 against the perl package based on the information provided to me by `dnf update', but it turned out that the bug is actually in the polymath package (bug https://bugzilla.redhat.com/show_bug.cgi?id=1292869).

Running `dnf --best update' provided the far more informative message: "Error: package polymake-2.14r1-2.fc23.x86_64 requires perl = 4:5.22.0, but none of the providers can be installed.". If 'dnf update' provided this information straight away, the broken dependency would have been very much less confusing, and the extraneous bug report could have been avoided.

Alternatively, if `dnf update' printed a message suggesting `dnf --best update' when there are broken dependencies of this type, that might be equally useful.

Thanks.

Comment 1 Honza Silhan 2015-12-23 13:32:41 UTC
`--best` is suggested in case of "Skipping packages with conflicts". Broken deps are missing requirements and I don't thing overhelming user with these errors is a good idea. He/she can see errors when trying to update manually skipped package due to broken deps one by one.

If this would confuse more users, we can add it to FAQ.