unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: "Ludovic Courtès" <ludo@gnu.org>
To: 60368@debbugs.gnu.org
Cc: "Ludovic Courtès" <ludo@gnu.org>
Subject: [bug#60368] [PATCH 2/2] upstream: Allow downgrades.
Date: Tue, 27 Dec 2022 23:21:10 +0100	[thread overview]
Message-ID: <20221227222110.25440-2-ludo@gnu.org> (raw)
In-Reply-To: <20221227222110.25440-1-ludo@gnu.org>

Previously, 'guix refresh -u guile=3.0.0' would do nothing.  With this
change, it actually downgrades 'guile'.

This is a followup to 8aeccc6240ec45f0bc7bed655e0c8149ae4253eb.

* guix/upstream.scm (package-update): Ignore 'version>?' check
when #:version is passed.  Warn about downgrades.
---
 guix/upstream.scm | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/guix/upstream.scm b/guix/upstream.scm
index f3ab9ab78b..4c72388bf3 100644
--- a/guix/upstream.scm
+++ b/guix/upstream.scm
@@ -501,11 +501,22 @@ (define* (package-update store package
 changes for PACKAGE; return #f (three values) when PACKAGE is up-to-date;
 raise an error when the updater could not determine available releases.
 KEY-DOWNLOAD specifies a download policy for missing OpenPGP keys; allowed
-values: 'always', 'never', and 'interactive' (default)."
+values: 'always', 'never', and 'interactive' (default).
+
+When VERSION is specified, update PACKAGE to that version, even if that is a
+downgrade."
   (match (package-latest-release package updaters #:version version)
     ((? upstream-source? source)
-     (if (version>? (upstream-source-version source)
-                    (package-version package))
+     (if (or (version>? (upstream-source-version source)
+                        (package-version package))
+             (and version
+                  (begin
+                    (warning (package-location package)
+                             (G_ "downgrading '~a' from ~a to ~a~%")
+                             (package-name package)
+                             (package-version package)
+                             (upstream-source-version source))
+                    #t)))
          (let ((method (match (package-source package)
                          ((? origin? origin)
                           (origin-method origin))
-- 
2.38.1





  reply	other threads:[~2022-12-27 22:22 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-27 22:11 [bug#60368] [PATCH 0/2] Allow 'guix refresh' to downgrade packages when asked to Ludovic Courtès
2022-12-27 22:21 ` [bug#60368] [PATCH 1/2] refresh: Honor user-provided target version and report downgrades Ludovic Courtès
2022-12-27 22:21   ` Ludovic Courtès [this message]
2023-01-03 11:32 ` bug#60368: [PATCH 0/2] Allow 'guix refresh' to downgrade packages when asked to Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221227222110.25440-2-ludo@gnu.org \
    --to=ludo@gnu.org \
    --cc=60368@debbugs.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).