unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111
@ 2023-01-11  3:23 Maxim Cournoyer
  2023-01-11 13:24 ` Jelle Licht
  0 siblings, 1 reply; 5+ messages in thread
From: Maxim Cournoyer @ 2023-01-11  3:23 UTC (permalink / raw)
  To: 60725

Hi Guix,

If you run 'guix lint emacs-enh-ruby-mode', it'll print this:

--8<---------------cut here---------------start------------->8---
emacs-enh-ruby-mode@2019111-0.7e76d75: can be upgraded to 20191111
--8<---------------cut here---------------end--------------->8---

That's wrong; it should know that something that starts with the tag and
has trailing characters is considered newer.  Actually, it should
probably implement the RPM scheme used in Debian also, so that an RC can
be understood as older than the final release.  The scheme uses the
tilde character (~) as a way to specify that the version is lower than
the number that precedes the tilde.

See the test case here for a "specification" (there may be a better
place):
https://github.com/rpm-software-management/rpm/blob/4afe2d14d33db82ccb41c0a8d5eb1a4db90762fc/tests/rpmvercmp.at#L94

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111
  2023-01-11  3:23 bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111 Maxim Cournoyer
@ 2023-01-11 13:24 ` Jelle Licht
  2023-01-11 13:43   ` Maxim Cournoyer
  0 siblings, 1 reply; 5+ messages in thread
From: Jelle Licht @ 2023-01-11 13:24 UTC (permalink / raw)
  To: Maxim Cournoyer, 60725

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> Hi Guix,
>
> If you run 'guix lint emacs-enh-ruby-mode', it'll print this:
>
> --8<---------------cut here---------------start------------->8---
> emacs-enh-ruby-mode@2019111-0.7e76d75: can be upgraded to 20191111
> --8<---------------cut here---------------end--------------->8---
In this particular case, 2019111 seems to have been a typo in the first
place.  (It misses out on a '1' in our package record).

AFAIK, any sane versioning scheme would assert that 20191111 > 2019111-anything.




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111
  2023-01-11 13:24 ` Jelle Licht
@ 2023-01-11 13:43   ` Maxim Cournoyer
  2023-01-11 14:34     ` Jelle Licht
  0 siblings, 1 reply; 5+ messages in thread
From: Maxim Cournoyer @ 2023-01-11 13:43 UTC (permalink / raw)
  To: Jelle Licht; +Cc: 60725, GNU Debbugs

retitle 60725 support the special '~' character in our version parser
thanks

Jelle Licht <jlicht@fsfe.org> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Hi Guix,
>>
>> If you run 'guix lint emacs-enh-ruby-mode', it'll print this:
>>
>> --8<---------------cut here---------------start------------->8---
>> emacs-enh-ruby-mode@2019111-0.7e76d75: can be upgraded to 20191111
>> --8<---------------cut here---------------end--------------->8---
> In this particular case, 2019111 seems to have been a typo in the first
> place.  (It misses out on a '1' in our package record).

Thanks!  With this typo fixed, 'guix lint' doesn't suggest a downgrade
anymore.

> AFAIK, any sane versioning scheme would assert that 20191111 > 2019111-anything.

That's not currently the case with Guix.  Guix package version strings
are documented has having the requirement to be 'monotonically
increasing', so '43.rc3' as used by GNOME is seen by Guix as newer than
'43', the final release.

I'll keep this bug open (and retitle it), because implementing ~ would
be useful (GNOME makes use of that scheme, and it's understood by rpm,
dpkg, pkg-config, etc.).

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111
  2023-01-11 13:43   ` Maxim Cournoyer
@ 2023-01-11 14:34     ` Jelle Licht
  2023-01-11 18:59       ` Maxim Cournoyer
  0 siblings, 1 reply; 5+ messages in thread
From: Jelle Licht @ 2023-01-11 14:34 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: 60725, GNU Debbugs

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

> retitle 60725 support the special '~' character in our version parser
> thanks
>
> Jelle Licht <jlicht@fsfe.org> writes:
>
>> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>>
>>> Hi Guix,
>>>
>>> If you run 'guix lint emacs-enh-ruby-mode', it'll print this:
>>>
>>> --8<---------------cut here---------------start------------->8---
>>> emacs-enh-ruby-mode@2019111-0.7e76d75: can be upgraded to 20191111
>>> --8<---------------cut here---------------end--------------->8---
>> In this particular case, 2019111 seems to have been a typo in the first
>> place.  (It misses out on a '1' in our package record).
>
> Thanks!  With this typo fixed, 'guix lint' doesn't suggest a downgrade
> anymore.
>
>> AFAIK, any sane versioning scheme would assert that 20191111 > 2019111-anything.
>
> That's not currently the case with Guix.  Guix package version strings
> are documented has having the requirement to be 'monotonically
> increasing', so '43.rc3' as used by GNOME is seen by Guix as newer than
> '43', the final release.

I agree with your assesment, but note that my example (again) had one
"1" less, in which case Guix does the right thing :-).

>
> I'll keep this bug open (and retitle it), because implementing ~ would
> be useful (GNOME makes use of that scheme, and it's understood by rpm,
> dpkg, pkg-config, etc.).

Fixing our versioning code so  "123" > "123-alpha2" will also bring us
(more) in line with Semantic Versioning.

- Jelle




^ permalink raw reply	[flat|nested] 5+ messages in thread

* bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111
  2023-01-11 14:34     ` Jelle Licht
@ 2023-01-11 18:59       ` Maxim Cournoyer
  0 siblings, 0 replies; 5+ messages in thread
From: Maxim Cournoyer @ 2023-01-11 18:59 UTC (permalink / raw)
  To: Jelle Licht; +Cc: 60725, GNU Debbugs

Hi,

Jelle Licht <jlicht@fsfe.org> writes:

> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> retitle 60725 support the special '~' character in our version parser
>> thanks
>>
>> Jelle Licht <jlicht@fsfe.org> writes:

[...]

>> That's not currently the case with Guix.  Guix package version strings
>> are documented has having the requirement to be 'monotonically
>> increasing', so '43.rc3' as used by GNOME is seen by Guix as newer than
>> '43', the final release.
>
> I agree with your assesment, but note that my example (again) had one
> "1" less, in which case Guix does the right thing :-).

Ah! I failed to correctly read that version number again, eh!

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2023-01-11 19:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-01-11  3:23 bug#60725: guix lint thinks 2019111-0.7e76d75 is older than 20191111 Maxim Cournoyer
2023-01-11 13:24 ` Jelle Licht
2023-01-11 13:43   ` Maxim Cournoyer
2023-01-11 14:34     ` Jelle Licht
2023-01-11 18:59       ` Maxim Cournoyer

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

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).