guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: perl-getopt-long version string contains a letter


From: Ludovic Courtès
Subject: Re: perl-getopt-long version string contains a letter
Date: Wed, 06 Mar 2019 16:56:29 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hello,

Efraim Flashner <address@hidden> skribis:

> On Mon, Mar 04, 2019 at 05:54:38PM +0100, Ricardo Wurmus wrote:
>> Hi Guix,
>> 
>> perl-getopt-long has a version string "v2.49.1".  If we change this to
>> "2.49.1", will installed packages not be upgraded?  What can be done in
>> this case?
>> 
>
> As I've wrapped my head around it, Guix doesn't believe in "upgrades"
> and "downgrades", just in changes in dependencies. So if the version
> string loses the leading "v" I suppose ASCIIbetically v2.49.1 is a
> higher value than 2.49.1,

Indeed:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> (version>? "v2.49.1" "2.49.1")
$21 = #t
--8<---------------cut here---------------end--------------->8---

Perhaps what could be done is to deprecate the package with “v2.49.1”,
like so:

  (define-public x
    (package
      ;; …
      (version "2.49.1")))

  (define w/wrong-version
    (package
      (inherit x)
      (version "v2.49.1")  ;wrong version string
      (properties `((superseded . ,x)))))

That should cause upgrades from the wrong version to the new one, even
if the new one is not ‘version>?’.

Thoughts?

Ludo’.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]