public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: cygwin-apps@cygwin.com
Subject: Re: upset, genini: different version ordering
Date: Fri, 09 Oct 2015 13:24:00 -0000	[thread overview]
Message-ID: <5617C006.7070908@dronecode.org.uk> (raw)
In-Reply-To: <55AD399D.7020001@dronecode.org.uk>

On 20/07/2015 19:10, Jon TURNEY wrote:
> On 20/07/2015 19:03, Achim Gratz wrote:
>> I've just found that upset and genini will order versions differently.
>> For perl-Carp, genini produces:
[...]
> If I recall correctly, genini is just broken, doing some kind of lexical
> sort which e.g. sorts 1.10 before 1.9.
Something which seems to be missing from this discussion is how Cygwin 
version numbers are supposed to be sorted.

This needs to be simple, documented (and ideally, similar to other 
package managers), so that package maintainers can easily anticipate how 
their package versions are going to be ordered, but [1] seems silent on 
this subject, apart from describing it as 'intuitive'

Here's a list of existing package versions ordered by upset, which I 
think sort differently in setup:

x86:

makeself 2.1.5+20120813+gitdcbe778-1 < 2.1.5-3
tcl-itcl 3.4b1-1                     < 3.4.1-1
tidy     20090325-1                  < 041206-1
wput     0.6.2+git20130413-2         < 0.6.2-1

x86_64:

bzr      2.6.0+bzr6602-1 < 2.6.0-2 < 2.6b2-1
cgdb     0.6.7+20150214+git3a710f9-1 < 0.6.7-1

The result for tidy is particularly unexpected, and looking at the date 
of the package files, just wrong. (This appears to be due to upset 
truncating numeric parts to 4 digits!)

I don't really want to spend effort on unravelling the complexities of 
the sorting that upset does, since I don't think it's worth keeping, and 
we should switch to a scheme which can be described in a paragraph,
e.g. the scheme used by setup and RPM:

Compare contiguous chunks of digits or non-digits.
Non-digit chunks sort before digit chunks.
Digit chunks sort numerically, non-digit chunks sort lexicographically.
The version with a suffix remaining is the greater

[1] https://cygwin.com/setup.html

  parent reply	other threads:[~2015-10-09 13:24 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-20 18:03 Achim Gratz
2015-07-20 18:10 ` Jon TURNEY
2015-07-20 18:42   ` Achim Gratz
2015-07-20 19:00     ` Corinna Vinschen
2015-07-20 20:09       ` Achim Gratz
2015-07-21  6:56         ` Corinna Vinschen
2015-07-21 16:59           ` Achim Gratz
2015-07-21 18:49             ` Corinna Vinschen
2015-07-21 19:13               ` Achim Gratz
2015-07-22  9:43                 ` Corinna Vinschen
2015-07-22 16:21                   ` Achim Gratz
2015-07-23  9:59                     ` Corinna Vinschen
2015-07-23 17:09                       ` Achim Gratz
2015-07-23 19:17                         ` Corinna Vinschen
2015-07-23 19:29                           ` Corinna Vinschen
2015-07-23 19:38                           ` Achim Gratz
2015-07-23 19:51                             ` Corinna Vinschen
2015-07-23 20:02                               ` Achim Gratz
2015-07-24  9:19                                 ` Corinna Vinschen
2015-07-24 18:09                                   ` Achim Gratz
2015-07-24 18:16                                     ` Achim Gratz
2015-10-09 13:24   ` Jon Turney [this message]
2015-10-19 15:42     ` Corinna Vinschen
2015-10-19 17:19       ` Achim Gratz
2015-10-19 17:28         ` Yaakov Selkowitz
2015-10-19 18:13           ` Achim Gratz
2015-10-20 10:27             ` Corinna Vinschen
2015-10-20 13:33               ` Jon Turney
2015-10-20 15:50                 ` Corinna Vinschen
2015-10-20 17:03                   ` Yaakov Selkowitz
2015-10-20 19:18                     ` Corinna Vinschen
2015-10-20 19:53                     ` Achim Gratz
2015-10-20 20:35                       ` Yaakov Selkowitz
2015-10-21 16:45                         ` Achim Gratz
2015-10-21 17:04                           ` Yaakov Selkowitz
2015-11-20 19:14                 ` Jon Turney
2015-10-20 13:47         ` Jon Turney
2015-10-20 17:29           ` Achim Gratz
2015-08-18 18:34 ` Achim Gratz
2015-08-18 19:06   ` Corinna Vinschen
2015-08-18 20:07     ` Achim Gratz
2015-08-19  8:25       ` Corinna Vinschen
2015-08-21 13:28         ` Corinna Vinschen
2015-08-21 18:35           ` Achim Gratz
2015-08-22 10:48             ` Achim Gratz
2015-08-22 10:51         ` Achim Gratz
2015-08-22 13:29           ` Corinna Vinschen
2015-08-22 15:11             ` Achim Gratz
2015-08-24  7:27               ` Corinna Vinschen
2015-09-03 16:34                 ` Corinna Vinschen
2015-08-20 11:37   ` Jon TURNEY
2015-08-20 19:55     ` Achim Gratz
2015-08-24 11:25     ` Yaakov Selkowitz
2015-08-24 12:29       ` Corinna Vinschen
2015-08-24 17:13         ` Achim Gratz

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5617C006.7070908@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=cygwin-apps@cygwin.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).