Для довольно длительного чтения смотрите: https://fedoraproject.org/wiki/Packaging:Versioning
Эпоха используется очень редко. Если он не определен, он установлен в 0 и не печатается. Эпоха используется для устранения пробелов в именовании. Например, у апстрима есть проект foo
и версия 2009, и вдруг они решают сменить версию, и следующая версия будет 10. И теперь ваш путь обновления должен быть с foo-2009 до foo-10, но rpm обрабатывает foo-2009> foo-10 и не будет обновлять его. Таким образом, сопровождающий должен пересечь эпоху, и rpm сравнивает foo-2009 == 0: foo-2009 <1: foo-10.
Выпуск должен начинаться с 1, и каждый раз, когда вы выпускаете новый пакет - но с тем же tar.gz той же версии - вы должны увеличивать выпуск. Это можно изменить в пост-установочном скриптлете. Изменение требований времени выполнения. Перестройте из-за изменения в ABI требуемой библиотеки. Или потому что maintaner добавить патч. Обычно исправление причин безопасности. Формат поля выпуска не стандартизирован, поэтому вы можете только догадываться, почему сопровождающий использовал этот формат. И на самом деле вам не нужно угадывать, так как вы можете прочитать список изменений rpm, где изменение должно быть описано.