public inbox for cygwin-apps@cygwin.com
 help / color / mirror / Atom feed
From: Jon Turney <jon.turney@dronecode.org.uk>
To: Brian Inglis <Brian.Inglis@SystematicSw.ab.ca>
Cc: cygwin-apps@cygwin.com
Subject: Re: ncurses version
Date: Wed, 31 Jan 2024 23:05:24 +0000	[thread overview]
Message-ID: <ea0b547d-88b8-4ab5-a4f9-132ddf31fbad@dronecode.org.uk> (raw)
In-Reply-To: <2c43c0cd-c52d-4363-ad6e-140d3e174442@Shaw.ca>

On 31/01/2024 20:45, Brian Inglis via Cygwin-apps wrote:
> On 2024-01-31 10:36, ASSI via Cygwin wrote:
>> Jon Turney via Cygwin writes:
>>> If upstream really is making multiple releases called '6.4', which
>>> we're supposed to distinguish by some other means, then there aren't
>>> really any good answers...
> 
>> There's only one official 6.4 release, but just about everyone packages
>> one of the roughly weekly snapshots inbetween releases (depending on
>> where you are looking they are also called beta versions), which are
>> named 6.4-yyyymmdd upstream.  We can't have a "-" in the version number,
>> hence the suggestion to replace it with a "+".
> 
> [moving discussion to -apps]
> 
> Upstream developer is Thomas Dickey at invisible-island.net so no git.
> 
> My only concern is if 6.4+20240203-1 !> 6.4-20240120 as strvercmp test 
> beds disagree, presumably about the effect of the delimiter, possibly 
> because the + may be treated similarly to a prefix for an RC preceding 
> the 6.4 release?
> 
> For guidance I have looked at:
> 
>      https://docs.fedoraproject.org/en-US/packaging-guidelines/Versioning/
> 
> which states that ~ prefixes pre-stable "snapshot" releases and ^ 
> prefixes post-stable "snapshot" releases where . or nothing prefixes 
> upstream bugfix or patch level releases, so perhaps we should just use 
> version suffix .yyyymmdd?

So, this is notionally defined here [1].

The important point there "Non-alphanumeric separators for these 
contiguous chunks are ignored" (after identifying chunks)

So '1.2.3' '1+2+3' and '1_2_3' are all equal.

[1] https://cygwin.com/packaging-package-files.html#naming

Practically, this is controlled by the version comparison which libsolv 
does, which I am expecting to also work like that.

(Perhaps naively. All the details are paged-out at the moment. I think I 
remember there's a flag which you have to give it to turn on the special 
behaviour of tilde and caret, which in any case aren't currently in the 
character set permitted for a cygwin package name)

> I have downloaded and locally installed Fedora rpmdevtools package but 
> Cygwin python rpm module seems to lack labelCompare():
> 
> $ rpmdev-vercmp 6.4+20240203-1 6.4-20240120
> /usr/local/lib/python3.9/site-packages/rpm.py:15: UserWarning: The RPM 
> Python bindings are not currently available via PyPI.

This can't be cygwin's python rpm module if it's in /usr/local/, I think?

If you have calm installed, you can use:

> $ calm-tool sort-versions 1.2.1 1.2.3 1+2+3 1_2_3 1.2.4
> 1.2.1
> 1.2.3 1+2+3 1_2_3
> 1.2.4

At this point it should be clear that 6.4+2024012 is greater than 6.4.

> How are Cygwin pre-stable RC releases defined differently from 
> post-stable snapshot releases and upstream patch releases?

Generally, I think that following [2], as linked from that, is a good 
idea. i.e.

for pre-release versions use R="0." followed by  something that's going 
to increase as prereleases do e.g. date or an incrementing ordinal and 
then a githash.

for post-releases you can increment R and add a similar identifier.

You can instead add things to V to indicate post-label snapshots, but 
there's there's a risk of coming unstuck unless the upstream versioning 
scheme is totally predicable (i.e. if you create 1.2+3 for a 
post-release fix to 1.2, and then upstream releases a 1.2a which you 
weren't expecting because they've never done it before, you're boned)

[2] https://fedoraproject.org/wiki/Package_Versioning_Examples


  reply	other threads:[~2024-01-31 23:05 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CADr_F644gWjSLKTFMLp=7ajFu0VXSwZr=Xq+cjuGYA+wbGdrYw@mail.gmail.com>
     [not found] ` <20240118.163759.544696899534989142.yasu@utahime.org>
     [not found]   ` <20240118172431.8308e15fc705d96fc39410d7@nifty.ne.jp>
     [not found]     ` <35eb821c-5270-406c-985f-b6107b43be9a@SystematicSW.ab.ca>
2024-01-25  9:04       ` Tmux crashes on copy Yasuhiro Kimura
2024-01-25 11:11         ` Marco Atzeri
2024-01-25 11:49           ` Yasuhiro Kimura
2024-01-31 13:28             ` Jon Turney
2024-02-14  0:11               ` Yasuhiro Kimura
2024-02-15 19:09                 ` Jon Turney
2024-02-17 19:53                   ` ASSI
     [not found]       ` <2016e573-7282-4fa3-bee4-e54d36ac0c2d@SystematicSW.ab.ca>
     [not found]         ` <a910f721-6047-4162-a86b-61d4ec8f93ca@dronecode.org.uk>
     [not found]           ` <878r45wgjw.fsf@>
2024-01-31 20:45             ` ncurses version (was: Tmux crashes on copy) Brian Inglis
2024-01-31 23:05               ` Jon Turney [this message]
2024-02-01  3:41                 ` ncurses version Brian Inglis

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=ea0b547d-88b8-4ab5-a4f9-132ddf31fbad@dronecode.org.uk \
    --to=jon.turney@dronecode.org.uk \
    --cc=Brian.Inglis@SystematicSw.ab.ca \
    --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).