On Tue, 6 Aug 2013 16:15:26 +0800, Christopher Meng wrote: > In fact if a package has Epoch 1 I would like to keep, but I can't > understand why they started epoch from 0. You would need to find a time-machine and return to the fedora.us era where an explicit "Epoch: 0" was introduced to packages to make versioned dependencies more strict/safe and more convenient to use. For example, a dependency "Requires: libfoo >= 2.0-5" would be satisfied by _any_ version of libfoo, if Epoch is set to a non-zero value inside package libfoo: $ rpmdev-vercmp 2.0-5 1:2.0-1 2.0-5 < 1:2.0-1 The packager assumes that 2.0-5 is new enough, but since Epoch is at 1 already, the older 2.0-1 build is seen as "new enough", too. It could even happen that a rewritten/forked/split-off build of libfoo would restart with a lower %version and a bumped %epoch. Then: $ rpmdev-vercmp 2.0-5 1:0.1-1 2.0-5 < 1:0.1-1 The tedious work-around would be to look up the Epoch values for all packages in versioned dependencies. Or to specific zero Epoch == no Epoch in dependencies, which works fine nowadays. "Requires: libfoo >= 0:2.0-5" $ rpmdev-vercmp 0:2.0-5 2.0-5 0:2.0-5 == 2.0-5 Drop old "Epoch: 0" definitions in spec files, if you still find some. Most have been dropped already years ago. http://www.redhat.com/archives/fedora-packaging/2005-February/msg00134.html -- packaging mailing list packaging@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/packaging