On Wed, 2022-02-16 at 21:39 +1030, Simon Lees wrote:
From memory suggests on openSUSE works very differently to Debian, its a while since I used debian though. On openSUSE Suggests isn't very useful for much, really its only useful for cases like if something requires "Display-Manager" and we have multiple choices (sddm, lightdm, gdm) and nothing else has selected one we can use "Suggests: lightdm" to tell zypper etc to install lightdm if it doesn't know what to choose.
zypper does basiclaly, what RPM says it should do: https://rpm-software-management.github.io/rpm/manual/dependencies.html === Weak dependencies In addition to the strong dependencies created by Requires, there are 4 dependencies that are completely ignored by rpm itself. Their purpose is to be used by dependency solvers to make choices about what packages to install. They come in two levels of strength: Weak: By default the dependency solver shall attempt to process the dependency as though it were strong. If this is results in an error then they should be ignored and not trigger an error or warning. Very weak: By default the dependency solver shall ignore them. But they may be used to show the matching packages as option to the user. === Weak are 'recommends and supplements', very weak are 'suggests and enhances'. zypper lists 'usggested' packages in the output, but does not install them; the fact that we use it to give some hints to break some choices for zypper is a SUSE-addition (not sure if other RPM package managers handle it that way too) General rule applied is: * Pkg X needs A to run => Requires * PKG X can use B, and it makes sense for most users => Recommends * PKG X can integrate with C => Suggests (or nothing; as it would only add noise on a zypper dup call) The 'Requires' case is pretty obvious; Recommends is mostly a decision by the package maintainer, who decides what 'his users' would expect from the application. He might know, he might have different usecases than you, but at least with recommends you have a chance to break it. Evince is a prety good example there: * It's a document viewer, based on plugins; there exist n plugins * Traditionally, evince was known as pdf viewer: so we opted for the pdfplugin to supplement evince, as strictly speaking, the plugin is not needed * The other plugins (ps, tiff, xps, djvu) are marked as enhances, so arenot installed by default. Is this correct? For most people probably, for some the app misses features they would expect. No answer satisfy all users. IMHO it is best to work out with the respetive package maintainers based on various observations In the specific case,
python3-sympy recommended python3-jupyter_ipython (comes from python3-ipython)
That's something for the package maintainers to decide; from a gut feel, I'd say ipython is probably not used by the majority of the users (but then, it's IPython/Jupyter LaTeX printing - and I am biased against tex on my system anyway) Cheers, Dominique