From 7154adcc876d5fefe8fcf42f85ac659c15ee3e7d Mon Sep 17 00:00:00 2001 From: Jason Tibbitts Date: Oct 12 2021 23:02:55 +0000 Subject: SemBr for Epochs section --- diff --git a/guidelines/modules/ROOT/pages/index.adoc b/guidelines/modules/ROOT/pages/index.adoc index 88deb82..a7654de 100644 --- a/guidelines/modules/ROOT/pages/index.adoc +++ b/guidelines/modules/ROOT/pages/index.adoc @@ -2707,7 +2707,13 @@ rather than simply accepted as the upstream code base. == Use of Epochs -RPM supports a field called "Epoch:", which is a numeric field, that, if set, adds another qualifier for RPM to use in doing package comparisons. Specifically, if set, the Epoch of a package trumps all other comparisons (except for a larger Epoch). If Epoch is not set in a package, RPM treats it the same as if it was set to 0. +RPM supports a field called "Epoch:", +which is a numeric field, that, if set, +adds another qualifier for RPM to use in doing package comparisons. +Specifically, if set, the Epoch of a package trumps all other comparisons +(except for a larger Epoch). +If Epoch is not set in a package, +RPM treats it the same as if it was set to 0. Example: @@ -2717,9 +2723,19 @@ Release: 3%{?dist} Epoch: 1 .... -A package with those definitions would be considered greater than a package with a higher version or a higher release. Since Epoch is confusing to humans (and can never be removed from a package once used), it should only be used in Fedora *as a last resort* to resolve upgrade ordering of a package, and should be avoided wherever possible. +A package with those definitions would be considered greater than +a package with a higher version or a higher release. +Since Epoch is confusing to humans +(and can never be removed from a package once used), +it should only be used in Fedora *as a last resort* +to resolve upgrade ordering of a package, +and should be avoided wherever possible. -Also, Epoch complicates normal packaging guidelines. If a package uses an Epoch, it must be referred to in any place where `+%{version}-%{release}+` is used. For example, if a package being depended upon has an Epoch, this must be listed when adding a versioned dependency: +Also, Epoch complicates normal packaging guidelines. +If a package uses an Epoch, +it must be referred to in any place where `+%{version}-%{release}+` is used. +For example, if a package being depended upon has an Epoch, +this must be listed when adding a versioned dependency: .... Requires: foo = %{epoch}:%{version}-%{release} @@ -2727,7 +2743,10 @@ Requires: foo = %{epoch}:%{version}-%{release} === Epochs from Third Party Repositories -If a package to be imported is or previously was present in a publicly accessible repository, the packager can optionally include an Epoch tag equal to that of the most recent version of the third-party package. +If a package to be imported is or previously was present +in a publicly accessible repository, +the packager can optionally include an Epoch tag +equal to that of the most recent version of the third-party package. == Symlinks