Hello, On Nov 5 08:13 Michal Kubecek wrote (excerpt):
On Tuesday 04 of November 2014 14:32:09 Johannes Meixner wrote:
%if 0%{?suse_version} Recommends: foo %else Requires: foo %endif
Do you have an example where this is a good idea? I.e. where the dependency relation between the packages A an B is not strong enough to use "Requires: B" in openSUSE package of A but is strong enough to justify forcing users of other distributions to either install B or break dependencies?
If I had to package CUPS for a distribution that does not support weak RPM dependencies, I would have to use "Requires: foo" basically for all what is "Recommends: foo" in cups.spec for SUSE. We had this kind of problem all the time in "the (good?) old times" when SUSE did not yet had support for weak RPM dependencies. Usually we had to use "Requires: foo" for dependency relations that were actually only "Recommends: foo" because otherwise we got bug reports from users that "it does not work" when functionality that is not mandatory but expected to be there was not available because another package "foo" was not (automatically) installed. This means when packaging software for a distribution that does not support weak RPM dependencies, the usual way is "Requires: foo" because it is better to satisfy usual end-user expectations than making experts happy who enjoy to have a mininmal system. I think even nowadays there are still packages in openSUSE where "Requires: foo" is used instead of "Recommends: foo". For an example where "Requires" was falsely requested see https://bugzilla.opensuse.org/show_bug.cgi?id=776080#c38 and my explanation why "Recommends" must be use whenever possible https://bugzilla.opensuse.org/show_bug.cgi?id=776080#c39 https://bugzilla.opensuse.org/show_bug.cgi?id=776080#c40 excerpt: -------------------------------------------------------------------- Keep RPM Requires as small as possible - i.e. only what is really mandatory to let the software run - and specify all what is optional (i.e. what is not really mandatory) as RPM Recommends. -------------------------------------------------------------------- Bottom line: When packaging software for a distribution that does not support weak RPM dependencies, the usual way is "Requires: foo". When packaging software for a distribution that supports weak RPM dependencies, the usual way is "Recommends: foo". Kind Regards Johannes Meixner -- SUSE LINUX GmbH -- Maxfeldstrasse 5 -- 90409 Nuernberg -- Germany HRB 21284 (AG Nuernberg) GF: Jeff Hawn, Jennifer Guild, Felix Imendoerffer -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org