There was no objection to my mail: https://lists.fedoraproject.org/pipermail/packaging/2015-January/010417.html so I'm proposing this change to guidelines. If approved, it should be likely placed just after http://fedoraproject.org/wiki/Packaging:Guidelines#Conditional_dependencies
= Weak Dependencies =
Starting from Fedora 22, it is allowed to use reverse [http://www.rpm.org/wiki/PackagerDocs/DependenciesOverview#Weakdependencies weak dependencies]: "Enhances" and "Supplements".
{{{ Enhances: httpd }}}
and in this case, if user is installing "httpd" then interactive package manager should ask an user whether he wants to install mod_ssl too. With default action to not install "mod_ssl". Non-interactive package managers can ignore this tag.
{{{ Supplements: hugin }}}
and in this case if user is installing "hugin" then interactive package manager should ask an user whether he wants to install "Autopano-sift-C" (if repository with this package is enabled). With default action to install "Autopano-sift-C". Non-interactive package managers should install this package, however not honoring this tag is not an error and ignoring this tag is acceptable behaviour for non-interactive package managers.
Usage of other soft dependencies ("Recommends" and "Suggests") is not allowed for now, but we encourage authors of package management tools to support them, as those tags will be allowed in near future.
We discussed this at today's meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-01-15/fpc.2015-01-15-17.00.txt):
Very weak deps (Suggests, Enhances) are used as package preference. Target packages will be installed if packages in the transaction requires one of their Provides - no configuration in DNF (it's a hint for depsolver).
For dealing with weak deps (Recommends, Supplements) DNF will have configuration option install_weak_deps with allowed values auto/always/never. The auto will be set by default. Auto will install recommended and supplemented packages only if there's no conflict.
install_weak_deps
auto
Auto
From dnf repoquery you will be able query packages by these flags [1].
Interactive mode is not planned nowadays. Maybe in the future.
[1] https://bugzilla.redhat.com/show_bug.cgi?id=1184930
During the DevConf discussion (http://developerconference2015.sched.org/event/11e9e2f0e59d450c05b4c56d07d8cfe7?iframe=no) it was said that it'll "just work" in anaconda in the sense that all depsolving is done outside anaconda. The only thing missing would be the '''install_weak_deps''' option equivalent in the UI. Personally, I'm actually in favour of letting the packagers use these weak dependencies in packages, as there were quite a few useful scenarios outlined. I know these scenarios were written down, so hopefully they'll be included as examples in an updated policy proposal.
We discussed this at this weeks meeting (http://meetbot.fedoraproject.org/fedora-meeting-1/2015-02-19/fpc.2015-02-19-17.00.txt):
It's been a month since the meeting. Is there any chance of having a draft we can consider?
Another four weeks have gone by. I'll go ahead and drop this off of our schedule, but please do feel free to reopen if you would like to provide a draft we can consider.
Metadata Update from @tibbs: - Issue assigned to tibbs
Login to comment on this ticket.