Bug 1006954 - RFE: soft dependencies
Summary: RFE: soft dependencies
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: rpm
Version: rawhide
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: ---
Assignee: Packaging Maintenance Team
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-09-11 14:52 UTC by Miroslav Suchý
Modified: 2018-04-11 11:55 UTC (History)
16 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2014-02-19 16:03:41 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
mentioned patch (9.92 KB, patch)
2013-11-15 14:32 UTC, Matěj Cepl
no flags Details | Diff

Description Miroslav Suchý 2013-09-11 14:52:54 UTC
Please add soft dependencies to rpm:
 * Suggest
 * Recommends
 * Enhances

With the meaning known from Debian world:
http://www.debian.org/doc/debian-policy/ch-relationships.html

Comment 1 Jan Zeleny 2013-09-12 08:10:38 UTC
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.

Comment 2 Adam Williamson 2013-10-23 07:30:44 UTC
Could you summarize your reservations with how Mandriva and SUSE are doing this (and have been doing it for years)?

Comment 4 Jan Zeleny 2013-10-23 08:37:03 UTC
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.

Comment 5 Florian Festi 2013-11-14 16:06:20 UTC
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)

Comment 6 Michael Cronenworth 2013-11-14 20:53:39 UTC
Florian, I don't see a patch?

Comment 7 Miroslav Suchý 2013-11-15 00:08:01 UTC
> * 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

amavisd-new
banshee-community-extensions
bluedevil
emelfm2 
empathy
everything, which has -doc subpackage
gcstar
gnome-shell-extensions
gvfs
kde-settings-kdm
kdenlive
kile
mariadb-server
mc
osc
perl-DBD-Pg
perl-DBI
perl-Devel-Cover
perl-Locale-Maketext-Lexicon
perl-libwww-perl
postgresql-server
ranger
shinken
spyder
totem
various langpacks like: libreoffice-langpack-*
virt-daemon
xarchiver
xorg-x11
xz

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:
https://fedorahosted.org/fesco/ticket/1203

Comment 8 Miroslav Suchý 2013-11-15 00:09:32 UTC
Michael, that patch is not attached. I just post link to it in comment #3

Comment 10 Miroslav Suchý 2013-11-21 08:03:42 UTC
> * Get statement from FeSCo or FPC that such tags are welcome

AGREED: FESCo would be OK with some implementations of soft
dependencies.
https://fedorahosted.org/fesco/ticket/1203#comment:6

Comment 11 Florian Festi 2014-02-19 16:03:41 UTC
Feature is in RPM and libsolv upstream. Createrepo still needs to be extended.

Comment 12 Miroslav Suchý 2014-02-23 14:22:23 UTC
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*


Note You need to log in before you can comment on or make changes to this bug.