Ian Jackson writes ("Re: Bug#891216: Requre d-devel consultation for epoch bump [and 2 more messages]"): > Control: tags -1 + patch > > Thanks for the feedback. Please find attached a diff against current > master.
The attachment seems to have got lost. Sorry, here it is. Ian.
diff --git a/policy/ch-controlfields.rst b/policy/ch-controlfields.rst index 0771346..166cdd8 100644 --- a/policy/ch-controlfields.rst +++ b/policy/ch-controlfields.rst @@ -552,9 +552,10 @@ The three components here are: omitted, in which case zero is assumed. If it is omitted then the ``upstream_version`` may not contain any colons. - It is provided to allow mistakes in the version numbers of older - versions of a package, and also a package's previous version - numbering schemes, to be left behind. + Epochs can help when the upstream version numbering scheme + changes, but they must be used with care. You should not change + the epoch, even in experimental, without getting consensus on + debian-devel first. ``upstream_version`` This is the main part of the version number. It is usually the @@ -622,9 +623,23 @@ These two steps (comparing and removing initial non-digit strings and initial digit strings) are repeated until a difference is found or both strings are exhausted. -Note that the purpose of epochs is to allow us to leave behind mistakes -in version numbering, and to cope with situations where the version -numbering scheme changes. It is *not* intended to cope with version +Epochs should be used sparingly +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +Note that the purpose of epochs is to cope with situations where the +upstream version numbering scheme changes and to allow us to leave +behind serious mistakes. +If you think that increasing the epoch is the right solution, +you should consult debian-devel and get consensus before doing so +(even in experimental). + +Epochs should not be used when a package needs to be rolled back. +In that case, use the ``+really`` convention: for example, if you +uploaded ``2.3-3`` and now you need to go backwards to upstream 2.2, +call your reverting upload something like ``2.3+really2.2-1``. +Eventually, when we upload upstream 2.4, the +really part can go away. + +Epochs are also not intended to cope with version numbers containing strings of letters which the package management system cannot interpret (such as ``ALPHA`` or ``pre-``), or with silly orderings. [#]_