remote: Do not double-quote the repl-command.

Fixes <https://issues.guix.gnu.org/74787>.

In 0.18.0, the `open-remote-pipe*' now correctly quotes the arguments, so the
double quoting that was done by `shell-quote' is not harmful and breaks at
least offloading and deploy.

* guix/remote.scm (remote-pipe-for-gexp): Call object->string just once.

Change-Id: Id922d26d318bfdd4714e267687c1b27461196d90
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Reported-by: Dariqq <dariqq@posteo.net>
This commit is contained in:
Tomas Volf 2024-12-11 17:27:55 +01:00 committed by Ludovic Courtès
parent 33bed95107
commit c673b64d9d
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -48,9 +48,6 @@ (define-module (guix remote)
(define* (remote-pipe-for-gexp lowered session #:optional become-command)
"Return a remote pipe for the given SESSION to evaluate LOWERED. If
BECOME-COMMAND is given, use that to invoke the remote Guile REPL."
(define shell-quote
(compose object->string object->string))
(define repl-command
(append (or become-command '())
(list
@ -65,7 +62,7 @@ (define repl-command
`("-C" ,directory))
(lowered-gexp-load-path lowered))
`("-c"
,(shell-quote (lowered-gexp-sexp lowered)))))
,(object->string (lowered-gexp-sexp lowered)))))
(let ((pipe (apply open-remote-pipe* session OPEN_READ repl-command)))
(when (eof-object? (peek-char pipe))