Commit Graph

32 Commits

Author SHA1 Message Date
Simon Tournier c150267648
scripts: deploy: Handle EPIPE errors when displaying help.
* guix/scripts/deploy.scm (%options): Handle EPIPE errors when displaying help.
2023-10-17 14:51:55 +02:00
Ludovic Courtès ae587c2ef0
guix: Strip #:use-module lists.
This was obtained by setting up this environment:

  guix shell -D guix --with-input=guile@3.0.9=guile-next \
    --with-commit=guile-next=e2ed33ef0445c867fe56c247054aa67e834861f2
    -- make -j5

then adding 'unused-module' to (@@ (guix build compiler) %warnings),
building, and checking all the "unused module" warnings and removing
those that were definitely unused.
2023-03-13 15:08:33 +01:00
Ludovic Courtès a3619079f9
Remove now unnecessary uses of (guix grafts).
These modules would use (guix grafts) just to access '%graft?' and
related bindings, which are now in (guix store).

* gnu/ci.scm,
guix/gexp.scm,
guix/lint.scm,
guix/scripts.scm,
guix/scripts/archive.scm,
guix/scripts/build.scm,
guix/scripts/challenge.scm,
guix/scripts/deploy.scm,
guix/scripts/environment.scm,
guix/scripts/home.scm,
guix/scripts/pack.scm,
guix/scripts/package.scm,
guix/scripts/pull.scm,
guix/scripts/size.scm,
guix/scripts/system.scm,
guix/scripts/weather.scm,
tests/builders.scm,
tests/channels.scm,
tests/cpan.scm,
tests/derivations.scm,
tests/gexp.scm,
tests/graph.scm,
tests/guix-daemon.sh,
tests/monads.scm,
tests/pack.scm,
tests/packages.scm,
tests/profiles.scm,
tests/system.scm: Remove #:use-module (guix grafts).
2022-10-22 01:46:55 +02:00
Andrew Tropin 64213a0b66
deploy: Fix error message.
* guix/scripts/deploy.scm (guix-deploy): Fix error message.
2022-10-04 16:46:33 +04:00
Ludovic Courtès ff94f9dfde
deploy: Honor '--dry-run'.
* guix/scripts/deploy.scm (%options): Add "dry-run".
(show-what-to-deploy): Add #:dry-run? and honor it.
(guix-deploy): Honor --dry-run.
2022-07-23 00:39:55 +02:00
Ludovic Courtès 5c13484646
deploy: Add '--execute'.
* guix/scripts/deploy.scm (show-help, %options): Add '--execute'.
(invoke-command): New procedure.
(guix-deploy): Break arguments at "--" and handle '-x' and associated
command.
* doc/guix.texi (Invoking guix deploy): Document it.
2022-02-02 18:35:00 +01:00
Ludovic Courtès 7916201c4d
reconfigure: Use 'formatted-message'.
* guix/scripts/system/reconfigure.scm (ensure-forward-reconfigure): Use
'formatted-message'.
* guix/scripts/deploy.scm (deploy-machine*): Handle it.
2021-06-25 15:12:05 +02:00
Ludovic Courtès 1b4931555b
deploy: Leave on hard error.
Previously, the error message would be displayed, followed by a
backtrace ending in &non-continuable.

* guix/scripts/deploy.scm (deploy-machine*): Call 'leave' rather than
'report-error' when C is a &message.
2021-06-25 15:12:05 +02:00
Ludovic Courtès 82d8ab01f5
maint: Require Guile 3.0.
* configure.ac: Require Guile 3.0.
* doc/guix.texi (Requirements): Adjust accordingly.
* gnu/packages/package-management.scm (guile2.2-guix): Remove.
* guix/lint.scm (exception-with-kind-and-args?): Remove 'cond-expand'.
* guix/scripts/deploy.scm (deploy-machine*): Likewise.
* guix/store.scm (call-with-store): Likewise.
* guix/swh.scm (http-get*, http-post*): Likewise.
* guix/ui.scm (without-compiler-optimizations, guard*)
(call-with-error-handling): Likewise.
2021-06-01 23:26:07 +02:00
Ludovic Courtès 7243a8c7ec
deploy: Error out when the FILE argument is missing.
* guix/scripts/deploy.scm (guix-deploy): Error out when FILE is false.
2021-05-28 11:36:02 +02:00
Ludovic Courtès 5842239a66
deploy: Let key-and-args exceptions through.
Fixes <https://bugs.gnu.org/44825>.
Reported by Christopher Lemmer Webber <cwebber@dustycloud.org>.

* guix/ui.scm (guard*): Export.
* guix/scripts/deploy.scm (deploy-machine*): Use 'guard*' instead of
'guard'.  Add '&exception-with-kind-and-args' case.
2020-11-26 23:39:15 +01:00
Ludovic Courtès 3794ce93be
scripts: Use 'define-command' and have 'guix help' use that.
This changes 'guix help' to print a short synopsis for each command and
to group commands by category.

