From unknown Tue Aug 19 21:02:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#73508: Generic updaters should run last Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: liliana.prikler@gmail.com, bug-guix@gnu.org Resent-Date: Fri, 27 Sep 2024 06:51:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 73508 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 73508@debbugs.gnu.org Cc: Liliana Prikler X-Debbugs-Original-To: bug-guix X-Debbugs-Original-Xcc: Liliana Prikler Received: via spool by submit@debbugs.gnu.org id=B.17274198266979 (code B ref -1); Fri, 27 Sep 2024 06:51:01 +0000 Received: (at submit) by debbugs.gnu.org; 27 Sep 2024 06:50:26 +0000 Received: from localhost ([127.0.0.1]:45322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su4o6-0001oU-Au for submit@debbugs.gnu.org; Fri, 27 Sep 2024 02:50:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:59960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su4o3-0001oM-WC for submit@debbugs.gnu.org; Fri, 27 Sep 2024 02:50:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1su4nb-0005sL-6x for bug-guix@gnu.org; Fri, 27 Sep 2024 02:49:55 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1su4nY-0007jk-WB for bug-guix@gnu.org; Fri, 27 Sep 2024 02:49:54 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-71b070ff24dso1563998b3a.2 for ; Thu, 26 Sep 2024 23:49:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727419790; x=1728024590; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=6qvtB7GzTEj0TrZKR2CuiVfDVdeXSMxSbif1AiDhdh0=; b=AyiJGJGGQDrHQRtZgE0MQ7j0Nwpiw5B/Y0b0dVqOSfosISLFcspE6oZwA6cwkuoctB 8GJ2rpjJXvpmUiYmiNSPSIA0QRJWJPyBnnu1HI2lT+UwtyUczEfFqJB2e0N4XlArfKXJ undJo4DLUL521/w7zAgEup3N5oJUe10RomnEEQYt3XvG+Wj0nAdYmXFHpJ5En+Sok0ve Ee/Ybegt+51McIWmYNRKKyLDSFYaCM6se9wS2GN6vsOcI6JZHOvRWcahpESiXsB2Y/Mc g8Ia3DSEp7Cji8+yvgBJFHcSf3Hf7BwjqdbNVh5wFpzTnjMpvGUXnH//tQ7hx8MJ8y+A zhjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727419790; x=1728024590; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6qvtB7GzTEj0TrZKR2CuiVfDVdeXSMxSbif1AiDhdh0=; b=d6/ywAxY3T1S4ZMmtzNKPUSuTn+fwJxGI48l0lwGuvcnPPWSPTPQ5mFcjMMPwzLEUD Dh+/00kShc6No/PhYlU+eMxL6pHuzL8gCUeQVIP8oJbiFQOeUyXgiXWQL2gvVYpCSCfu V3p0+SUKV9ClkVSKU69IcNk9pV9hSAnDiz6e7gffZjSWV9CWh9HAwuQ1VfCJfgyJVJEv wVYAr4/aTHWKKcryiTh0+U+cVRrUgYZgMzVc7i8gCstmUVQJaMTfUkQXLFbJUzng5KuP vqtiew11hGUXVNT+gzmqy7IPn6FqagO7m66FYPxfHxLUswl2DFsQsIScPlosiGUTuBAI Smgg== X-Gm-Message-State: AOJu0YyBPkAicsvdAf3kALrXp4yKSbaGH+sF0tdkVtlt5/rXPpyWeKPX nf9n+bffOkdulMtzzFQ6WayAo9VDzJxeNZ7rYWZ3glbGkQyTh84SfxGbf+7V X-Google-Smtp-Source: AGHT+IHHktjYo6stbBDMc9isyCaVX4UPQ4Z3FW9cVtwzTeNAHOi75EU9eGmtAS8PMV1CdHQGnyWRiQ== X-Received: by 2002:a05:6a00:1798:b0:718:dc55:728a with SMTP id d2e1a72fcca58-71b25f3b70fmr3846633b3a.8.1727419790077; Thu, 26 Sep 2024 23:49:50 -0700 (PDT) Received: from hurd ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71b2649c2b1sm918951b3a.4.2024.09.26.23.49.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Sep 2024 23:49:49 -0700 (PDT) From: Maxim Cournoyer Date: Fri, 27 Sep 2024 15:49:46 +0900 Message-ID: <878qvdegl1.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=maxim.cournoyer@gmail.com; helo=mail-pf1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi, Currently the updaters are run in the order of their alphabetical names. For example, with the following instrumentation to see the updater names tried in guix/upstream.scm: --8<---------------cut here---------------start------------->8--- @@ -259,6 +271,7 @@ (define* (package-latest-release package one." (any (match-lambda (($ name description pred import) + (pk 'trying-updater: name) (and (pred package) (import package #:version version)))) updaters)) --8<---------------cut here---------------end--------------->8--- attempting to update gnome-desktop produces: --8<---------------cut here---------------start------------->8--- ./pre-inst-env guix refresh gnome-desktop ;;; (trying-updater: bioconductor) ;;; (trying-updater: composer) ;;; (trying-updater: cpan) ;;; (trying-updater: cran) ;;; (trying-updater: crate) ;;; (trying-updater: egg) ;;; (trying-updater: elpa) ;;; (trying-updater: gem) ;;; (trying-updater: generic-git) ;;; (trying-updater: generic-html) gnu/packages/gnome.scm:2265:13: gnome-desktop would be upgraded from 44.0 to 44.1 --8<---------------cut here---------------end--------------->8--- It seems to me the generic updaters, being generic thus less likely to be precise/correct, should be tried last by 'guix refresh'. This is ensured with the following patch: --8<---------------cut here---------------start------------->8--- modified guix/upstream.scm @@ -48,6 +48,7 @@ (define-module (guix upstream) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (srfi srfi-71) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (ice-9 regex) @@ -226,15 +227,26 @@ (define (importer-modules) (define %updaters ;; The list of publically-known updaters, alphabetically sorted. (delay - (sort (fold-module-public-variables (lambda (obj result) - (if (upstream-updater? obj) - (cons obj result) - result)) - '() - (importer-modules)) - (lambda (updater1 updater2) - (stringstring (upstream-updater-name updater1)) - (symbol->string (upstream-updater-name updater2))))))) + (let* ((updaters + (sort (fold-module-public-variables + (lambda (obj result) + (if (upstream-updater? obj) + (cons obj result) + result)) + '() + (importer-modules)) + (lambda (updater1 updater2) + (stringstring (upstream-updater-name updater1)) + (symbol->string (upstream-updater-name updater2)))))) + (generic-updaters rest (partition + (compose (cut string-prefix? "generic" <>) + symbol->string + upstream-updater-name) + updaters))) + ;; Ensure the generic updaters are tried last, as otherwise they could + ;; return less accurate results. + (append rest generic-updaters)))) ;; Tests need to mock this variable so mark it as "non-declarative". (set! %updaters %updaters) @@ -259,6 +271,7 @@ (define* (package-latest-release package --8<---------------cut here---------------end--------------->8--- Now, the 'gnome-updater' at least ends up being tried before the 'generic-html': --8<---------------cut here---------------start------------->8--- ;;; (trying-updater: bioconductor) ;;; (trying-updater: composer) ;;; (trying-updater: cpan) ;;; (trying-updater: cran) ;;; (trying-updater: crate) ;;; (trying-updater: egg) ;;; (trying-updater: elpa) ;;; (trying-updater: gem) ;;; (trying-updater: github) ;;; (trying-updater: gnome) gnu/packages/gnome.scm:2265:13: gnome-desktop would be upgraded from 44.0 to 44.1 --8<---------------cut here---------------end--------------->8--- I'll send a 'git format-patch' version in a follow-up. -- Thanks, Maxim From unknown Tue Aug 19 21:02:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#73508: [PATCH] upstream: Try the generic importers last. References: <878qvdegl1.fsf@gmail.com> In-Reply-To: <878qvdegl1.fsf@gmail.com> Resent-From: Maxim Cournoyer Original-Sender: "Debbugs-submit" Resent-CC: maxim.cournoyer@gmail.com, guix@cbaines.net, dev@jpoiret.xyz, ludo@gnu.org, othacehe@gnu.org, zimon.toutoune@gmail.com, me@tobias.gr, bug-guix@gnu.org Resent-Date: Fri, 27 Sep 2024 07:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73508 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: 73508@debbugs.gnu.org Cc: Maxim Cournoyer , Maxim Cournoyer , Christopher Baines , Josselin Poiret , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice X-Debbugs-Original-Xcc: Maxim Cournoyer , Christopher Baines , Josselin Poiret , Ludovic =?UTF-8?Q?Court=C3=A8s?= , Mathieu Othacehe , Simon Tournier , Tobias Geerinckx-Rice Received: via spool by 73508-submit@debbugs.gnu.org id=B73508.172742065510079 (code B ref 73508); Fri, 27 Sep 2024 07:05:02 +0000 Received: (at 73508) by debbugs.gnu.org; 27 Sep 2024 07:04:15 +0000 Received: from localhost ([127.0.0.1]:45356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su51T-0002cV-EL for submit@debbugs.gnu.org; Fri, 27 Sep 2024 03:04:15 -0400 Received: from mail-pj1-f47.google.com ([209.85.216.47]:57443) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su51R-0002cB-9o for 73508@debbugs.gnu.org; Fri, 27 Sep 2024 03:04:14 -0400 Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-2e06acff261so1362197a91.2 for <73508@debbugs.gnu.org>; Fri, 27 Sep 2024 00:03:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727420558; x=1728025358; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cCt0Wj3brPoqE7CYsmOmiS4MomSHtahp4yDE3AA/eso=; b=PmmlUW2jouyh+I7S/O74d6raRpzuJQgn75dcLSSqfEy4l1UBwI4Tua1ImKlonugave FI7FfCXRwCdmDTTPe2vO2NGlVW/AotWwt3hTEc0k2DBPxuDJt9rBhCnhfwdEMswK+rqD 5sIOvAYHvaxEIf8M3HT6pXrCBQD8obruIajoYHXZgQ3aO8cAEMYMw6m8FRloPN5nN+Ta clOKVwnJ7UzGZWI3qGnCyqPEwyJw6wxU4hHGO2lMT1mqbOvvD1x+Yoa1ZI5i/DXjoHEC N/Pxw+t556OaWHtd6X6p0gTZ5bEMFJW+I2K+/T6PCLroMZFWKwO27HX1e+sp4AhdXNdY mBxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727420558; x=1728025358; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cCt0Wj3brPoqE7CYsmOmiS4MomSHtahp4yDE3AA/eso=; b=Q278M+yTlckzqusk7jBZDkRuVhP9/kt3H1IZiLkMmpfh5b3+8KlZ8VTwtmyDWG9E0w Uc5tjZ/9tDzxyBi0MFQ9+EvyFMJ69NrCej8wxsEKRyOqlqWWAd63rit9NlstksCL9fKz Hbx5YqxHXdpcRLtB6vCHXqpEnsUBSQe74JfxVm9tNhM+qUAfcgZiorlv+/7WyOBB3oIe fjHysz9FwGrS4G8Q/tZkA+XcvarzAKGH22DQskx4vXVm3O5CljaflMP8+1jGlBhjA6nW LVW8eHRDCLuOrq0MugZUztLnvKwzId6UzkQHiAG4XLbbBsxBXuElcls/q6jxqnODzety fyEw== X-Gm-Message-State: AOJu0YxmXJFh44vaFzzRnp9CSPreWSmMpmpdXNk4GoTywr/SotxhhmyE iAjnN4Mp2ee6biTKPMH+cNbP2lYM+GylLgoQw8FxNeeGZD6BrU2gez7AYo+v X-Google-Smtp-Source: AGHT+IEWafuTUSRho0RcbNMr6svhp12ea4HY55zvNr93gpXEWesvdsNBYN8zce1DgrdVGrjEg55omw== X-Received: by 2002:a17:90a:a40c:b0:2e0:8733:6c78 with SMTP id 98e67ed59e1d1-2e0b8a1b6ffmr2645914a91.15.1727420557846; Fri, 27 Sep 2024 00:02:37 -0700 (PDT) Received: from hurd.lan ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e0b6c6cbc8sm1220745a91.13.2024.09.27.00.02.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 27 Sep 2024 00:02:37 -0700 (PDT) From: Maxim Cournoyer Date: Fri, 27 Sep 2024 16:02:22 +0900 Message-ID: <6f3b073a68e5dc8f93c54b4427cfd555aee0e9f0.1727420518.git.maxim.cournoyer@gmail.com> X-Mailer: git-send-email 2.46.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) * guix/upstream.scm (%updaters): Ensure the updaters with a name starting by 'generic' appear last in the list. Fixes: https://issues.guix.gnu.org/ Change-Id: I98977f6c925c14303273755b5b4dc36035f78bda --- guix/upstream.scm | 30 +++++++++++++++++++++--------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/guix/upstream.scm b/guix/upstream.scm index 753916be64..0593c363aa 100644 --- a/guix/upstream.scm +++ b/guix/upstream.scm @@ -48,6 +48,7 @@ (define-module (guix upstream) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (srfi srfi-71) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (ice-9 regex) @@ -226,15 +227,26 @@ (define (importer-modules) (define %updaters ;; The list of publically-known updaters, alphabetically sorted. (delay - (sort (fold-module-public-variables (lambda (obj result) - (if (upstream-updater? obj) - (cons obj result) - result)) - '() - (importer-modules)) - (lambda (updater1 updater2) - (stringstring (upstream-updater-name updater1)) - (symbol->string (upstream-updater-name updater2))))))) + (let* ((updaters + (sort (fold-module-public-variables + (lambda (obj result) + (if (upstream-updater? obj) + (cons obj result) + result)) + '() + (importer-modules)) + (lambda (updater1 updater2) + (stringstring (upstream-updater-name updater1)) + (symbol->string (upstream-updater-name updater2)))))) + (generic-updaters rest (partition + (compose (cut string-prefix? "generic" <>) + symbol->string + upstream-updater-name) + updaters))) + ;; Ensure the generic updaters are tried last, as otherwise they could + ;; return less accurate results. + (append rest generic-updaters)))) ;; Tests need to mock this variable so mark it as "non-declarative". (set! %updaters %updaters) base-commit: a4ea332bc219e14560d3a5daaa658425d898ec37 -- 2.46.0 From unknown Tue Aug 19 21:02:51 2025 X-Loop: help-debbugs@gnu.org Subject: bug#73508: [PATCH] upstream: Try the generic importers last. Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guix@gnu.org Resent-Date: Mon, 14 Oct 2024 11:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73508 X-GNU-PR-Package: guix X-GNU-PR-Keywords: To: Maxim Cournoyer Cc: Josselin Poiret , Simon Tournier , 73508@debbugs.gnu.org, Mathieu Othacehe , Tobias Geerinckx-Rice , Christopher Baines Received: via spool by 73508-submit@debbugs.gnu.org id=B73508.17289038536777 (code B ref 73508); Mon, 14 Oct 2024 11:05:02 +0000 Received: (at 73508) by debbugs.gnu.org; 14 Oct 2024 11:04:13 +0000 Received: from localhost ([127.0.0.1]:35520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t0Is0-0001lD-OU for submit@debbugs.gnu.org; Mon, 14 Oct 2024 07:04:13 -0400 Received: from eggs.gnu.org ([209.51.188.92]:48388) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t0Irx-0001ku-GY for 73508@debbugs.gnu.org; Mon, 14 Oct 2024 07:04:10 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1t0IpS-0007l3-Sk; Mon, 14 Oct 2024 07:01:34 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=MIME-Version:Date:References:In-Reply-To:Subject:To: From; bh=LBHoxvlYi+ZmD+7jEP481bl13ZY4V0vO+2lewe5OZvs=; b=pOHx81fuDH3lsRRLfv7+ 3uBGc2Os11EUbAC4S6nNAwA50FsSKmuxscRlQ4oAiU7QWRa1s0ZrtseMBzCqCR7aoZ6wxvr99cwLB H0Q6mONHKOTUaLiB0gsQT7HVGWbd3PORMf74Rpg06AlpBjYE1+yoSiwA2LSwDhkID5W6W3QYHfmAC l/Op5AnnPOuw/Wr9XselPSKaQEaHAvAOFLstx+9IUixhT7WKOQ3O1vq12oU9X17Yg3Iqun4SXnLWY L0y0U3SXPc9xOLB2HJwsLp5BC3ybyR5FFD+tgJD+NajQsfhGblPfQnamKh43j6djBo8Tdl73khyFr rvEcF4gLyGJG+w==; From: Ludovic =?UTF-8?Q?Court=C3=A8s?= In-Reply-To: <6f3b073a68e5dc8f93c54b4427cfd555aee0e9f0.1727420518.git.maxim.cournoyer@gmail.com> (Maxim Cournoyer's message of "Fri, 27 Sep 2024 16:02:22 +0900") References: <878qvdegl1.fsf@gmail.com> <6f3b073a68e5dc8f93c54b4427cfd555aee0e9f0.1727420518.git.maxim.cournoyer@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: Tridi 23 =?UTF-8?Q?Vend=C3=A9miaire?= an 233 de la =?UTF-8?Q?R=C3=A9volution,?= jour du Navet X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 14 Oct 2024 13:01:29 +0200 Message-ID: <87msj73q46.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hello, Maxim Cournoyer skribis: > * guix/upstream.scm (%updaters): Ensure the updaters with a name starting= by > 'generic' appear last in the list. > > Fixes: https://issues.guix.gnu.org/ This should be . > Change-Id: I98977f6c925c14303273755b5b4dc36035f78bda Apart from that, LGTM, thanks! Ludo=E2=80=99. From unknown Tue Aug 19 21:02:51 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Maxim Cournoyer Subject: bug#73508: closed (Re: bug#73508: Generic updaters should run last) Message-ID: References: <87v7xocl1d.fsf_-_@gmail.com> <878qvdegl1.fsf@gmail.com> X-Gnu-PR-Message: they-closed 73508 X-Gnu-PR-Package: guix Reply-To: 73508@debbugs.gnu.org Date: Sat, 19 Oct 2024 12:54:03 +0000 Content-Type: multipart/mixed; boundary="----------=_1729342443-25208-1" This is a multi-part message in MIME format... ------------=_1729342443-25208-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #73508: Generic updaters should run last which was filed against the guix package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 73508@debbugs.gnu.org. --=20 73508: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D73508 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1729342443-25208-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 73508-done) by debbugs.gnu.org; 19 Oct 2024 12:53:46 +0000 Received: from localhost ([127.0.0.1]:41813 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t28xl-0006Xn-Lt for submit@debbugs.gnu.org; Sat, 19 Oct 2024 08:53:45 -0400 Received: from mail-pj1-f43.google.com ([209.85.216.43]:57589) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1t28xj-0006Xd-Vk for 73508-done@debbugs.gnu.org; Sat, 19 Oct 2024 08:53:44 -0400 Received: by mail-pj1-f43.google.com with SMTP id 98e67ed59e1d1-2e5a0177531so68833a91.2 for <73508-done@debbugs.gnu.org>; Sat, 19 Oct 2024 05:53:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1729342339; x=1729947139; darn=debbugs.gnu.org; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=CLv7YezhnvDGjX7IgJaJIeoiEpKM/Rd/ImN68jF7NrU=; b=LnlrK4uEL1GR3p2GqpmEbviKbSQFNdY2CVmf0IvFN1tRMSkxODtlSr48TQoT4AENgD fM5eH6mqJL6ToWP1oqIyB497IxAJ3r0fQ2PBCG1HxPVjfapx7vsQClkokQLqJpnh11/o XFkw4JDoPSwWtVb5/7BB0qP9Cr2QwGgdDk/M/+1lWoGwsVAu8kJ+cEtTIexLr+fI7q2f nvQSsBS7wrvCBZBnZUMOIBMViu6dLh0NIE3FigfIvGQoopLQDEjOtVc9SQnSO+wHF7Ag 0ibk3/oHauCBwsZzzEGIeZSb8bouviaNaRIRU9OX8pNSaSjH4loDLcI/9Ws4bSjoQKl1 gbbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1729342339; x=1729947139; h=content-transfer-encoding:mime-version:user-agent:message-id:date :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=CLv7YezhnvDGjX7IgJaJIeoiEpKM/Rd/ImN68jF7NrU=; b=JeFKcPNNd4UKUwD90+F/OCCTOVINlQTWHgKvzWfNJkhOjfSdAfgVAUBAnCkYtRRpDH EKnv6TslIgNKxvAHHwTz6+qgiuiqCaJmfAXhzSK14Y6+L38dIbzOJkc33ryOcac7BcjI HoYiwAbPGif8as29XGWcNhKQSMA/pJjbfbBPvJLYOiqS0Uk+1g3KoAjE2qvdn5GX1Oxl FXym0b1okaW10HnqFNqg4hpHyyDCJd717Lc+CbDW6h9x2opIVMXRdpUbjR/K1bbFL/Wi XRDWpGlz/MN1AzhkcZAnMKqtICzPhMRcmAFMpaeugOarv3/PztGTRhU6tDJBI6O+m/gt VVqw== X-Forwarded-Encrypted: i=1; AJvYcCUOVsnY1NgTIbw7I6JDfhpSCjAuUKZCANB1b0ehDrLyDOhylIKsHgiIscjT5byoY1L6wcg3tgvTVu6Z@debbugs.gnu.org X-Gm-Message-State: AOJu0YyBk+d3WsZnBZywP8UjWIcpKf2XG1zh1Xr1nDtVndk9S3KdNyuO QTqIPZq/kgFuEqm3RGOHXMwlqk0bqDzqAsjHe1fYzQMu4rQHOzDQ3oWS7A== X-Google-Smtp-Source: AGHT+IEDud6FLknhx733B9y3fDCzRj5/AMaUweGxOPYTO/NfmFTUnLU4O+l0SlqZHF7h/ImjJ4afuw== X-Received: by 2002:a17:90b:4b0d:b0:2e2:c66f:5527 with SMTP id 98e67ed59e1d1-2e5616e6fbdmr6379738a91.29.1729342338922; Sat, 19 Oct 2024 05:52:18 -0700 (PDT) Received: from terra ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-2e5612de78asm3952734a91.57.2024.10.19.05.52.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 19 Oct 2024 05:52:18 -0700 (PDT) From: Maxim Cournoyer To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: bug#73508: Generic updaters should run last In-Reply-To: <87msj73q46.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Mon, 14 Oct 2024 13:01:29 +0200") References: <878qvdegl1.fsf@gmail.com> <6f3b073a68e5dc8f93c54b4427cfd555aee0e9f0.1727420518.git.maxim.cournoyer@gmail.com> <87msj73q46.fsf@gnu.org> Date: Sat, 19 Oct 2024 21:52:14 +0900 Message-ID: <87v7xocl1d.fsf_-_@gmail.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 73508-done Cc: Josselin Poiret , Simon Tournier , Mathieu Othacehe , Tobias Geerinckx-Rice , 73508-done@debbugs.gnu.org, Christopher Baines X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Hi, Ludovic Court=C3=A8s writes: > Hello, > > Maxim Cournoyer skribis: > >> * guix/upstream.scm (%updaters): Ensure the updaters with a name startin= g by >> 'generic' appear last in the list. >> >> Fixes: https://issues.guix.gnu.org/ > > This should be . > >> Change-Id: I98977f6c925c14303273755b5b4dc36035f78bda > > Apart from that, LGTM, thanks! Fixed the above, and pushed! --=20 Thanks, Maxim ------------=_1729342443-25208-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 27 Sep 2024 06:50:26 +0000 Received: from localhost ([127.0.0.1]:45322 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su4o6-0001oU-Au for submit@debbugs.gnu.org; Fri, 27 Sep 2024 02:50:26 -0400 Received: from lists.gnu.org ([209.51.188.17]:59960) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1su4o3-0001oM-WC for submit@debbugs.gnu.org; Fri, 27 Sep 2024 02:50:24 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1su4nb-0005sL-6x for bug-guix@gnu.org; Fri, 27 Sep 2024 02:49:55 -0400 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1su4nY-0007jk-WB for bug-guix@gnu.org; Fri, 27 Sep 2024 02:49:54 -0400 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-71b070ff24dso1563998b3a.2 for ; Thu, 26 Sep 2024 23:49:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1727419790; x=1728024590; darn=gnu.org; h=mime-version:message-id:date:subject:to:from:from:to:cc:subject :date:message-id:reply-to; bh=6qvtB7GzTEj0TrZKR2CuiVfDVdeXSMxSbif1AiDhdh0=; b=AyiJGJGGQDrHQRtZgE0MQ7j0Nwpiw5B/Y0b0dVqOSfosISLFcspE6oZwA6cwkuoctB 8GJ2rpjJXvpmUiYmiNSPSIA0QRJWJPyBnnu1HI2lT+UwtyUczEfFqJB2e0N4XlArfKXJ undJo4DLUL521/w7zAgEup3N5oJUe10RomnEEQYt3XvG+Wj0nAdYmXFHpJ5En+Sok0ve Ee/Ybegt+51McIWmYNRKKyLDSFYaCM6se9wS2GN6vsOcI6JZHOvRWcahpESiXsB2Y/Mc g8Ia3DSEp7Cji8+yvgBJFHcSf3Hf7BwjqdbNVh5wFpzTnjMpvGUXnH//tQ7hx8MJ8y+A zhjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1727419790; x=1728024590; h=mime-version:message-id:date:subject:to:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=6qvtB7GzTEj0TrZKR2CuiVfDVdeXSMxSbif1AiDhdh0=; b=d6/ywAxY3T1S4ZMmtzNKPUSuTn+fwJxGI48l0lwGuvcnPPWSPTPQ5mFcjMMPwzLEUD Dh+/00kShc6No/PhYlU+eMxL6pHuzL8gCUeQVIP8oJbiFQOeUyXgiXWQL2gvVYpCSCfu V3p0+SUKV9ClkVSKU69IcNk9pV9hSAnDiz6e7gffZjSWV9CWh9HAwuQ1VfCJfgyJVJEv wVYAr4/aTHWKKcryiTh0+U+cVRrUgYZgMzVc7i8gCstmUVQJaMTfUkQXLFbJUzng5KuP vqtiew11hGUXVNT+gzmqy7IPn6FqagO7m66FYPxfHxLUswl2DFsQsIScPlosiGUTuBAI Smgg== X-Gm-Message-State: AOJu0YyBPkAicsvdAf3kALrXp4yKSbaGH+sF0tdkVtlt5/rXPpyWeKPX nf9n+bffOkdulMtzzFQ6WayAo9VDzJxeNZ7rYWZ3glbGkQyTh84SfxGbf+7V X-Google-Smtp-Source: AGHT+IHHktjYo6stbBDMc9isyCaVX4UPQ4Z3FW9cVtwzTeNAHOi75EU9eGmtAS8PMV1CdHQGnyWRiQ== X-Received: by 2002:a05:6a00:1798:b0:718:dc55:728a with SMTP id d2e1a72fcca58-71b25f3b70fmr3846633b3a.8.1727419790077; Thu, 26 Sep 2024 23:49:50 -0700 (PDT) Received: from hurd ([2405:6586:be0:0:c8ff:1707:9b9:af89]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-71b2649c2b1sm918951b3a.4.2024.09.26.23.49.48 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Sep 2024 23:49:49 -0700 (PDT) From: Maxim Cournoyer To: bug-guix Subject: Generic updaters should run last X-Debbugs-CC: Liliana Prikler Date: Fri, 27 Sep 2024 15:49:46 +0900 Message-ID: <878qvdegl1.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain Received-SPF: pass client-ip=2607:f8b0:4864:20::42c; envelope-from=maxim.cournoyer@gmail.com; helo=mail-pf1-x42c.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Hi, Currently the updaters are run in the order of their alphabetical names. For example, with the following instrumentation to see the updater names tried in guix/upstream.scm: --8<---------------cut here---------------start------------->8--- @@ -259,6 +271,7 @@ (define* (package-latest-release package one." (any (match-lambda (($ name description pred import) + (pk 'trying-updater: name) (and (pred package) (import package #:version version)))) updaters)) --8<---------------cut here---------------end--------------->8--- attempting to update gnome-desktop produces: --8<---------------cut here---------------start------------->8--- ./pre-inst-env guix refresh gnome-desktop ;;; (trying-updater: bioconductor) ;;; (trying-updater: composer) ;;; (trying-updater: cpan) ;;; (trying-updater: cran) ;;; (trying-updater: crate) ;;; (trying-updater: egg) ;;; (trying-updater: elpa) ;;; (trying-updater: gem) ;;; (trying-updater: generic-git) ;;; (trying-updater: generic-html) gnu/packages/gnome.scm:2265:13: gnome-desktop would be upgraded from 44.0 to 44.1 --8<---------------cut here---------------end--------------->8--- It seems to me the generic updaters, being generic thus less likely to be precise/correct, should be tried last by 'guix refresh'. This is ensured with the following patch: --8<---------------cut here---------------start------------->8--- modified guix/upstream.scm @@ -48,6 +48,7 @@ (define-module (guix upstream) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) + #:use-module (srfi srfi-71) #:use-module (rnrs bytevectors) #:use-module (ice-9 match) #:use-module (ice-9 regex) @@ -226,15 +227,26 @@ (define (importer-modules) (define %updaters ;; The list of publically-known updaters, alphabetically sorted. (delay - (sort (fold-module-public-variables (lambda (obj result) - (if (upstream-updater? obj) - (cons obj result) - result)) - '() - (importer-modules)) - (lambda (updater1 updater2) - (stringstring (upstream-updater-name updater1)) - (symbol->string (upstream-updater-name updater2))))))) + (let* ((updaters + (sort (fold-module-public-variables + (lambda (obj result) + (if (upstream-updater? obj) + (cons obj result) + result)) + '() + (importer-modules)) + (lambda (updater1 updater2) + (stringstring (upstream-updater-name updater1)) + (symbol->string (upstream-updater-name updater2)))))) + (generic-updaters rest (partition + (compose (cut string-prefix? "generic" <>) + symbol->string + upstream-updater-name) + updaters))) + ;; Ensure the generic updaters are tried last, as otherwise they could + ;; return less accurate results. + (append rest generic-updaters)))) ;; Tests need to mock this variable so mark it as "non-declarative". (set! %updaters %updaters) @@ -259,6 +271,7 @@ (define* (package-latest-release package --8<---------------cut here---------------end--------------->8--- Now, the 'gnome-updater' at least ends up being tried before the 'generic-html': --8<---------------cut here---------------start------------->8--- ;;; (trying-updater: bioconductor) ;;; (trying-updater: composer) ;;; (trying-updater: cpan) ;;; (trying-updater: cran) ;;; (trying-updater: crate) ;;; (trying-updater: egg) ;;; (trying-updater: elpa) ;;; (trying-updater: gem) ;;; (trying-updater: github) ;;; (trying-updater: gnome) gnu/packages/gnome.scm:2265:13: gnome-desktop would be upgraded from 44.0 to 44.1 --8<---------------cut here---------------end--------------->8--- I'll send a 'git format-patch' version in a follow-up. -- Thanks, Maxim ------------=_1729342443-25208-1--