I'd also change the format to "the smallest possible integer". Epoch's
are already a pain as small integers like "1" or "2". Imagine as
"anything that is suited for the version/release tags is also suited here".
Also, I have mixed feeling about this. As there are some packages that
for historic reasons had to have their Epoch bumped, it is very easy to
forget to add the "1:" in front of the dependency versions. The other
thing is that RPMs deal with "EVR" where "E" stands for
"Epoch", so I
wonder if the right thing wouldn't be to make that clear by having the
Epoch, Version and Release tags all there, always (even if zero).
Anyway, before it would be a problem to make this change as RPM had a
bug that would not correctly equate "Epoch: 0" with a version dependency
lacking the leading ":0", but I believe this has been fixed several RPM
releases ago (right Paul?), so it shouldn't be a problem now. But
please allow a release or two to enforce this so we can propagate this
rule upstream to the packages we import (leaving it as a recommendation
only for FC7 for instance).
Axel Thimm wrote:
Seems like it isn't really clear that we want packagers to evoid
epochs like the devil. There are some situations that require epochs,
when there is no other way to undo versioning and, of course, when
there were epochs to start with.
Currently epochs are only mentioned under the Requires section:
> Second, the Epoch must be listed when adding a versioned dependency
> to achieve robust epoch-version-release comparison. A quick way to
> check the Epoch of package foo is to run:
I'd like to clarify that so that it refers only to non-zero epochs to
avoid people adding "0:" upfront of every mentioned version(-release),
e.g. change "the Epoch" against "a non-zero Epoch"
Then I'd like to have somewhere a recommendation that epochs should be
avoided as much as possible. This seems to belong to
Packaging/NamingGuidelines, where epochs seem to have been left off
(probably deliberately to not lead people into temptation). How about
> Package Epoch
> epochs are generally to be avoided. They provide a last-resort
> mechanism to override package version and release, but are more
> trouble than they are worth while. If you realy have to use an epoch
> you MUST use a simple integer (technically anything that is suited
> for the version/release tags is also suited here). Make sure you
> explore all other possiblities before deciding to use epochs.
Fedora-packaging mailing list