summaryrefslogtreecommitdiff
path: root/gnu/services/herd.scm
Commit message (Expand)AuthorAgeFilesLines
* services: herd: Add restart-service.•••* gnu/services/herd.scm (restart-service): New exported procedure. Mathieu Othacehe2020-03-031-2/+7
* 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ès2019-10-181-1/+6
* 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. Kreuze2019-07-261-0/+6
* herd: Use the Guile 2.2 'setvbuf' API.•••* gnu/services/herd.scm (open-connection): Use 'block for 'setvbuf'. Ludovic Courtès2019-06-021-2/+2
* services: herd: Allow to pass arguments to start-service.•••* gnu/services/herd.scm (start-service)[arguments]: New optional argument. Mathieu Othacehe2019-01-171-3/+4
* 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 Zancanaro2018-09-261-0/+20
* 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ès2018-07-131-0/+3
* 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ès2018-01-211-2/+7
* 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ès2017-08-231-14/+19
* services: herd: Add a stop-service procedure.•••* gnu/services/herd.scm (stop-service): New procedure. Christopher Baines2017-08-081-1/+6
* 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 Baines2017-08-081-1/+1
* 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 Othacehe2017-05-031-3/+6
* 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ès2016-08-311-15/+22
* 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ès2016-05-041-1/+1
* 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ès2016-05-041-21/+59
* services: herd: Add missing newlines in error messages.•••* gnu/services/herd.scm (report-action-error): Add missing newlines in messages. Ludovic Courtès2016-02-231-4/+4
* 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ès2016-02-051-10/+4
* 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ès2016-02-031-0/+189