choosing the lesser evil - mednafen versioning scheme

Michael Schwendt mschwendt at gmail.com
Tue Oct 28 15:32:24 CET 2008


On Tue, 28 Oct 2008 10:52:13 +0100, Julian Sikorski wrote:

> What is so wrong with using epoch anyway?

They are poisonous. ;) Whenever you deal with dependencies on packages
that set an Epoch, you need to specify the Epoch explicitly also in the
dependencies. And you need to verify all Epochs in all your dependencies
regularly.

Example:

  libfubar and libfubar-devel
  Epoch: 1
  Version: 1.9.a

  foo
  Version: 2.0
  BuildRequires: libfubar-devel >= 2.0

libfubar-devel-1.9.a will suffice, although it is not version 2.0, but
due to the Epoch 1:1.9.a is > 2.0. In pkg foo, it should have been

  BuildRequires: libfubar-devel >= 1:2.0

with an explicit Epoch 1. Now image what happens next time when you need
libfubar-devel >= 2.4 for run-time fixes and meanwhile the libfubar
packager has increased the Epoch at least once. You would think that

  BuildRequires: libfubar-devel >= 1:2.4

is enough -- without checking the Epoch (which is specific to your rpms
anyway!) painstakingly -- but again, libfubar-devel-2.3g would suffice,
because Epoch is at 2 or higher already, so 2:2.3g > 1:2.4 and so on...


More information about the rpmfusion-developers mailing list