There's a number of use cases where the install of weak dependencies is not desired. A lot of security related platforms want the bare minimum installed and want complete control over what's installed so they'd like the ability to turn off weak dependencies. A few usecases of this are 1) the Fedora cloud images where by default we turn of weak dependencies 2) Container images where the smaller is better 3) Fedora IoT is using rpm-ostree for it's image tech and in creating the images needs complete control over what's installed so if they specify iproute they don't necessarily want iproute-tc too as it pulls in other depenencies. The atomic requirements have a basic overview in this comment in ticket 718: https://github.com/projectatomic/rpm-ostree/issues/718#issuecomment-386040279
Adding Walters for any further information.
Related: rhbz #1452348
This is work in progress. Libdnf will be handling DNF configs and you'll be able to the 'install_weak_deps' there.
What's the status of this functionality? Is there a time line?
Ping.
The work on LibDnf is in progress.
(In reply to Jaroslav Mracek from comment #6) > The work on LibDnf is in progress. That doesn't provide a timeline. It's basically a non answer.
https://github.com/projectatomic/rpm-ostree/pull/1513 is a PR for rpm-ostree. I think rpm-ostree is unlikely to parse libdnf config files for server-side composes at least; I'm generally happy with our YAML format now. As far as a new API, in the end rpm-ostree has since gained some nontrivial bits around depsolving, so we end up talking to the lower level goal API anyways and don't need a high level wrapper. The main thing is on the client side today, rpm-ostree checks the goal after and makes sure that (by default) package layering isn't trying to remove something from the "base image". You *can* remove things from the base but it requires a separate `override remove|replace` command. It's kind of like having every package in the base image be a "protected package" or so. Perhaps down the line we could try to switch to marking every package like that and return to using a high level libdnf API, but for now this is OK; we're not blocked.
I believe that this feature is planned for Fedora 33.
is there an update on this? has it landed in F33 as mentioned above?
I suggest that the issue is resolved by commandline option for microdnf `--setopt=install_weak_deps=false`. In case that it doesn't work like expected, please feel free to reopen the bug report.