guix-devel/guix/scripts
Ludovic Courtès ed7b44370f
offload: Use (guix inferior) instead of (ssh dist node).
Using inferiors and thus 'guix repl' simplifies setup on build
machines (no need to worry about GUILE_LOAD_PATH etc.)

Furthermore, the 'guix repl -t machine' protocol running in a remote
pipe addresses several issues with the current implementation of nodes
and RREPLs in Guile-SSH: fewer round trips, doesn't leave a 'guile
--listen' process behind it, stateless (since a new process is started
each time), more efficient (the SSH channel can be reused), more
reliable (no 'pgrep', 'pkill', and shellology; see
<https://github.com/artyom-poptsov/guile-ssh/issues/11> as an example.)

* guix/ssh.scm (inferior-remote-eval): New procedure.
(send-files): Use it instead of 'make-node' and 'node-eval'.
* guix/scripts/offload.scm (node-guile-version): New procedure.
(node-free-disk-space, transfer-and-offload, node-load)
(choose-build-machine, assert-node-has-guix): Use 'remote-inferior'
instead of 'make-node' and 'inferior-eval' instead of 'node-eval'.
(assert-node-can-import, assert-node-can-export): Likewise, and add
'session' parameter.
(check-machine-availability): Likewise, and add calls to
'close-inferior' and 'disconnect!'.
(check-machine-status): Likewise.
* doc/guix.texi (Daemon Offload Setup): Remove bit related to 'guile' in
$PATH and $GUILE_LOAD_PATH; mention 'guix' alone.
2018-12-24 16:06:32 +01:00
..
container
import import cran: Document "recursive" option. 2018-10-17 13:06:25 +02:00
system
archive.scm
authenticate.scm
build.scm build: Default to https://ci.guix.info for substitutes. 2018-12-04 10:57:56 +01:00
challenge.scm
container.scm
copy.scm
describe.scm describe: In 'channels' format, quote the channel name. 2018-12-07 15:14:12 +01:00
download.scm
edit.scm
environment.scm Use 'mapm' instead of 'sequence' + 'map'. 2018-12-19 23:52:24 +01:00
gc.scm
graph.scm graph: Add '--system'. 2018-09-16 23:00:44 +02:00
hash.scm guix hash: Fix version and help messages 2018-11-28 10:39:58 +01:00
import.scm
lint.scm guix: lint: Check for source URIs redirecting to GitHub. 2018-12-24 08:15:17 +05:30
offload.scm offload: Use (guix inferior) instead of (ssh dist node). 2018-12-24 16:06:32 +01:00
pack.scm pack: List the available formats. 2018-11-27 19:23:39 +02:00
package.scm guix package: '--show' errors when asked for a non-existent package. 2018-11-11 23:53:29 +01:00
perform-download.scm perform-download: Optionally report a "download-progress" trace. 2018-09-27 23:21:53 +02:00
processes.scm Add 'guix processes'. 2018-10-29 00:13:38 +01:00
publish.scm publish: Add a 'Cache-Control' header on /nar responses. 2018-12-17 23:33:42 +01:00
pull.scm pull: Add missing monadic 'return'. 2018-11-07 21:56:16 +01:00
refresh.scm scripts: refresh: Allow searching recursively. 2018-12-24 12:19:17 +02:00
repl.scm repl: Load user's initialization file. 2018-12-03 08:04:51 +03:00
size.scm Remove most references to hydra.gnu.org. 2018-12-04 10:57:56 +01:00
substitute.scm substitute: Ignore irrelevant narinfo signatures. 2018-12-14 00:02:59 +01:00
system.scm guix system: Clarify the three strategies available. 2018-12-18 16:04:25 +01:00
weather.scm