mirror of
https://codeberg.org/guix/guix.git
synced 2026-01-28 11:55:06 -06:00
shell: Create cached profile directory once connected to the daemon.
Fixes a regression introduced in d12c4452a4,
where ‘guix shell’, on a fresh installation, would attempt to create the
cached profile directory under /var/guix/profiles/per-user/$USER, which only
guix-daemon can do, on the user’s first connection.
* guix/scripts/shell.scm (options-with-caching): Remove ‘mkdir-p’ call for
ROOT’s parent directory. Add ‘create-gc-root-directory?’ key to the result.
* guix/scripts/environment.scm (guix-environment*): Honor
‘create-gc-root-directory?’ key.
Fixes: guix/guix#126
Reported-by: Maxim Cournoyer <maxim@guixotic.coop>
Change-Id: I782461c80c254467108c6b8d676d269866795746
This commit is contained in:
parent
a560be0dd9
commit
7fd60bfc0b
2 changed files with 10 additions and 4 deletions
|
|
@ -1235,6 +1235,8 @@ command-line option processing with 'parse-command-line'."
|
|||
(if prof-drv (list prof-drv) '())
|
||||
(if (derivation? bash) (list bash) '()))))
|
||||
(mwhen gc-root
|
||||
(mwhen (assoc-ref opts 'create-gc-root-directory?)
|
||||
(return (mkdir-p (dirname gc-root))))
|
||||
(register-gc-root profile gc-root))
|
||||
|
||||
(mwhen (assoc-ref opts 'check?)
|
||||
|
|
|
|||
|
|
@ -261,10 +261,14 @@ cache) or a 'gc-root' key (to add the profile to cache)."
|
|||
opts))) ;load right away
|
||||
(if (and root (not (assq-ref opts 'gc-root)))
|
||||
(begin
|
||||
(if stat
|
||||
(delete-file root)
|
||||
(mkdir-p (dirname root)))
|
||||
(alist-cons 'gc-root root opts))
|
||||
(when stat
|
||||
(delete-file root))
|
||||
;; Note: Delay the creation of ROOT's parent directory: a
|
||||
;; connection must first be made to the daemon so that it
|
||||
;; creates /var/guix/profiles/per-user/$USER if needed.
|
||||
(alist-cons 'gc-root root
|
||||
(alist-cons 'create-gc-root-directory? #t
|
||||
opts)))
|
||||
opts))))
|
||||
|
||||
(define (auto-detect-manifest opts)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue