Bugzilla – Bug 116703
implement RPM epoch field to prevent RPM about complaining on version downgrades
Last modified: 2005-09-13 12:29:47 UTC
On Dirk's request I write down here what was discussed on suse-beta-e: What could be done about this problem is introducing a distribution branched timestamp in the RPM epoch field. That would even allow you to safely downgrade to an older release if the current release is found instable. More detailed description from my later mail: Just split a 32 bit number into two parts (maybe 22 and 10 bit, but this is only an example, a more appropriate splitting might be found). We call the most significant bits the distribution number and the least significant bits the build number. Now you increase the distribution number every time you publish a new release of the full distribution thus preventing accidently downgrading RPM packages to those of an old distribution version. Additionally you increase the build number every time you do a version change on the package which RPM would consider a version downgrade although it is not intended to be one. Note: Don't mix up the term "build number" here with the release field in an RPM package. Comments? Problems with this systems? Improvements?
Nah, even the guys at redhat say that epoch is a bad idea... Changing the distribution is a policy issue, you can not solve such issues with rpm. In fact, I think that rpm should be changed to ignore epoch and release number if the distribution tag doesn't match. epoch/release is a local invention of the distributor, so it makes no sense to compare those fields in two different distributions.
I'm sorry, you didn't understand the issue. its within suse distributions where it doesn't work. cross-distribution updates is a totally different issue
and comparing distributions is a bad case as well, because "SUSE LINUX 10.0" is probably "older" than "SUSE LINUX 9.3"
I'm not talking about "older" or "newer", it's just same/different. Even within SUSE it is a policy thing. If you want an upgrade you define that "10.0" is newer that "9.3", if you want to go back you delete this relation. Don't try to solve this stuff with epochs.