Age | Commit message (Expand) | Author |
2023-05-30 | services: herd: "Resolve" transient services only when needed....This allows us to get rid of the "eval root" actions, which in turn
would lead to confusing "Evaluating user expression" messages.
Fixes <https://issues.guix.gnu.org/55857>.
* gnu/services/herd.scm (resolve-transients): In 'values', avoid
'eval-there' call when UNRESOLVED is empty.
| Ludovic Courtès |
2023-04-21 | services: herd: 'load-services/safe' is synonymous with 'load-services'....This is a followup to 547965aa27b6a09cadf42130b7ec7db3f1aee61f.
* gnu/services/herd.scm (load-services/safe): Make an alias for
'load-services'.
| Ludovic Courtès |
2023-03-26 | services: herd: Remove workaround for Shepherd < 0.5.0....* gnu/services/herd.scm (load-services/safe): Remove workaround for
Shepherd < 0.5.0, released in 2018.
| Ludovic Courtès |
2022-05-28 | services: herd: Add 'wait-for-service'....* gnu/services/herd.scm (wait-for-service): New procedure.
| Ludovic Courtès |
2022-04-10 | services: herd: Report whether a service is transient....* gnu/services/herd.scm (<live-service>)[transient?]: New field.
(current-services): Check the value of 'transient?'. Call
'resolve-transients'.
(resolve-transients): New procedure.
| Ludovic Courtès |
2020-03-03 | services: herd: Add restart-service....* gnu/services/herd.scm (restart-service): New exported procedure.
| Mathieu Othacehe |
2019-10-18 | herd: Define 'shepherd-message-port'....* gnu/services/herd.scm (shepherd-message-port): New variable.
(display-message): Use it instead of 'current-error-port'.
| Ludovic Courtès |
2019-07-26 | guix system: Add 'reconfigure' module....* guix/scripts/system/reconfigure.scm: New file.
* Makefile.am (MODULES): Add it.
* guix/scripts/system.scm (bootloader-installer-script): Export variable.
* gnu/machine/ssh.scm (switch-to-system, upgrade-shepherd-services)
(install-bootloader): Delete variable.
* gnu/machine/ssh.scm (deploy-managed-host): Rewrite procedure.
* gnu/services/herd.scm (live-service): Export variable.
* gnu/services/herd.scm (live-service-canonical-name): New variable.
* tests/services.scm (live-service): Delete variable.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
| Jakob L. Kreuze |
2019-06-02 | herd: Use the Guile 2.2 'setvbuf' API....* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'.
| Ludovic Courtès |
2019-01-17 | services: herd: Allow to pass arguments to start-service....* gnu/services/herd.scm (start-service)[arguments]: New optional argument.
| Mathieu Othacehe |
2018-09-26 | guix system: Load all services on reconfigure, not just stopped ones....This uses the 'replacement' service slot introduced in the Shepherd
version 0.5.0.
* gnu/services/shepherd.scm (shepherd-service-upgrade): Return a list of
services that need to be restarted to complete their upgrade.
* guix/scripts/system.scm (call-with-service-upgrade-info): Rename an internal
variable to reflect the change to shepherd-service-upgrade.
(upgrade-shepherd-services): Call 'load-services/safe' instead of
'load-services'. Print a message about services that need to be
manually restarted.
* gnu/services/herd.scm (load-services/safe): New procedure.
* doc/guix.texi (Invoking guix system): Document the new behaviour.
Co-authored-by: Ludovic Courtès <ludo@gnu.org>
| Carlo Zancanaro |
2018-07-13 | services: mcron: Add 'schedule' action....Inspired by
<https://lists.gnu.org/archive/html/help-guix/2018-07/msg00035.html>.
* gnu/services/mcron.scm (shepherd-schedule-action): New procedure.
(mcron-shepherd-services): Add 'actions' field.
* gnu/tests/base.scm (run-mcron-test)["schedule action"]: New test.
* doc/guix.texi (Scheduled Job Execution): Mention 'herd schedule'.
| Ludovic Courtès |
2018-01-21 | services: herd: 'with-shepherd' no longer leaves an open connection....* gnu/services/herd.scm (with-shepherd): Use 'dynamic-wind' and close
CONNECTION at the end.
| Ludovic Courtès |
2017-08-23 | services: herd: Actions return a list of results....Fixes a regression introduced in
0642838b2e9ab2bd988dccb64b9e1130006347bf.
* gnu/services/herd.scm (invoke-action): Explain that we get a list of
results.
(current-services): Expect a list of result and use the first one.
(unload-service, %load-file, eval-there): Likewise.
| Ludovic Courtès |
2017-08-08 | services: herd: Add a stop-service procedure....* gnu/services/herd.scm (stop-service): New procedure.
| Christopher Baines |
2017-08-08 | services: herd: Fix matching ok responses from shepherd service....Previously the match expression case for a successful response
(where error is #f) required that the result component contained a list with a
single element.
As far as I see when looking at the responses from the shepherd, this is not
normally the case. Therefore, to avoid treating successful responses as
errors, make the match requirement more permissive, accepting any value.
* gnu/services/herd.scm (invoke-action): Change match condition for ok responses.
| Christopher Baines |
2017-05-03 | services: herd: Make %shepherd-socket-file a parameter and export it....* gnu/services/herd.scm (%shepherd-socket-file): Make it an exported
parameter.
(open-connection): Adapt.
| Mathieu Othacehe |
2016-08-31 | services: herd: Provide <live-service> objects....* gnu/services/herd.scm (<live-service>): New record type.
(current-services): Change to return a single value: #f or a list of
<live-service>.
* guix/scripts/system.scm (call-with-service-upgrade-info): Adjust
accordingly.
* gnu/tests/base.scm (run-basic-test)["shepherd services"]: Adjust
accordingly.
| Ludovic Courtès |
2016-05-04 | utils: Move combinators to (guix combinators)....* guix/utils.scm (compile-time-value, memoize, fold2)
(fold-tree, fold-tree-leaves): Move to...
* guix/combinators: ... here. New file.
* tests/utils.scm ("fold2, 1 list", "fold2, 2 lists")
(fold-tree tests): Move to...
* tests/combinators.scm: ... here. New file.
* Makefile.am (MODULES, SCM_TESTS): Add them.
* gnu/packages.scm, gnu/packages/bootstrap.scm,
gnu/services/herd.scm, guix/build-system/gnu.scm,
guix/build-system/python.scm, guix/derivations.scm,
guix/gnu-maintenance.scm, guix/import/elpa.scm,
guix/scripts/archive.scm, guix/scripts/build.scm,
guix/scripts/graph.scm, guix/scripts/lint.scm,
guix/scripts/size.scm, guix/scripts/substitute.scm,
guix/serialization.scm, guix/store.scm, guix/ui.scm: Adjust imports
accordingly.
| Ludovic Courtès |
2016-05-04 | services: herd: Move UI handling to 'guix system'....This makes (gnu services herd) independent of (guix ui).
* gnu/services/herd.scm (&shepherd-error, &service-not-found-error)
(&action-not-found-error, &action-exception-error)
(&unknown-shepherd-error): New error condition types.
(report-action-error): Remove.
(raise-shepherd-error): New procedure.
(display-message): Do not use 'info' and '_'.
(invoke-action): Use 'raise-shepherd-error' instead of
'report-action-error'. Do not use 'warning'.
(current-services): Do not use 'warning'.
* guix/scripts/system.scm (with-shepherd-error-handling): New macro.
(report-shepherd-error, call-with-service-upgrade-info): New
procedures.
(upgrade-shepherd-services): Use it.
| Ludovic Courtès |
2016-02-23 | services: herd: Add missing newlines in error messages....* gnu/services/herd.scm (report-action-error): Add missing newlines in
messages.
| Ludovic Courtès |
2016-02-05 | guix system: Simply warn if we cannot talk to the shepherd....Before that 'open-connection' would return #f, and thus
'current-services' would return a single #f value when its continuation
expects two.
Reported by calher on #guix.
* gnu/services/herd.scm (open-connection): Rethrow system-error
exceptions.
(with-shepherd): Expect CONNECTION to always be true; remove useless
'dynamic-wind'.
* guix/scripts/system.scm (warn-on-system-error): New macro.
(upgrade-shepherd-services): Wrap body in 'warn-on-system-error'.
| Ludovic Courtès |
2016-02-03 | guix system: 'reconfigure' loads and starts new services....Partly fixes <http://bugs.gnu.org/22039>.
* gnu/services/herd.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/services/shepherd.scm (shepherd-service-canonical-name): New
procedure.
(shepherd-service-file): Export.
* guix/scripts/system.scm (upgrade-shepherd-services): New procedure.
(switch-to-system): Use it.
* guix/ui.scm (info): New procedure.
* doc/guix.texi (Invoking guix system): Mention system services.
| Ludovic Courtès |