Bug 116703

Summary: implement RPM epoch field to prevent RPM about complaining on version downgrades
Product: [openSUSE] SUSE Linux 10.1 Reporter: Forgotten User OS1JNCFbCX <forgotten_OS1JNCFbCX>
Component: BasesystemAssignee: Michael Schröder <mls>
Status: RESOLVED WONTFIX QA Contact: E-mail List <qa-bugs>
Severity: Enhancement    
Priority: P5 - None CC: dmueller, ro
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: SUSE Other   
Whiteboard:
Found By: Beta-Customer Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User OS1JNCFbCX 2005-09-13 08:16:19 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?
Comment 1 Michael Schröder 2005-09-13 10:43:01 UTC
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. 
Comment 2 Dirk Mueller 2005-09-13 11:39:42 UTC
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 
Comment 3 Dirk Mueller 2005-09-13 11:41:07 UTC
and comparing distributions is a bad case as well, because "SUSE LINUX 10.0" 
is probably "older" than "SUSE LINUX 9.3" 
 
 
Comment 4 Michael Schröder 2005-09-13 12:29:47 UTC
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.