summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2022-07-15 12:45:32 +0200
committerLudovic Courtès <ludo@gnu.org>2022-07-15 17:36:57 +0200
commit30915a7419d48c6a5dcfdc3a1547268ac406a9ef (patch)
tree5e4a2a81a500a708995a9bbfa6af1de34953c0f7
parent4eb33b370624a39d91aca550c38615821da3f377 (diff)
shell: Ignore cached profiles when using '--export-manifest'.
Fixes <https://issues.guix.gnu.org/56539>. Fixes a bug where "guix shell -D pkg --export-manifest" would provide the expansion of PKG's dependencies instead of a call to 'package-development-manifest' if that profile happened to be cached. * guix/scripts/shell.scm (profile-cached-gc-root): Add clause for 'export-manifest?.
-rw-r--r--guix/scripts/shell.scm5
1 files changed, 5 insertions, 0 deletions
diff --git a/guix/scripts/shell.scm b/guix/scripts/shell.scm
index 004ed7af2e..c115a00320 100644
--- a/guix/scripts/shell.scm
+++ b/guix/scripts/shell.scm
@@ -390,6 +390,11 @@ return #f and #f."
;; If the user already specified a profile, there's nothing more to
;; cache.
(values #f #f))
+ ((('export-manifest? . #t) . _)
+ ;; When exporting a manifest, compute it anew so that '-D' packages
+ ;; lead to 'package-development-manifest' expressions rather than an
+ ;; expanded list of inputs.
+ (values #f #f))
((('system . system) . rest)
(loop rest system file specs))
((_ . rest) (loop rest system file specs)))))