From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by sourceware.org (Postfix) with ESMTPS id 407E93858CD1 for ; Thu, 1 Feb 2024 03:41:17 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 407E93858CD1 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=SystematicSw.ab.ca Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=SystematicSw.ab.ca ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 407E93858CD1 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=216.40.44.15 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706758879; cv=none; b=O+aB8xlND6jh5bbsHlHnndYnOD0LvpUMPekOY/kNHW6g3l2ZM/VO6O474d6DnBmzuU52PdJHPjK3gQhTWF1tXB90Isch8RiifT6axOoKujDZpVlxYyIW4BifTvtWw5EpCVFUgUY/SFtORjb83Guz9hcoDjpK+l9fBp7ZgiWStjU= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706758879; c=relaxed/simple; bh=vEjbxNHDyBXcQ4FJDyk3mmA7ySxzUkRDcHM7jit/dQM=; h=Message-ID:Date:MIME-Version:From:Subject:To; b=E83JsP/7ok7RuIRoQZz0ZOt/790tPp/HmlZtFXSIJw0EBsDgIg0EWT/3xa0iL1woc0FYFVaLfzICAUMdGKcBN5acXnD3grYgZ1AjJN50wrepseAt6YbAWStlBzhMyqirazA7i9zx+zocW23grL0Uk1jzoCl5YNNfyTaUwjT5QVA= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from omf01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id C722EA204E for ; Thu, 1 Feb 2024 03:41:16 +0000 (UTC) Received: from [HIDDEN] (Authenticated sender: Brian.Inglis@SystematicSW.ab.ca) by omf01.hostedemail.com (Postfix) with ESMTPA id 4F10A60009 for ; Thu, 1 Feb 2024 03:41:14 +0000 (UTC) Message-ID: Date: Wed, 31 Jan 2024 20:41:13 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: Brian Inglis Reply-To: cygwin-apps@cygwin.com Subject: Re: ncurses version Content-Language: en-CA To: cygwin-apps@cygwin.com References: <20240118.163759.544696899534989142.yasu@utahime.org> <20240118172431.8308e15fc705d96fc39410d7@nifty.ne.jp> <35eb821c-5270-406c-985f-b6107b43be9a@SystematicSW.ab.ca> <2016e573-7282-4fa3-bee4-e54d36ac0c2d@SystematicSW.ab.ca> <878r45wgjw.fsf@> <2c43c0cd-c52d-4363-ad6e-140d3e174442@Shaw.ca> Organization: Systematic Software In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Rspamd-Server: rspamout06 X-Rspamd-Queue-Id: 4F10A60009 X-Stat-Signature: 1gez5r3foocdua674y6z9ehed7uyixmf X-Spam-Status: No, score=-0.8 required=5.0 tests=BAYES_00,BODY_8BITS,KAM_DMARC_STATUS,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H5,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_PASS,TXREP,T_SCC_BODY_TEXT_LINE,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.6 X-Session-Marker: 427269616E2E496E676C69734053797374656D6174696353572E61622E6361 X-Session-ID: U2FsdGVkX18UO/eaG7VcKwiOgP4rohjFlVIPobBwpRQ= X-HE-Tag: 1706758874-205914 X-HE-Meta: U2FsdGVkX1+EHItNI3IWNGg+M1OvqGbd6yCLt67aqFj4gQvDbCuAU6tKBLe1pTAgnDeBvLD7FbSO17mjNFeyDnPMLKHtQ7MqWV6g+mVE5n5mb8M4fIaRC3Ja7SG1czcrGwzusgXngcDckKwoY8aJTJeCj11BJG1idO0FcVwpXpAtFEnV6uFMTeMGLSMnwvtgziRW5A2sxjRB2ohj2JJOpW8J9gr0RXVQ3cu5U5hAYwS1AfID/+7QjEMvyhEGtpH+zPHmQ7rUB2nAIKUDw+9HP2b33mxh4gNGdIpTv8QfUhEplpKmOojxgpPEug+kHRoelMiC0D9qIW01f8venU2hdWhwgXh+hGRJy9IQsK401V7bIAuk82/og52G1n3IkJw1WO2vhnIB9N1NKeSbk8ceIdPzVutFV9Wj+PKhH/hDcttL29ZhcomKWnBdMMc82LNL/jb5eNadXnzWRmGCSJInlr7IJMZ19MNd6yC0d0Shghrq3D3gOZH9faHrgmJ588bHCsZ+WfCSnBcmfRQFSlk/aTotXUV7kp2YXKIY0ZjRZXtpucRobmic5HLMlefPeCo/yZcXXaNRMRQjjxfo+P5eAH8IUV7rWDygXCbhCq0eZYc= X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: On 2024-01-31 16:05, Jon Turney via Cygwin-apps wrote: > 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? Thanks for the hint Jon, maybe a pip dependency install needs removed, now works: $ rm -f /usr/local/lib/python3.9/site-packages/rpm.py removed '/usr/local/lib/python3.9/site-packages/rpm.py' $ rm -rf /usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/ removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/INSTALLER' removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/LICENSE' removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/METADATA' removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/RECORD' removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/REQUESTED' removed '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/WHEEL' removed directory '/usr/local/lib/python3.9/site-packages/rpm-0.0.2.dist-info/' $ rpmdev-vercmp 6.4+20240203-1 6.4-20240120 6.4+20240203-1 > 6.4-20240120 > 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 Thanks for that too, also works: $ calm-tool sort-versions 6.4+20240203-1 6.4-20240120; echo 6.4-20240120 6.4+20240203-1 > 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 Saw that before and know from Debian there is a need for "epoch:" prefix there. Made necessary changes, reran local and GH Scallywag builds, and uploaded unannounced test release, to check all works okay behind the scenes. Will not push master until ready to make another stable release. Will copy this approach going forward with other i-i.net and upstream packages with major.minor-date releases when updated. -- 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