pull: Add '--profile'.
* guix/scripts/pull.scm (show-help, %options): Add '--profile'. (build-and-install): Change 'config-dir' argument to 'profile'. (guix-pull): Honor '--profile'. * doc/guix.texi (Invoking guix pull): Document it.
This commit is contained in:
parent
214452ffd3
commit
ee94cfeb99
|
@ -2851,6 +2851,10 @@ is provided, the subset of generations that match @var{pattern}.
|
|||
The syntax of @var{pattern} is the same as with @code{guix package
|
||||
--list-generations} (@pxref{Invoking guix package}).
|
||||
|
||||
@item --profile=@var{profile}
|
||||
@itemx -p @var{profile}
|
||||
Use @var{profile} instead of @file{~/.config/guix/current}.
|
||||
|
||||
@item --bootstrap
|
||||
Use the bootstrap Guile to build the latest Guix. This option is only
|
||||
useful to Guix developers.
|
||||
|
|
|
@ -79,6 +79,8 @@ Download and deploy the latest version of Guix.\n"))
|
|||
(display (G_ "
|
||||
-l, --list-generations[=PATTERN]
|
||||
list generations matching PATTERN"))
|
||||
(display (G_ "
|
||||
-p, --profile=PROFILE use PROFILE instead of ~/.config/guix/current"))
|
||||
(display (G_ "
|
||||
--bootstrap use the bootstrap Guile to build the new Guix"))
|
||||
(newline)
|
||||
|
@ -113,6 +115,10 @@ Download and deploy the latest version of Guix.\n"))
|
|||
(lambda (opt name arg result)
|
||||
(alist-cons 'ref `(branch . ,(string-append "origin/" arg))
|
||||
result)))
|
||||
(option '(#\p "profile") #t #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'profile (canonicalize-profile arg)
|
||||
result)))
|
||||
(option '(#\n "dry-run") #f #f
|
||||
(lambda (opt name arg result)
|
||||
(alist-cons 'dry-run? #t (alist-cons 'graft? #f result))))
|
||||
|
@ -152,15 +158,12 @@ Download and deploy the latest version of Guix.\n"))
|
|||
#:heading (G_ "New in this revision:\n"))))
|
||||
(_ #t)))
|
||||
|
||||
(define* (build-and-install instances config-dir
|
||||
(define* (build-and-install instances profile
|
||||
#:key verbose?)
|
||||
"Build the tool from SOURCE, and install it in CONFIG-DIR."
|
||||
"Build the tool from SOURCE, and install it in PROFILE."
|
||||
(define update-profile
|
||||
(store-lift build-and-use-profile))
|
||||
|
||||
(define profile
|
||||
(string-append config-dir "/current"))
|
||||
|
||||
(mlet %store-monad ((manifest (channel-instances->manifest instances)))
|
||||
(mbegin %store-monad
|
||||
(update-profile profile manifest)
|
||||
|
@ -414,7 +417,9 @@ Use '~/.config/guix/channels.scm' instead."))
|
|||
(let* ((opts (parse-command-line args %options
|
||||
(list %default-options)))
|
||||
(cache (string-append (cache-directory) "/pull"))
|
||||
(channels (channel-list opts)))
|
||||
(channels (channel-list opts))
|
||||
(profile (or (assoc-ref opts 'profile)
|
||||
(string-append (config-directory) "/current"))))
|
||||
|
||||
(cond ((assoc-ref opts 'query)
|
||||
(process-query opts))
|
||||
|
@ -456,7 +461,7 @@ Use '~/.config/guix/channels.scm' instead."))
|
|||
%bootstrap-guile
|
||||
(canonical-package guile-2.2)))))
|
||||
(run-with-store store
|
||||
(build-and-install instances (config-directory)
|
||||
(build-and-install instances profile
|
||||
#:verbose?
|
||||
(assoc-ref opts 'verbose?)))))))))))))
|
||||
|
||||
|
|
Loading…
Reference in New Issue