Example: ocaml-ocamlnet.i386: E: useless-explicit-provides ocaml(Netcgi1_compat) ocaml-ocamlnet.i386: E: useless-explicit-provides ocaml(Netcgi) ocaml-ocamlnet.i386: E: useless-explicit-provides ocaml(Netcgi_fcgi) $ rpm -q --provides -p ocaml-ocamlnet-2.2.9-7.fc10.i386.rpm | grep Netcgi1_compat ocaml(Netcgi1_compat) = 040e51a87a15ddae2cdb63d0efccaf20 ocaml(Netcgi1_compat) = 7a1ab8c08928af286149e2615562dd72 The package & its dependencies are correct. This package provides two distinct versions of the Netcgi1_compat module. Developers may link with either (via some command line options to ocamlfind). Binary packages built against this must link to precisely one or the other, and not to any other version. So this error should be suppressed for OCaml modules. (A similar bug related to Mono packages: https://bugzilla.novell.com/show_bug.cgi?id=282121)
I should also add that both of this dependencies were generated automatically by our ocaml-find-provides script.
Suppressing is not really the right thing to do here, this is a genuine rpmlint bug. It simply checks if the same Provides name is encountered more than once and issues a warning if yes. It should take Provides versions and all <, <=, =, >=, > also into account and compute which are the Provides that are covered by other ones and issue a warning for those, but this is quite a bit of work so it could take some time to get it fixed.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
This message is a reminder that Fedora 10 is nearing its end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 10. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '10'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 10's end of life. Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 10 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug to the applicable version. If you are unable to change the version, please add a comment here and someone will do it for you. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
This bug appears to have been reported against 'rawhide' during the Fedora 13 development cycle. Changing version to '13'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
This package has changed ownership in the Fedora Package Database. Reassigning to the new owner of this component.
I'm not sure I understand Ville's logic in comment #2. Yes, these sorts of packages will have duplicated explicit provides by design, but how is rpmlint supposed to know that these are acceptable vs incorrectly duplicated Provides, We can't go off the package name, that's a recipe for disaster. As is, rpmlint errs on the side of caution when generating warnings and errors, and I believe that is the correct approach. When common sense and rpmlint are in conflict, go with common sense. I'm closing this as WONTFIX, Ville, if you can explain the bug to me as you see it in more detail, please feel free to reopen.
> ocaml(Netcgi1_compat) = 040e51a87a15ddae2cdb63d0efccaf20 > ocaml(Netcgi1_compat) = 7a1ab8c08928af286149e2615562dd72 The bug here is more of a missing feature. rpmlint ought to notice that there are _multiple_ versions provided, and there even may be a valid reason to provide them (e.g. a package telling that it supports multiple APIs/ABIs). Calling them "E: useless-provides" (rpmlint-1.5) is a mistake. At most, it's could become a warning. $ cat -n /usr/share/rpmlint/TagsCheck.py|less … 811 # TODO: should take versions, <, <=, =, >=, > into account here 812 # https://bugzilla.redhat.com/460872 813 useless_provides = [] …
This bug is currently assigned to an unsupported release. If you think this bug is still valid and should remain open, please re-assign it to a supported release (F22, F23) or to rawhide. Bugs which will be assigned to an unsupported release are going to be closed as EOL (End Of Life) on January 26th, 2016.
The warning no longer occurs for ocaml-ocamlnet. However that is because ocaml-ocamlnet no longer exports two 'ocaml(Netcgi1_compat)' provides (only one). So I don't know if this is fixed in rpmlint or not, although looking at the bug history I suspect it is not fixed.
Upstream is aware of that, they're the ones that will add this feature, so I'm closing this bug out (again).