On Mon, 23 May 2022, Martin Wilck wrote:
On Sat, 2022-05-21 at 21:30 +0930, Simon Lees wrote:
But in trying to answer that question I don't think you really can. Recommends really means "The maintainer thinks you really should have this unless your use case has a very good reason not to".
People keep saying this on this ML, but I don't buy it. First of all, it's different from the natural language meaning of "Recommends". It'd rather be like "VeryStronglyRecommends:". Second, not every maintainer uses it like this.
Setting solver.onlyRequires = true is the first thing I usually do on openSUSE. I am aware that it sometimes causes traps, but I prefer thatn over the bloat that results if I don't.
I believe that we have better instruments than "Recommends" these days, in particular booleans. In the example at hand, we could create a pseudo-package by the name of, say, "system-requires-wifi". Yast would install this package automatically during system setup if Wifi hardware was deteced. Then Networkmanager could have a dependency like this:
Requires: (NetworkManager-wifi = %{version} if system-requires-wifi)
I disagree - system configuration should not be done via rpm
requires (or even recommends). It might be good to do the reverse,
have NetworkManager-wifi provide system-wifi-services or something
like that. And then have the system configuration tool make sure
to install a wifi provider if the user enabled Wifi.
Now - this doesn't help future package splits since obviously
the system configuration tool would need to know beforehand.
But Tumbleweeds way is also really not for un-audited dups since
by definition a dup is a system configuration (as opposed to, say
zypper update -t patch which is what I do on Leap). So conceptually
every 'dup' requires system re-configuration (and in the current way
that's manual, even more so with no-recommends which doesn't seem to
get any serious testing).
Richard.
--
Richard Biener