[ANNOUNCEMENT] Updated: dash 0.5.11.5

Brian Inglis Brian.Inglis@SystematicSw.ab.ca
Thu Sep 23 17:08:19 GMT 2021


On 2021-09-23 07:36, Jon Turney wrote:
> On 22/09/2021 04:30, Brian Inglis wrote:
>> On 2021-09-21 14:04, Jon Turney wrote:
>>> Release numbers starting with 0 already have a defined meaning.
>>> They are to be used for upstream pre-release versions
>>> e.g pkg-1.0-0.1.g12345678 is a pre-release of pkg 1.0, since this 
>>> sorts before pkg-1.0-1

>>> See https://fedoraproject.org/wiki/Package_Versioning_Examples, 
>>> included by reference in 
>>> https://cygwin.com/packaging-package-files.html, for some more examples.

>> Thanks for that pointer and link, but the examples are simple with 
>> uniform version levels and random strings ordered using sequential 
>> prefixes.

>> The upstream bison test versions I was trying while working on some 
>> test config problems with bison 3.8/3.8.1 e.g.
>> bison-3.8.1.27-dd6e.tar.xz, bison-3.8.1.29-5c106.tar.xz should they be
>> 3.8.1.27-0.1.dd6e, 3.8.1.29-0.1.5c106 or
>> 3.8.1-0.27.dd6e, 3.8.1-0.29.5c106 or even
>> 3.8.1-0.1.27.dd6e, 3.8.1-0.2.29.5c106 ?

> Question is a little unclear, but I think the answer is you are looking 
> for is that R should be something like '0.<serial|date>.<hash>'

Thanks Jon,

Sorry I meant to address VERSION and RELEASE, which means none of my 
alternatives are usable, but my first set of alternatives would work, 
with the second test release's serial bumped.

>> For these multi-level versions, is ls -v or sort -V definitive for 
>> Cygwin versions, or some other sort?

> https://cygwin.com/packaging-package-files.html also describes the 
> ordering.

>>  Version and release sort according to the following rules:
>>
>> Contiguous chunks of digits or alphabetic characters are compared
>> Non-alphanumeric separators for these contiguous chunks are ignored
>> Alphabetic chunks sort before digit chunks
>> Digit chunks sort numerically and alphabetic chunks sort 
>> lexicographically
>> If all chunks are equal, the string with any suffix remaining is 
>> the greater

I looked at the calm, setup, ls, and sort code, and they appear similar, 
but I missed the subtlety of alpha before numeric.

The first rule also implies that mixed symbol sets like hashes, hex, or 
encodings generate multiple not usefully comparable chunks.

>> A package with a higher version is greater, regardless of the release. 
>> When two packages have an identical version, the one with the higher 
>> release is greater. 

The Cygwin code also supports a leading /epoch:/ default 0 like Debian.

> This is the ordering known as 'rpmvercmp'.

I noticed the mention of rpmvercmp, but it appeared non-definitive.

-- 
Take care. Thanks, Brian Inglis, Calgary, Alberta, Canada

This email may be disturbing to some readers as it contains
too much technical detail. Reader discretion is advised.
[Data in binary units and prefixes, physical quantities in SI.]


More information about the Cygwin-apps mailing list