Back Again

Sam Varshavchik mrsam at courier-mta.com
Wed Aug 1 11:13:03 UTC 2007


Todd Zullinger writes:

>> Ditto for the epoch hack -- my solution fixes the original
>> underlying reason for having an epoch in the first place.
> 
> Eh?  So how do you handle the sometimes retarded versioning schemes of
> upstream sources?  Or the occasional need to push an older version of
> something as an update?

You have to break the built-in assumption that the newer version of a 
package always carries a later version number. The whole reason for the 
epoch is the automatic assumption regarding version and release numbers.

If just replace the built-in version-release succession assumption with a 
resource definition. Right now, packages have a list of provided resources, 
and a list of required resources. This becomes just another type of a 
package resource -- the updated resource. 99% of the time, you're going to 
have:

Updates: package < version-release.arch

where version and release is this package's. But, in those few situations, 
you'll change the default. Your package will have a lower version, but 
specifies that it updates anything with a higher version number. All the 
rest of the existing logic stays the same.

And if the original upstream versions are what's retarded, you just version 
the packages properly, and don't worry about it. Just because the upstream 
versions are retarded, your packages don't have to be. Put the current date 
as the first version component, and upstream's bizarre version label after 
it, and your update process become sane again.

The whole problem that epoch supposed to solve is due to the built-in 
assumptions that packages with higher versions update packages with lower 
versions. If you replace that with just another resource definition that's 
part of the package itself, this whole mess goes away completely.

And this includes all those instances where you change the arch label of a 
package. That's always lots of fun, but once you replace a built-in 
assumption with a resource definition, this again becomes a routine process.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-list/attachments/20070801/0541e430/attachment-0001.sig>


More information about the fedora-list mailing list