summaryrefslogtreecommitdiff
path: root/guix
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-02-15 16:56:14 +0100
committerLudovic Courtès <ludo@gnu.org>2022-02-15 17:24:08 +0100
commit791069737c8c51582cc021438dae32eb0fb7b8e0 (patch)
treefbf6731e2928fc4119931c9a21df5dc7189eed16 /guix
parentee92b0fb7dfd8b55ea63254a59a1605fb870a44c (diff)
guix system: Fix 'describe' when booting the latest generation.
Fixes a regression introduced in 9679123ce083c69cdfd1505d95a4066d41280394, whereby 'guix system describe' would error out when /run/current-system points to /gnu/store/…-system, which is the case when booting the latest generation or after reconfigure. * guix/scripts/system.scm (process-command): For 'describe'. Try 'generation-number' with and without the optional argument.
Diffstat (limited to 'guix')
-rw-r--r--guix/scripts/system.scm10
1 files changed, 9 insertions, 1 deletions
diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm
index 430815902d..a6e717d52c 100644
--- a/guix/scripts/system.scm
+++ b/guix/scripts/system.scm
@@ -1328,9 +1328,17 @@ argument list and OPTS is the option alist."
(x (leave (G_ "wrong number of arguments~%"))))))
(list-generations pattern)))
((describe)
+ ;; Describe the running system, which is not necessarily the current
+ ;; generation. /run/current-system might point to
+ ;; /var/guix/profiles/system-N-link, or it might point directly to
+ ;; /gnu/store/…-system. Try both.
(match (generation-number "/run/current-system" %system-profile)
(0
- (leave (G_ "no system generation, nothing to describe~%")))
+ (match (generation-number %system-profile)
+ (0
+ (leave (G_ "no system generation, nothing to describe~%")))
+ (generation
+ (display-system-generation generation))))
(generation
(display-system-generation generation))))
((search)