diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2021-10-19 15:47:43 -0700 |
---|---|---|
committer | Sean Whitton <spwhitton@spwhitton.name> | 2021-11-01 11:35:59 -0700 |
commit | 6c58519f7c03a8e59092a738b65d5ace07a8eac1 (patch) | |
tree | 2e86f5196435eca890ee09c09a4ff4832265e5c7 | |
parent | 0c74086ba8eae9538b4999bdb90d3cc0cdec394e (diff) | |
download | consfigurator-6c58519f7c03a8e59092a738b65d5ace07a8eac1.tar.gz |
add SYSTEMD:{DAEMON-RELOADED,RELOADED,RESTARTED}
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
-rw-r--r-- | src/package.lisp | 5 | ||||
-rw-r--r-- | src/property/systemd.lisp | 18 |
2 files changed, 22 insertions, 1 deletions
diff --git a/src/package.lisp b/src/package.lisp index d7c7bdb..ef1d193 100644 --- a/src/package.lisp +++ b/src/package.lisp @@ -831,8 +831,11 @@ (defpackage :consfigurator.property.systemd (:use #:cl #:consfigurator #:anaphora) (:local-nicknames (#:service #:consfigurator.property.service)) - (:export #:started + (:export #:daemon-reloaded + #:started #:stopped + #:reloaded + #:restarted #:enabled #:disabled #:masked diff --git a/src/property/systemd.lisp b/src/property/systemd.lisp index a9f0c90..ad23867 100644 --- a/src/property/systemd.lisp +++ b/src/property/systemd.lisp @@ -29,6 +29,12 @@ (defun systemctl (fn user &rest args &aux (args (cons "systemctl" args))) (apply fn (if user (apply #'systemd--user args) args))) +(defprop daemon-reloaded :posix (&optional user) + (:desc "Attempt to reload systemd manager configuration") + (:apply (if (service:no-services-p) + :no-change + (systemctl #'mrun user "daemon-reload")))) + (defprop started :posix (service &optional user) (:desc #?"systemd service ${service} started") (:check (or (service:no-services-p) @@ -41,6 +47,18 @@ (plusp (systemctl #'mrun user :for-exit "is-active" service)))) (:apply (systemctl #'mrun user "stop" service))) +(defprop restarted :posix (service &optional user) + (:desc #?"Attempt to restart systemd service ${service}") + (:apply (if (service:no-services-p) + :no-change + (systemctl #'mrun user "restart" service)))) + +(defprop reloaded :posix (service &optional user) + (:desc #?"Attempt to reload systemd service ${service}") + (:apply (if (service:no-services-p) + :no-change + (systemctl #'mrun user "reload" service)))) + (defprop enabled :posix (service &optional user) (:desc #?"systemd service ${service} enabled") (:check (or (and user (service:no-services-p)) |