Description of problem: Following what is given here https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#weak-dependencies 1) created 2 (empty, noarch) packages foo and bar where bar.spec contains Supplements: foo 2) Copr repo name -> pnemade/weakdeps Copr builds -> https://github.com/rpm-software-management/dnf/wiki/Bug-Reporting#weak-dependencies 3) Command used -> dnf install foo Trying to understand the meaning of " A packages containing Supplements: foo on the other hand should be added if a package named foo or containing Provides: foo is installed." as given on http://www.rpm.org/wiki/PackagerDocs/DependenciesOverview#Weakdependencies From the given statement I think when I do "sudo dnf install foo" , the dnf transaction should also pull bar package. But, its not doing that. Am I wrong in above understanding of using Supplements:? Thanks.
oops let me correct the link Copr builds -> https://copr.fedoraproject.org/coprs/pnemade/weakdeps/builds/
Thanks for the report and workground. Seems like weak deps tags are not contained in metadata from COPR. Moreover after downloading RPM packages itself Supplements tag is ignored during resolution in depsolver (tag is saved in internal structure) -> will will look at that.
I did some testing on using supplements tag. If a package contains only one supplements in spec file then it works but If I need more complex way of using supplements like in foobar.spec ( here consider if xyz already installed then install abc also) supplements: abc AND xyz then its not working. I then split this as supplements: abc supplements: xyz still then "dnf repoquery --supplements foobar" failed to show output as abc yyz
Rich dependencies are not supported even in RPM yet. Would you mind sharing the code (PR) implementing `--supplements` option so we can figure out whats wrong here?
I first need to understand if following usage is correct? supplements: abc AND xyz Using AND to make sure if xyz is already installed on the system then only install abc. Not sure how to achieve this. I have never seen AND used for any Requires: or Provides: tag.
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle. Changing version to '22'. More information and reason for this action is here: https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22
(In reply to Parag from comment #5) > I first need to understand if following usage is correct? > supplements: abc AND xyz it should be correct > Using AND to make sure if xyz is already installed on the system then only > install abc. Not sure how to achieve this. I have never seen AND used for > any Requires: or Provides: tag. AND is part of rich dependencies - not already in current rpm AFAIK but it's supported by libsolv. The guideline with use cases should be revealed soon, by Florian Festi.
The bug request is for [1]. I believe this should be closed. At the time of creation of this report, the Fedora servers didn't support weak deps (in rpm from f21). Now dnf should handle them from COPR or from official Fedora repo. For rich dependencies you would have to probably wait. [1] https://fedoraproject.org/wiki/Packaging:WeakDependencies