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?

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.

Please install them with your distro package manager (typically called
'python2-rpm' or 'python3-rpm'), and ensure that any virtual environments
needing the API are configured to be able to see the system site packages
directory.

  warnings.warn(warning_msg)
Traceback (most recent call last):
  File "/home/BWI/bin/rpmdev-vercmp", line 121, in <module>
    main()
  File "/home/BWI/bin/rpmdev-vercmp", line 108, in main
    rc = rpm.labelCompare((e1 or None, v1 or None, r1 or None),
AttributeError: module 'rpm' has no attribute 'labelCompare'

I also pip3 installed SAS SW rpm_vercmp which seems okay:

$ python3 -c 'import rpm_vercmp;print(rpm_vercmp.vercmp("6.4+20240203-1","6.4-20240120"))
'
1

and wrote a wrapper for shell script functions I found which agrees:

$ ~/src/fedora/rpm-ver.bash 6.4+20240203-1 6.4-20240120
0 6 4 20240203 1
0 6 4 20240120
6.4+20240203-1   6.4-20240120
0 6 4 20240203 1         0 6 4 20240120
sizes 5 4 max 5
20240203 != 20240120
8 ? 8
1

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

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

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry

Reply via email to