* guix/scripts.scm (synopsis, category): New variables.
(define-command-categories, define-command): New macros.
(%command-categories): New variable.
* guix/ui.scm (<command>): New record type.
(source-file-command): New procedure.
(command-files): Return absolute file names.
(commands): Return a list of <command> records.
(show-guix-help)[display-commands, category-predicate]: New procedures.
Display commands grouped in three categories.
* guix/scripts/archive.scm (guix-archive): Use 'define-command'.
* guix/scripts/authenticate.scm (guix-authenticate): Likewise.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/challenge.scm (guix-challenge): Likewise.
* guix/scripts/container.scm (guix-container): Likewise.
* guix/scripts/copy.scm (guix-copy): Likewise.
* guix/scripts/deploy.scm (guix-deploy): Likewise.
* guix/scripts/describe.scm (guix-describe): Likewise.
* guix/scripts/download.scm (guix-download): Likewise.
* guix/scripts/edit.scm (guix-edit): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/gc.scm (guix-gc): Likewise.
* guix/scripts/git.scm (guix-git): Likewise.
* guix/scripts/graph.scm (guix-graph): Likewise.
* guix/scripts/hash.scm (guix-hash): Likewise.
* guix/scripts/import.scm (guix-import): Likewise.
* guix/scripts/install.scm (guix-install): Likewise.
* guix/scripts/lint.scm (guix-lint): Likewise.
* guix/scripts/offload.scm (guix-offload): Likewise.
* guix/scripts/pack.scm (guix-pack): Likewise.
* guix/scripts/package.scm (guix-package): Likewise.
* guix/scripts/perform-download.scm (guix-perform-download): Likewise.
* guix/scripts/processes.scm (guix-processes): Likewise.
* guix/scripts/publish.scm (guix-publish): Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/refresh.scm (guix-refresh): Likewise.
* guix/scripts/remove.scm (guix-remove): Likewise.
* guix/scripts/repl.scm (guix-repl): Likewise.
* guix/scripts/search.scm (guix-search): Likewise.
* guix/scripts/show.scm (guix-show): Likewise.
* guix/scripts/size.scm (guix-size): Likewise.
* guix/scripts/substitute.scm (guix-substitute): Likewise.
* guix/scripts/system.scm (guix-system): Likewise.
* guix/scripts/time-machine.scm (guix-time-machine): Likewise.
* guix/scripts/upgrade.scm (guix-upgrade): Likewise.
* guix/scripts/weather.scm (guix-weather): Likewise.
2020-09-10 12:27:24 +02:00
Ludovic Courtès 898e6d0a07
scripts: Pass #:verbosity to 'build-notifier'.
* guix/scripts/archive.scm (guix-archive): Pass #:verbosity to
'build-notifier'.
* guix/scripts/build.scm (guix-build): Likewise.
* guix/scripts/copy.scm (guix-copy): Likewise.
* guix/scripts/deploy.scm (guix-deploy): Likewise.
* guix/scripts/environment.scm (guix-environment): Likewise.
* guix/scripts/pack.scm (guix-pack): Likewise.
* guix/scripts/package.scm (guix-package*): Likewise.
* guix/scripts/pull.scm (guix-pull): Likewise.
* guix/scripts/system.scm (verbosity-level): New procedure.
(process-action): Pass #:verbosity to 'build-notifier'.
(guix-system): Use 'verbosity-level' for 'with-status-verbosity'.
2020-08-03 17:18:37 +02:00
Ludovic Courtès c9c8c6331e
deploy: Gracefully handle errors.
* guix/scripts/deploy.scm (guix-deploy): Wrap body in 'with-error-handling'.
2020-07-30 19:17:20 +02:00
Ludovic Courtès 18c8a4396b
deploy: Use 'map/accumulate-builds'.
* guix/scripts/deploy.scm (guix-deploy): Use 'map/accumulate-builds'
instead of 'for-each'.
2020-03-29 23:14:27 +02:00
Ludovic Courtès d089b23335
deploy: Factorize machine deployment.
* guix/scripts/deploy.scm (deploy-machine*): New procedure.
(guix-deploy): Call it in 'for-each'.
2020-03-29 23:14:27 +02:00
Marius Bakke 388b432cea
deploy: Remove use of '~*' in format string.
...since 'msgfmt' fails to interpret it.  Reported by Vagrant Cascadian
in <https://lists.gnu.org/archive/html/guix-devel/2020-03/msg00340.html>.
See also <https://bugs.gnu.org/37505>.

* guix/scripts/deploy.scm (show-what-to-deploy): Use ~d instead of ~* when
displaying machines that will be deployed.
2020-03-28 15:55:13 +01:00
Ludovic Courtès 1292372725
deploy: Write a message upon successful deployment.
* guix/scripts/deploy.scm (guix-deploy): Write message upon successful
deployment.
2020-03-23 10:48:17 +01:00
Ludovic Courtès 1bb248d0b1
deploy: Show what machines will be deployed.
* guix/scripts/deploy.scm (show-what-to-deploy): New procedure.
(guix-deploy): Call it.
2020-03-23 10:48:17 +01:00
Ludovic Courtès bdda46a67d
deploy: Use 'with-build-handler'.
Until now, 'guix deploy' would never display what is going to be built.

