Description of problem:
When running rpmdeplint against packages that have a declared indirect conflict with other packages the indirect case isn't being correctly determined.
So as an example of that.
We have a new rpm of "glib2-doc-2.28.8-8.el6.noarch" to be installed in optional.
This conflicts with
"glib2-devel-2.26.1-3.el6.i686" on many files because in the change
from 2.26 to 2.28 the documentation has been apparently split into a new package.
But dnf/yum wouldn't install that as glib2-devel-2.26 requires glib2-2.26 which then has a declared conflict of glib2-doc-2.28 which requires glib2.28 which would adequately resolve that conflict from happening.
When this is run within rpmdeplint the problem listed is
"package glib2-devel-2.26.1-3.el6.i686 requires glib2 = 2.26.1-3.el6, but none of the providers can be installed"
which might be sufficient to determine that these packages won't conflict. But more investigation should be done.
(In reply to Tyrone Abdy from comment #0)
> But dnf/yum wouldn't install that as glib2-devel-2.26 requires glib2-2.26
> which then has a declared conflict of glib2-doc-2.28 which requires glib2.28
> which would adequately resolve that conflict from happening.
It's not that there is a Conflicts declared (there isn't, otherwise rpmdeplint would have probably worked correctly since that is what the conditional is checking for in the error message). Instead the requirements are such that yum/dnf would never try to install glib2-devel-2.26 and glib2-doc-2.28 at the same time.
Each subpackage has a versioned requirement onto its base package, which is conventional. The requirements are:
glib2-devel-2.26 -> glib2-2.26
glib2-devel-2.28 -> glib2-2.28
glib2-doc-2.28 -> glib2-2.28
That means if someone tried to install the new glib2-doc package on a system which has glib2-devel-2.26, yum/dnf would know it has to also upgrade glib2 to 2.28, which would trigger glib2-devel to also be upgraded to 2.28, and so there is no conflict. Trying to have glib2-devel-2.26 and glib2-doc-2.28 installed at the same time violates the Requires, which is what libsolv is telling us here:
> When this is run within rpmdeplint the problem listed is
> "package glib2-devel-2.26.1-3.el6.i686 requires glib2 = 2.26.1-3.el6, but
> none of the providers can be installed"
rpmdeplint 1.3 has been released.