I file RFE for rpm, which request soft dependencies in rpm.
https://bugzilla.redhat.com/show_bug.cgi?id=1006954
In comment #5 Florian Festi wanted that FesCo would preliminary approve it. Even before packaging team would consider this bug and filing FeatureRequest for Fedora.
Note: that bug above is just about having that feature in rpm itself. Nothing about dnf, yum or other applications. And nothing about that those application must recognize those relations and handle them. Those will follow only and only if this will be implemented in rpm.
So I would like to ask FesCo: would you like to have Soft Dependecies in some future version of Fedora?
Can you please discuss this on your next meeting?
I'm not really sure what you expect us to discuss. The RPM/Yum/DNF folks upstream are already working on their next major change, which is expected to include some pieces of libsolv. "Soft" dependencies are on their TODO list, I believe.
Libsatsolv and soft deps are orthogonal things.
I'm just messanger as Florian Festi in https://bugzilla.redhat.com/show_bug.cgi?id=1006954#c5 (last bullet of his comment) want from FesCo clear statement that Soft Deps are welcome in Fedora.
I do not understand it either, but since Florian is on rpm development team I do not debate on this. And I do not expect big debate on this from FesCo.
Simple voting on this, and statement "Soft depenencies {are|are not} welcome in Fedora" should be enough.
Okay, read that ticket. I think there's insufficient data for FESCo to make a statement. The reason is that simply saying "soft requirements" leaves a lot open to interpretation when it is implemented. As Florian points out, a lot of interpretation is up to the dep solver so that might be the place to take an initial look.
Debian's implementation of soft requirements are not totally applicable to us as we consider it a feature that installs are unattended. So there has to be some thought as to what soft requirements look like then. Do you always install some, and never install others? In that case, what makes them different from hard requirements and not listing a requirement at all? Perhaps whether they're installed on a box is settable by the sysadmin. In that case, what are the reasons to need more than one type of soft requirement? In the case where a sysadmin has the default to install soft requirements but for a specific package, they have uninstalled the soft requirement will the depsolver be intelligent enough to handle that or will it continually install the soft requirement when the package is updated?
Note -- this is somewhat more positive than the tilde-in-version case that Florian mentions, but I still don't think FESCo should be making a statement about whether we'd use soft requirements without more of a plan.
So, I can think of several examples of soft dependencies off the top of my head (some taken from Debian and thus using their terminology).
I know there are more to consider out there, but these should be good for seeding the discussion.
So there has to be some thought as to what soft requirements look like then.
Yes. But that is different topic. I do not want to discuss how soft dependencies in Fedora should looks like, what should be implemntation... I want from FesCo just simple answer: Do we want soft deps at all. We had for ages only hard deps. So lets start with this simple question. If the answer will be "Yes", we (or you) can then start debate how we want to implement it. But that is different task, should be different ticket.
Do you always install some, and never install others?
Leave it up to admin, and up to tools above rpm.
In that case, what makes them different from hard requirements and not listing a requirement at all?
Because hard requirements will force you to install packages which are not strictly required (e.g. perl modules for MidnightCommander). Or does not give hint to admin that there are packages which can enhance the packages he is going to install (e.g ModemManager for NetworkManager).
Perhaps whether they're installed on a box is settable by the sysadmin.
Nope, it is settable by interactive tools above rpm (e.g Apper, DNF, YUM...). RPM itself will still enforce just that hard requirements as is now. And rpm itself - in form as suggested in bug 1006954 - can completly ignore those soft deps (just recognize them as valid tokens) and leave the handling for interactive tools above rpm.
In that case, what are the reasons to need more than one type of soft requirement?
a) because it brings better user experience
b) because everybody else is using it. And we does not fulfill our motto “Freedom, Friends, Features, First”
In the case where a sysadmin has the default to install soft requirements but for a specific package, they have uninstalled the soft requirement will the depsolver be intelligent enough to handle that or will it continually install the soft requirement when the package is updated?
That's up to that interactive application above rpm. That is not task for rpm. And definitely not topic for this ticket.