X-Loop: help-debbugs@HIDDEN Subject: [bug#78462] [PATCH 1/2] refresh: Allow specifying a partial version via the version specification. Resent-From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> Resent-CC: guix@HIDDEN, gabriel@HIDDEN, dev@HIDDEN, ludo@HIDDEN, othacehe@HIDDEN, maxim.cournoyer@HIDDEN, zimon.toutoune@HIDDEN, me@HIDDEN, guix-patches@HIDDEN Resent-Date: Sat, 17 May 2025 05:41:01 +0000 Resent-Message-ID: <handler.78462.B.174746044619198 <at> debbugs.gnu.org> Resent-Sender: help-debbugs@HIDDEN X-GNU-PR-Message: report 78462 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 78462 <at> debbugs.gnu.org Cc: Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Christopher Baines <guix@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> X-Debbugs-Original-To: guix-patches@HIDDEN X-Debbugs-Original-Xcc: Christopher Baines <guix@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>, Josselin Poiret <dev@HIDDEN>, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Mathieu Othacehe <othacehe@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@HIDDEN> Received: via spool by submit <at> debbugs.gnu.org id=B.174746044619198 (code B ref -1); Sat, 17 May 2025 05:41:01 +0000 Received: (at submit) by debbugs.gnu.org; 17 May 2025 05:40:46 +0000 Received: from localhost ([127.0.0.1]:44216 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uGAHu-0004za-4S for submit <at> debbugs.gnu.org; Sat, 17 May 2025 01:40:46 -0400 Received: from lists.gnu.org ([2001:470:142::17]:34282) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1uGAHq-0004yx-PR for submit <at> debbugs.gnu.org; Sat, 17 May 2025 01:40:43 -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 <maxim.cournoyer@HIDDEN>) id 1uGAHl-0003AL-35 for guix-patches@HIDDEN; Sat, 17 May 2025 01:40:37 -0400 Received: from mail-pl1-x636.google.com ([2607:f8b0:4864:20::636]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <maxim.cournoyer@HIDDEN>) id 1uGAHi-0000Xy-PJ for guix-patches@HIDDEN; Sat, 17 May 2025 01:40:36 -0400 Received: by mail-pl1-x636.google.com with SMTP id d9443c01a7336-22fac0694aaso20551095ad.1 for <guix-patches@HIDDEN>; Fri, 16 May 2025 22:40:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747460432; x=1748065232; darn=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=ykXBccHFAMVudMfQRWw31jP6EHfXwotbq1zRr2t56hQ=; b=gWYsQrXWzKbYO0xl3TIODJ33nkrJtBJi1YvI/GpHgiWnjwCzKnPvqDz63lsOegfmrD iOer4LWPnCeic0ef8YxdhqZKfQ4GulUThxzINdG5HnDG69wVzr7sjrgYu/LL4P8Sy+WI 5hdD+n+zJcMFm/xcOR/HN7h8vJSrGIx4v1dv7I4b8zSxmM7FGaSlb593uUgQTWR6efMa dSBIYSgspeQXd4vKMZEuLxXiZ6saU8gSK6vEKM8JZ5pBswRRPes0Fl1gmLhojVVMVRlA 0S42QTVYCTS9dGXAU8zghjB/1eTq08m/joMW7AftwTDOKlc2rsCwoujfQKSlTMlstYy3 bQmw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747460432; x=1748065232; 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=ykXBccHFAMVudMfQRWw31jP6EHfXwotbq1zRr2t56hQ=; b=v/FyMMMvz1GL2QI78EaaUffUwG7ppP0ckcZkqajhfnrhpgqcAxIzcJ6AvVpjCxx9sU FjlvcgyFA0Yl0rFepUZ78DWd+K8+Nuni5I34j3846rHAgNZLWoYx6TW4dmA/RNSD1+2t 8UWzE95L5UkoeMdFMzGVwYMsuTMaLVUlteFuQrOogXCcEKQIwUa4EHD5BHGHwMJShbz9 BvHaOGZZHJLPJixD4xUT6u10H4hzII/uPt7ynQxIUHoyUmvtw0j39LKNy4FkxXqVmG0p 41WH1b/+1bI79iIAH35mmJcAgfdS4GaHhXeZmNs11OL3jJ89QI94+lnbORxGnLG0+Aqz j9xA== X-Gm-Message-State: AOJu0YxuFy9unAuO9cD3/fjy/gbehx4pfsioCZlHHDvF8+swI9at1e82 Q6YdOO/P8pQgS2zBN2yNgEctkYyJR+S0vBkLhV171b+8zuOn+ju1DDWI5FMmSGId X-Gm-Gg: ASbGncu5Np9ldcaopvWZAA5LzZ5CJWpmfKAaJtwSffDNmE0R13HuzajQus0KSmV1Pw/ BRhNZn67XndGaPun0Iinqu723oJilOynGEfu21RjXD72NlLNQq54kPWk5qyqUhRUZxByyH8+SjZ HdZVoTHU8mrSwnHqeliYVM0HJCUampnlyJ6Zp9FfK67KuWnMuqGLJvA7oYoqx3hbc/FOD6H7I6D CseAvpcVy2G7aRhoLL8OoIU5U6WwQ/KBj0E0xxlVGIUT2R1gKrGB6PNNHOk8k6pSnAK8evULdBH geeNL0JFz/3rvL10loX4oMTluOa5mkJMh0HbBcgpH9b9sOYrHlX9Xv9ehruBnE0djlBC6d8= X-Google-Smtp-Source: AGHT+IFBSNW2MVxfDdCPvzfySvNC2QbhYRMMJXic6CIkmFbRLpY/n2T5Ku/6ynVQE6vhivCQeyoPYA== X-Received: by 2002:a17:903:41c7:b0:22e:37b8:7972 with SMTP id d9443c01a7336-231de3514dcmr72916825ad.10.1747460431850; Fri, 16 May 2025 22:40:31 -0700 (PDT) Received: from localhost.localdomain ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-231d4ac957dsm23424505ad.52.2025.05.16.22.40.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 May 2025 22:40:31 -0700 (PDT) From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Date: Sat, 17 May 2025 14:40:19 +0900 Message-ID: <eb4cb32e1c94b8873250e9df4958a9c06059719e.1747460420.git.maxim.cournoyer@HIDDEN> X-Mailer: git-send-email 2.49.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Received-SPF: pass client-ip=2607:f8b0:4864:20::636; envelope-from=maxim.cournoyer@HIDDEN; helo=mail-pl1-x636.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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) * guix/scripts/refresh.scm (update-specification->update-spec): Flag the update-spec as partial when it is prefixed with '~'. * tests/guix-refresh.sh: Test it. * doc/guix.texi (Invoking guix refresh): Document it. Change-Id: Iab4482d9367105f6ffcd2d6a49148736c93d53e4 --- doc/guix.texi | 11 +++++++++++ guix/scripts/refresh.scm | 7 +++++-- tests/guix-refresh.sh | 20 ++++++++++++++++++++ 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 8e73685a216..584a42b6a79 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -15147,6 +15147,17 @@ Invoking guix refresh gnu/packages/qt.scm:452:13: qtbase would be upgraded from 5.15.8 to 5.15.10 @end example +@cindex partial version specification, guix refresh +A per-package equivalent to --target-version is made available by +prefixing the version specification with the @samp{~} (tilde) character. +For example: + +@example +$ guix refresh bash=~5 guile=~3 +gnu/packages/guile.scm:354:13: guile would be upgraded from 3.0.9 to 3.0.10 +gnu/packages/bash.scm:150:15: bash would be upgraded from 5.1.16 to 5.2.37 +@end example + Sometimes the upstream name differs from the package name used in Guix, and @command{guix refresh} needs a little help. Most updaters honor the @code{upstream-name} property in package definitions, which can be used diff --git a/guix/scripts/refresh.scm b/guix/scripts/refresh.scm index 2d086073284..4a94ec637bb 100644 --- a/guix/scripts/refresh.scm +++ b/guix/scripts/refresh.scm @@ -231,8 +231,11 @@ (define (update-specification->update-spec spec fallback-version) (match (string-rindex spec #\=) (#f (update-spec (specification->package spec) fallback-version (not (not fallback-version)))) - (idx (update-spec (specification->package (substring spec 0 idx)) - (substring spec (1+ idx)))))) + (idx (let ((version (substring spec (1+ idx))) + (package (specification->package (substring spec 0 idx)))) + (if (string-prefix? "~" version) + (update-spec package (string-drop version 1) #t) ;partial + (update-spec package version)))))) (define (options->update-specs opts) "Return the list of <update-spec> records requested by OPTS, honoring diff --git a/tests/guix-refresh.sh b/tests/guix-refresh.sh index 0f1af8cae7c..e287f37717f 100644 --- a/tests/guix-refresh.sh +++ b/tests/guix-refresh.sh @@ -126,6 +126,12 @@ case "$(guix refresh -t test guile --target-version=2.0.0 2>&1)" in *) false;; esac +guix refresh -t test guile=~2.0.0 # XXX: should return non-zero? +case "$(guix refresh -t test guile=~2.0.0 2>&1)" in + *"failed to find"*"2.0.0"*) true;; + *) false;; +esac + # Partial target version => select the newest release prefixed by it. guix refresh -t test guile --target-version=3 # XXX: should return non-zero? case "$(guix refresh -t test guile --target-version=3 2>&1)" in @@ -133,6 +139,20 @@ case "$(guix refresh -t test guile --target-version=3 2>&1)" in *) false;; esac +# Partial spec version => select the newest release prefixed by it. +guix refresh -t test guile=~3 # XXX: should return non-zero? +case "$(guix refresh -t test guile=~3 2>&1)" in + *"would be upgraded"*"3.13.3"*) true;; + *) false;; +esac + +# Conflicting --target-version and spec: spec wins +guix refresh -t test guile=~3 --target-version=1 # XXX: should return non-zero? +case "$(guix refresh -t test guile=~3 2>&1)" in + *"would be upgraded"*"3.13.3"*) true;; + *) false;; +esac + for spec in "guile=1.6.4" "guile@3=1.6.4" do guix refresh -t test "$spec" base-commit: 3fadea42548389141e84a8481d271ac7280de7bc -- 2.49.0
Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) Content-Type: text/plain; charset=utf-8 X-Loop: help-debbugs@HIDDEN From: help-debbugs@HIDDEN (GNU bug Tracking System) To: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Subject: bug#78462: Acknowledgement ([PATCH 1/2] refresh: Allow specifying a partial version via the version specification.) Message-ID: <handler.78462.B.174746044619198.ack <at> debbugs.gnu.org> References: <eb4cb32e1c94b8873250e9df4958a9c06059719e.1747460420.git.maxim.cournoyer@HIDDEN> X-Gnu-PR-Message: ack 78462 X-Gnu-PR-Package: guix-patches X-Gnu-PR-Keywords: patch Reply-To: 78462 <at> debbugs.gnu.org Date: Sat, 17 May 2025 05:41:02 +0000 Thank you for filing a new bug report with debbugs.gnu.org. This is an automatically generated reply to let you know your message has been received. Your message is being forwarded to the package maintainers and other interested parties for their attention; they will reply in due course. As you requested using X-Debbugs-CC, your message was also forwarded to Christopher Baines <guix@HIDDEN>, Gabriel Wicki <gabriel@HIDDEN>= , Josselin Poiret <dev@HIDDEN>, Ludovic Court=C3=A8s <ludo@HIDDEN>, M= athieu Othacehe <othacehe@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@gmail.= com>, Simon Tournier <zimon.toutoune@HIDDEN>, Tobias Geerinckx-Rice <me@= tobias.gr> (after having been given a bug report number, if it did not have one). Your message has been sent to the package maintainer(s): guix-patches@HIDDEN If you wish to submit further information on this problem, please send it to 78462 <at> debbugs.gnu.org. Please do not send mail to help-debbugs@HIDDEN unless you wish to report a problem with the Bug-tracking system. --=20 78462: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D78462 GNU Bug Tracking System Contact help-debbugs@HIDDEN with problems
Received: (at control) by debbugs.gnu.org; 17 May 2025 05:44:07 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sat May 17 01:44:07 2025 Received: from localhost ([127.0.0.1]:44262 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1uGAL9-0005Em-2t for submit <at> debbugs.gnu.org; Sat, 17 May 2025 01:44:07 -0400 Received: from mail-pj1-x102a.google.com ([2607:f8b0:4864:20::102a]:53363) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.84_2) (envelope-from <maxim.cournoyer@HIDDEN>) id 1uGAL6-0005E0-3Q for control <at> debbugs.gnu.org; Sat, 17 May 2025 01:44:04 -0400 Received: by mail-pj1-x102a.google.com with SMTP id 98e67ed59e1d1-30e57a37294so2490047a91.2 for <control <at> debbugs.gnu.org>; Fri, 16 May 2025 22:44:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1747460636; x=1748065436; darn=debbugs.gnu.org; h=subject:from:to:message-id:date:from:to:cc:subject:date:message-id :reply-to; bh=FjABBW+E1i15sQl+POFVU7z2txCAifIRGmEPVOiT1z0=; b=BGPlRCiM8ydzJFUfcslQ9x5i4k9tI/g9sEgL6+IHVvirYd+BTCcwpI1PaGEOFXtVEQ QF1yog0sN08MLjMhBVLRFoJ6oU8x0GjVzhxKU1Hm35sNhXdmWOS49dOPuQ/Y3MHyAQPM 7cEKc+vH1mE/KqoN5Eq1OgM6glkkivRTumgsg+hgOwZmBQAMCL7Y1yP6hDTMKFSOuQBt A5WYPbtSZ6X5CulSjQxSUoV+giakru2pjTz9Mg57kHpzR+8UJa/Mkhmhtq5+Z+lka/WS Px3RFEmTKMcJmp+rz09zq9F6madQwEI8rk+B/rzzcnJ3h7vwaj1XVT/x0VZuZCSMUuhj vERA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1747460636; x=1748065436; h=subject:from:to:message-id:date:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=FjABBW+E1i15sQl+POFVU7z2txCAifIRGmEPVOiT1z0=; b=C+dFxvMU8U2V6uxiYikMnUp/2Fk/dpNaGQoOcJ2QQAnJRo3JkJI4ZbeFHMkgEyHZB0 HpEqwykxAIzmGr3/ekSHojxpO/2O9UVxd9puR8BqvvPzOkg3xhNSRenM2Mk3vY2PwOii 7tJGWMyaan6bW1Cnv4Xk1H28fTzmKh2oooayqq43gFvTacrl2ft0UxgNaGAWG2qlthZd a3wRbDqWMzsny1KceGtiBJ/J3MA8VchUCaOCwYD2M+l52rkCrW/OM334jG8495DSHEns NSQF7OIC2j2xKO78CrJQOaBaKbYYdOJDlRODtG8hZ87M8ZxvngRi5DF0tG3vEmeoDuYV M7SQ== X-Gm-Message-State: AOJu0YxD22AwIJ+1sKFqkDNauLUhNcOMw0gSQ0lMEC9RjteaCSv7qMWT JSd4bseLvC+DDrD/6zAVk8LLsx7APBMZ9rPqpUuiDklXuttfzGr8sF21VZCqCA== X-Gm-Gg: ASbGncs+HNwN/ONHfAd+bWcVEa0jlK69ZmmUK3Q+LB4D+QQEUbdNnyd2pygvVfH0dRK 3ikHD5DRNq7xnD542jPVU3/bP8Bdh25YQbWTVIqyp9kp/CjZLLmbqL+JSH7tmMc1JIA47Hc+haX 2YNTPGMPln+YeWrNyLYT7bltM8REWs3OQwA/79v90YdlRFEkZdjLtAEYCncAcdKnLX+6cf+0TtM lBhK0Uhs94Vq07Y5y29Mz1mYC7kg1PZie1QnwsByJJt2l1raM6PpwX7u5UbwoDlGfJ7T1943YWY qsVDcs0p3U0d+TuOBOWwNaJPdQeyklsEU0dRaabZGbFcBY0bE0HZnhAVlXP1 X-Google-Smtp-Source: AGHT+IEP5g78Myy1XcK8O5FAeDfn6CZSJS606Ye2Wtab1ZxK9azu07FcwaNXUDbBr6l3FvN0BusP8g== X-Received: by 2002:a17:90b:3d0c:b0:301:1d9f:4ba2 with SMTP id 98e67ed59e1d1-30e83216e93mr9119441a91.28.1747460636444; Fri, 16 May 2025 22:43:56 -0700 (PDT) Received: from terra ([2405:6586:be0:0:83c8:d31d:2cec:f542]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-b26eaf8e13csm2480028a12.45.2025.05.16.22.43.55 for <control <at> debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 16 May 2025 22:43:55 -0700 (PDT) Date: Sat, 17 May 2025 14:43:53 +0900 Message-Id: <87sel3eqqu.fsf@HIDDEN> To: control <at> debbugs.gnu.org From: Maxim Cournoyer <maxim.cournoyer@HIDDEN> Subject: control message for bug #78463 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) forcemerge 78463 78462 quit
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.