From 468f46462f251032443fac188f66feba85b9aa79 Mon Sep 17 00:00:00 2001 From: Miro HronĨok Date: Dec 28 2021 21:21:41 +0000 Subject: Weak dependencies on subpackages MUST NOT be fully versioned This is driven by: - https://fedoraproject.org/wiki/Changes/ExcludeFromWeakAutodetect - https://bugzilla.redhat.com/show_bug.cgi?id=1699672#c44 --- diff --git a/guidelines/modules/ROOT/pages/WeakDependencies.adoc b/guidelines/modules/ROOT/pages/WeakDependencies.adoc index 6c88b5d..adcfbd0 100644 --- a/guidelines/modules/ROOT/pages/WeakDependencies.adoc +++ b/guidelines/modules/ROOT/pages/WeakDependencies.adoc @@ -32,6 +32,24 @@ dependencies or remove them later. To skip installing weak dependencies, pass As with regular dependencies, weak dependencies MUST be satisfiable within the official Fedora repositories. +Unlike regular dependencies, +weak dependencies on subpackages MUST NOT be fully versioned; +reasonable version bounds or dependencies without versions MUST be used instead. + +Avoiding fully versioned weak dependencies makes it possible for the package installer to recognize new weak dependencies from the already existing ones. +Including the always-changing version-release in the dependency would result in treating it as a new weak dependency on every package update. +Examples of correct (and incorrect) weak dependencies: + +.... +# DO something like this: +Recommends: extra-functionality-lib > 3.2 +Recommends: %{name}-a-subpackage + +# DON'T DO either of this: +Recommends: %{name}-a-subpackage = %{version}-%{release} +Recommends: %{name}-a-subpackage >= %{version}-%{release} +.... + Weak dependencies may only be used in a package if the package still functions without the dependency present. It is acceptable, however, to create packages that have very limited functionality without adding any of its weak