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
next prev parent 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).