* guix/docker.scm: New file.
* Makefile.am (MODULES): Register it.
* guix/scripts/archive.scm (show-help, %options, guix-archive): Add
support for "--format".
* doc/guix.texi (Invoking guix archive): Document it.
* gnu/services/web.scm (<nginx-configuration>)[server-blocks]: New
field.
(nginx-activation): When CONFIG-FILE is #f, use 'default-nginx-config'.
(nginx-shepherd-service): Likewise.
(nginx-service-type): Add 'compose' and 'extend' fields.
(nginx-service): Change default value of #:server-list to '(), and
default value of #:config-file to #f.
* doc/guix.texi (Web Services): Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* gnu/services/cuirass.scm (<cuirass-configuration>)[specifications]:
Change default value to #~'().
(cuirass-shepherd-service): Remove conditional for "--specifications".
Use 'scheme-file' instead of 'plain-file'. Change file name to
"cuirass-specs.scm".
* doc/guix.texi (Continuous Integration): Change the example to use a
gexp where #:file refers to a file within Cuirass. Adjust
documentation.
* gnu/services/cuirass.scm (<cuirass-configuration>)[cuirass]: New
field.
(cuirass-shepherd-service): Honor it.
* doc/guix.texi (Continuous Integration): Document it.
* gnu/services/base.scm (<guix-configuration>)[log-file]: New field.
(guix-shepherd-service): Pass #:log-file to 'make-forkexec-constructor'.
* gnu/services/admin.scm (simple-rotation-config): Take a list of
files and join them with commas.
(%default-rotations): Add /var/log/guix-daemon.log.
* doc/guix.texi (Base Services): Document it.
The previous default value depended on the 'HOME' environment variable,
which happened to be unset. Thus, /.cache was being used.
* gnu/services/cuirass.scm (<cuirass-configuration>)[cache-directory]:
Change default value to "/var/cache/cuirass".
(cuirass-shepherd-service): Always pass "--cache-directory".
(cuirass-activation): New procedure.
(cuirass-service-type): Use it as an extension to
ACTIVATION-SERVICE-TYPE.
* doc/guix.texi (Continuous Integration): Adjust accordingly.
Suggested by Dave Love <fx@gnu.org>.
Fixes <http://bugs.gnu.org/25139>.
* doc/guix.texi (Installation): Mention 'guix pull'.
(Proceeding with the Installation): Mention updates with 'guix pull' and
'guix system reconfigure'.
(Invoking guix pull): Add "updating" to the concept index.
* gnu/services/databases.scm (<postgresql-configuration>): Add port
field.
(postgresql-shepherd-service): Pass port to postgres.
(postgresql-service): Add port default.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/graph.scm (%graph-backends): New variable.
* guix/scripts/graph.scm (lookup-backend, list-backends): New
procedures.
(%options): Add options for "backend" and "list-backends".
(show-help): Add help texts for "backend" and "list-backend" options.
(%default-options): Add "backend" default.
(guix-graph): Pass backend argument to "export-graph".
* doc/guix.texi (Invoking guix graph): Document the new options.
* gnu/services/databases.scm (<mysql-configuration>): Add port field.
(mysql-configuration-file): Use the port field when creating the
configuration file.
* doc/guix.texi (Database Services): Document it.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
* guix/scripts/offload.scm (check-machine-availability): Add 'pred'
parameter and honor it.
(guix-offload): for the "test" sub-command, accept an extra 'regexp'
parameter. Pass a second argument to 'check-machine-availability'.
Fixes <http://bugs.gnu.org/25100>.
Before that, 'guix system reconfigure' would fail if the next generation
already existed.
* guix/scripts/system.scm (switch-to-system): Use 'switch-symlink'
instead of 'symlink'.
* doc/guix.texi (Using the Configuration System, Invoking guix system):
Document the behavior.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/scripts/offload.scm (assert-node-repl, assert-node-has-guix)
(nonce, assert-node-can-import, assert-node-can-export)
(check-machine-availability): New procedures.
(%random-state): New variable.
(guix-offload): Add case for "test".
* doc/guix.texi (Daemon Offload Setup): Document it. Remove obsolete
bit about remote invocation of 'guix build'.
* guix/scripts/refresh.scm (list-updaters-and-exit): Compute the
coverage ratio of each updater and print it. Print the coverage ratio
for all the updaters.
* doc/guix.texi (Invoking guix refresh): Document it.
* guix/gnu-maintenance.scm (latest-kernel.org-release): New procedure.
(%kernel.org-updater): New variable.
* guix/scripts/refresh.scm (%updaters): Add it.
* guix/upstream.scm (package-update-path): Rename to...
(package-latest-release): ... this. Remove 'version>?' check.
(package-latest-release*): New procedure.
(package-update): Use it.
* guix/scripts/refresh.scm (lookup-updater): Rename to...
(lookup-updater-by-name): ... this.
(warn-no-updater): New procedure.
(update-package): Add #:warn? parameter and honor it.
(check-for-package-update): New procedure.
(guix-refresh)[warn?]: New variable.
Replace inline code when UPDATE? is false with a call to
'check-for-package-update'.
Pass WARN? to 'check-for-package-update' and 'update-package'.
* doc/guix.texi (Invoking guix refresh): Document it. Fix a couple of
typos.
* gnu/services/mail.scm (<opensmtpd-configuration>): New record type.
(%default-opensmtpd-config-file, %opensmtpd-accounts): New variables.
(opensmtpd-shepherd-service, opensmtpd-activation): New procedures.
(opensmtpd-service-type): New variable.
* doc/guix.texi (Mail Services): Document it.