upset, genini: different version ordering

Jon Turney jon.turney@dronecode.org.uk
Tue Oct 20 13:33:00 GMT 2015


On 20/10/2015 11:27, Corinna Vinschen wrote:
> On Oct 19 20:13, Achim Gratz wrote:
>> Yaakov Selkowitz writes:
>>> Switchable versioning schemes means that code has to be multiplied in
>>> both setup and upset, which is just asking for problems.  There needs to
>>> be one single versioning scheme, period, and using RPM's makes sense.
>>
>> You do know that RPM specifically has an emergency exit in the form of
>> "serials", do you?
>
> I don't.  Brief description?

This is a reference to the RPM "Serial:" tag

This seems to be pretty obscure, but [1] says "Like the Epoch:, the 
Serial: directive should be a number that counts upward. Modern packages 
should use the Epoch: directive instead of Serial:, since Serial: has 
been deprecated for many, many rpm versions. "

> What about epoch handling as Yaakov
> suggested, does that help?  Jon, as our local upset guru, how tricky
> would it be to add epoches to upset?
>
> Or, in other words, how complicated would it be to have the same
> RPM version handling in setup and upset both?

I've done the first step, which is to change upset to use the same 
ordering as setup (which uses an RPM-like ordering)

Patch not attached due to upset license uncertainties, but you can find 
it at 
/sourceware1/cygwin-staging/setup/0001-upset-Change-version-sorting.patch on 
sourceware.

[2] is the list of packages whose ordering would change if this was 
used.  On further study, it appears that upset is ordering all of these 
but tcl-itcl in the opposite order to the chronological (and presumably 
intended) order.

Adding epoch parsing would be additional work.  I'm not sure how much 
value that would have since (a) we are effectively limited to 2 package 
versions, and (b) we can force a given ordering using setup.hint

[1] 
https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/
[2] https://cygwin.com/ml/cygwin-apps/2015-10/msg00003.html



More information about the Cygwin-apps mailing list