all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* perl-getopt-long version string contains a letter
@ 2019-03-04 16:54 Ricardo Wurmus
  2019-03-04 18:31 ` Efraim Flashner
  0 siblings, 1 reply; 3+ messages in thread
From: Ricardo Wurmus @ 2019-03-04 16:54 UTC (permalink / raw)
  To: guix-devel

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?

-- 
Ricardo

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

* Re: perl-getopt-long version string contains a letter
  2019-03-04 16:54 perl-getopt-long version string contains a letter Ricardo Wurmus
@ 2019-03-04 18:31 ` Efraim Flashner
  2019-03-06 15:56   ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Efraim Flashner @ 2019-03-04 18:31 UTC (permalink / raw)
  To: Ricardo Wurmus; +Cc: guix-devel

[-- Attachment #1: Type: text/plain, Size: 906 bytes --]

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, but Guix just sees that before it was v2.49.1
and now it's 2.50 so it's time for a change in installed files.

Just like if you never run 'guix pull' on a new system it'll continue
downgrading overtime.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

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

* Re: perl-getopt-long version string contains a letter
  2019-03-04 18:31 ` Efraim Flashner
@ 2019-03-06 15:56   ` Ludovic Courtès
  0 siblings, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2019-03-06 15:56 UTC (permalink / raw)
  To: Efraim Flashner; +Cc: guix-devel

Hello,

Efraim Flashner <efraim@flashner.co.il> 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’.

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

end of thread, other threads:[~2019-03-06 15:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-04 16:54 perl-getopt-long version string contains a letter Ricardo Wurmus
2019-03-04 18:31 ` Efraim Flashner
2019-03-06 15:56   ` Ludovic Courtès

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.