Red Hat Bugzilla – Bug 1006954
RFE: soft dependencies
Last modified: 2014-02-23 09:22:23 EST
Please add soft dependencies to rpm:
With the meaning known from Debian world:
Thanks for filing the RFE. Be assured that we are slowly starting to look into this but we are talking about multi year effort to get this right.
Could you summarize your reservations with how Mandriva and SUSE are doing this (and have been doing it for years)?
Suse use this patch:
The functionality you refer to is sort of a quick-and-dirty solution. We don't want to do it that way because we would be back here in a few years again with new requests for extensions. Instead we want to take a look at the big picture and (if possible) start working on the enhancement systematically.
The attached patch is in no way adding the desired feature. While is lays the foundation in rpm the actual work needs to be done by the depsolver (which is either yum or dnf). It is unlikely that the needed support will be added to yum. So this won't happen unless yum is replaced by dnf.
There are couple of things that can help make this happen earlier. These include but are not limited to:
* Help dnf getting ready and the default installer/updater in Fedora
* Showing examples in the distribution where the current tags are insufficient
* Showing a significant number of packages that would benefit from the new tags
* Get statement from FeSCo or FPC that such tags are welcome and would be added to the packaging guideline quickly (We still remember how the Debian style tilde support has been handled)
Florian, I don't see a patch?
> * Help dnf getting ready and the default installer/updater in Fedora
Why the layered application, which is build on top of rpm, should code some RFE, which in rpm does not exist? None developer would do that! It must be first supported in rpm, then in others applications including dnf.
> * Showing examples in the distribution where the current tags are insufficient
NetworkManager used to requiered ModemManager (KDE-nm-applet still does), which is nonsense when you do not have modem
This changed recently and NetworkManager does not require ModemManager, which on the other hand means you do not know that
ModemManager can enhance NetworkManager.
There is no need why postgresql-server have hard dependency on client, the same on mariadb.
Xorg server does not require xorg-x11-xfs (because it can be even on different machine and used over tcp), but for most user they need it localy
and its presense will make better user experience.
mc requires some Perl modules, but you do not need them unless you want to access fish and extfs file systems (which I personally never did in my w
hole life), so you can easily just soft require them.
virt-daemon now require glusterfs, which is definitely bogus (there is BZ for that), but if glusterfs is prensent then it could enhance your user experience.
pulseaudio-module-bluetooth is needed by (installed) bluedevil - I'm sure that most of the functionality of bluedevil can live without pulseaudio
kde-settings-kdm requries heisenbug-kde-theme - I'm sure that any other theme will work as well. But yeah suggesting all themes would be nice too.
> * Showing a significant number of packages that would benefit from the new tags
everything, which has -doc subpackage
various langpacks like: libreoffice-langpack-*
This is far from being complete list, but it took me 30 minutes to gather this list. If you need longer list, please say that.
> * Get statement from FeSCo or FPC that such tags are welcome and would be added to
I asked them:
Michael, that patch is not attached. I just post link to it in comment #3
Created attachment 824564 [details]
Originally from https://build.opensuse.org/source/openSUSE:Factory/rpm/weakdeps.diff?rev=9539ec939db286441b45c1c967aea576
> * Get statement from FeSCo or FPC that such tags are welcome
AGREED: FESCo would be OK with some implementations of soft
Feature is in RPM and libsolv upstream. Createrepo still needs to be extended.
Can you please document somewhere on http://www.rpm.org/wiki or somewhere else, what should be semantics of those new tags?
For the record - change in code are commits:
* b60a265 Use --recommends, --suggests, --supplements and --enhances in test case
* 9eb9581 Add --recommends, --suggests, --supplements and --enhances aliases to rpm -q
* 4360e7e Add RPMTAG_RECOMMENDNEVRS, RPMTAG_SUGGESTNEVRS, RPMTAG_SUPPLEMENTNEVRS and RPMTAG_ENHANCENEVRS extension tags
* 87fccc6 Add support for Recommends:, Suggests:, Supplements: and Enhances:
* 2283152 Add tags for a new implementation of weak requirements
* d6ecdb3 Rename RPMTAG_SUGGESTS, RPMTAG_ENHANCES and friends to RPMTAG_OLD*