pull: Create profile after the store connection has been opened.
Fixes <https://bugs.gnu.org/35341>. Reported by Florian Pelz <pelzflorian@pelzflorian.de>. Previously, we'd call 'ensure-default-profile' before the connection to the daemon has been opened. On the first connection, the daemon ensures that /var/guix/profiles/per-user is world-writable. Since we were calling 'ensure-default-profile' before that, /var/guix/profiles/per-user was typically non-writable (555 and root-owned), and thus 'guix pull' would error out. * guix/scripts/pull.scm (guix-pull): Call 'ensure-default-profile' within 'with-store'.master
parent
c5265a0951
commit
a06a95baff
|
@ -561,11 +561,11 @@ Use '~/.config/guix/channels.scm' instead."))
|
|||
(cache (string-append (cache-directory) "/pull"))
|
||||
(channels (channel-list opts))
|
||||
(profile (or (assoc-ref opts 'profile) %current-profile)))
|
||||
(ensure-default-profile)
|
||||
(cond ((assoc-ref opts 'query)
|
||||
(process-query opts profile))
|
||||
(else
|
||||
(with-store store
|
||||
(ensure-default-profile)
|
||||
(with-status-verbosity (assoc-ref opts 'verbosity)
|
||||
(parameterize ((%current-system (assoc-ref opts 'system))
|
||||
(%graft? (assoc-ref opts 'graft?))
|
||||
|
|
Reference in New Issue