From 36bb50f071491924cf577cd3a944bef28a4aee83 Mon Sep 17 00:00:00 2001 From: Carl George Date: Apr 13 2022 20:48:00 +0000 Subject: Add dependencies section to EPEL Packaging Guidelines The implements the recently discussed refinements to dependencies. In summary, EPEL packages can require packages from the Target Base or other EPEL packages. They can additionally recommend packages from other RHEL channels. https://lists.fedoraproject.org/archives/list/epel-devel@lists.fedoraproject.org/thread/VAYJH5EFAIWHKUKA7LIMASBHYVSW75IW/ --- diff --git a/modules/ROOT/pages/epel-packaging.adoc b/modules/ROOT/pages/epel-packaging.adoc index 3fde6c7..4ecb7a1 100644 --- a/modules/ROOT/pages/epel-packaging.adoc +++ b/modules/ROOT/pages/epel-packaging.adoc @@ -2,15 +2,39 @@ include::partial$attributes.adoc[] = EPEL Packaging :toc: -This page contains guidelines which are no longer relevant to Fedora, -but still apply to EPEL packages. These guidelines are designed to avoid -conflict with the larger Fedora Packaging Guidelines, but should any -conflicts occur, these guidelines should take precedence (on EPEL -packages). +This page contains guidelines which are not relevant +or are no longer relevant to Fedora, +but still apply to EPEL packages. +These guidelines are designed to avoid conflict with the larger +xref:packaging-guidelines::index.adoc[Fedora Packaging Guidelines], +but should any conflicts occur, +these guidelines should take precedence on EPEL packages. As a reminder, these guidelines only apply to EPEL packages, not to Fedora packages. +[[package_dependencies]] +== Package Dependencies + +All EPEL package dependencies (build-time or runtime) +MUST ALWAYS be satisfiable within the Target Base +(as defined by xref:epel-policy.adoc#_policy[EPEL Policy]) +or EPEL itself. +xref:packaging-guidelines::WeakDependencies.adoc[Weak package dependencies] +are allowed on packages from other RHEL channels +that are not part of the Target Base, +such as the HighAvailability or ResilientStorage channels. +This allows for repoclosure with only the Target Base, +but allows EPEL packages to pull in other packages via weak dependencies +when additional channels are enabled. + +This does not mean that EPEL packages should incorrectly identify +a dependency as weak (e.g. changing a Requires to a Recommends). +On a case by case basis, exceptions to this policy may be granted +by the EPEL Steering Committee. +To request an exception https://pagure.io/epel/issues[open an issue] +and add the "meeting" tag. + [[limited_arch_packages]] == Limited Arch Packages