* guix/scripts/deploy.scm (guix-deploy): Wrap 'for-each' in
'with-build-handler'.
2020-03-22 12:42:51 +01:00
Tobias Geerinckx-Rice e813444287
Update e-mail address for Jakob L. Kreuze.
As requested here:
<https://lists.gnu.org/archive/html/guix-devel/2020-02/msg00128.html>.

* .mailmap: Add an entry for Jakob.
* gnu/machine.scm, gnu/machine/digital-ocean.scm, gnu/machine/ssh.scm,
gnu/packages/admin.scm, gnu/packages/i2p.scm, gnu/packages/music.scm,
gnu/packages/web.scm, gnu/tests/reconfigure.scm, guix/scripts/deploy.scm,
guix/scripts/system/reconfigure.scm: Update their e-mail address.
2020-02-09 23:16:45 +01:00
Ludovic Courtès 7f44ab48f9
Use 'offload?' instead of 'build-hook?' internally.
* guix/scripts/archive.scm (%default-options): Replace 'build-hook?'
with 'offload?'.
* guix/scripts/build.scm (set-build-options-from-command-line): Pass
 #:offload? instead of #:use-build-hook?.
(%standard-build-options): Use the 'offload? key instead of 'build-hook?.
(%default-options): Replace 'build-hook?' with 'offload?'.
* guix/scripts/copy.scm (%default-options): Likewise.
* guix/scripts/deploy.scm (%default-options): Likewise.
* guix/scripts/environment.scm (%default-options): Likewise.
* guix/scripts/pack.scm (%default-options): Likewise.
* guix/scripts/package.scm (%default-options): Likewise.
* guix/scripts/pull.scm (%default-options): Likewise.
* guix/scripts/system.scm (%default-options): Likewise.
* guix/scripts/time-machine.scm (%default-options): Likewise.
* guix/store.scm (set-build-options): Have #:use-build-hook? default
to *unspecified*.  Add #:offload?.  Add call to 'warn-about-deprecation'
when #:use-build-hook? is specified.
2019-11-26 00:16:36 +01:00
Ludovic Courtès 1bdb63e73b
deploy: Handle "--version".
* guix/scripts/deploy.scm (%options): Add "--version".
2019-11-19 10:51:53 +01:00
Ludovic Courtès b69ce8a872
deploy: Add '--verbosity' and properly interpret build log.
This is a followup to 91300526b7.

* guix/scripts/deploy.scm (show-help, %options): Add '--verbosity'.
(guix-deploy): Wrap 'with-store' in 'with-status-verbosity'.
2019-09-23 11:57:39 +02:00
Ludovic Courtès 91300526b7
deploy: Add missing store options.
* guix/scripts/deploy.scm (%default-options): Add missing options such
as 'print-build-trace?', etc.
2019-09-04 13:02:27 +02:00
Ludovic Courtès dae950ca50
deploy: Do not quote error messages.
* guix/scripts/deploy.scm (guix-deploy): Do not quote the message.
2019-08-28 18:52:52 +02:00
Jakob L. Kreuze 9c70c460a0
machine: Implement 'roll-back-machine'.
* gnu/machine.scm (roll-back-machine, &deploy-error, deploy-error?)
(deploy-error-should-roll-back)
(deploy-error-captured-args): New variable.
* gnu/machine/ssh.scm (roll-back-managed-host): New variable.
* guix/scripts/deploy.scm (guix-deploy): Roll-back systems when a
deployment fails.
2019-08-15 07:43:09 -04:00
Jakob L. Kreuze 03cbd94d48
remote: Remove '--system' argument.
* gnu/services.scm (activation-script): Return a <program-file> rather
than a <scheme-file>.
* gnu/deploy.scm (guix-deploy): Remove handling for '--system'.
(show-help): Remove documentation for '--system'.
(%default-options): Remove default setting for 'system'.
2019-08-14 15:38:13 -04:00
Jakob L. Kreuze 55e238f2ab
deploy: Use all machine modules when loading deployment
* guix/scripts/deploy.scm (load-source-file): Enumerate and include all
submodules of (gnu machine) when loading the provided deployment
specification.
2019-08-07 16:05:58 -04:00
宋文武 3c618b9894
deploy: Handle the '--system' command line option.
* guix/scripts/deploy.scm (show-help): Add help for '--system'.
(%options): Add '-s' and '--system'.
(guix-deploy): Parameterize %current-system.
2019-07-24 20:34:01 +08:00
宋文武 2fa23d8f5c
deploy: Honor '--no-grafts'.
* guix/scripts/deploy.scm (guix-deploy): Parameterize '%graft?'.
2019-07-24 20:34:01 +08:00
Jakob L. Kreuze 5cbb832fb1
Add 'guix deploy'.
* guix/scripts/deploy.scm: New file.
* Makefile.am (MODULES): Add it.
2019-07-06 02:10:04 -04:00