aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/package.lisp3
-rw-r--r--src/property/apache.lisp18
2 files changed, 16 insertions, 5 deletions
diff --git a/src/package.lisp b/src/package.lisp
index 9e97cc6..6f9bd24 100644
--- a/src/package.lisp
+++ b/src/package.lisp
@@ -708,7 +708,8 @@
(:export #:installed
#:reloaded
#:mod-enabled
- #:conf-enabled))
+ #:conf-enabled
+ #:conf-available))
(defpackage :consfigurator.property.systemd
(:use #:cl #:consfigurator)
diff --git a/src/property/apache.lisp b/src/property/apache.lisp
index f718631..7de7cdd 100644
--- a/src/property/apache.lisp
+++ b/src/property/apache.lisp
@@ -39,14 +39,24 @@
(on-change (%mod-enabled name)
(reloaded)))
+(defproplist conf-available :posix (name config)
+ (:desc #?"Apache conf ${name} available")
+ (file:exists-with-content
+ (merge-pathnames (strcat name ".conf") #P"/etc/apache2/conf-available/")
+ config))
+
(defprop %conf-enabled :posix (name)
(:hostattrs (os:required 'os:debianlike))
(:check (zerop (mrun :for-exit "a2query" "-q" "-c" name)))
(:apply (mrun "a2enconf" "--quiet" name))
(:unapply (mrun "a2disconf" "--quiet" name)))
-(defproplist conf-enabled :posix (name)
+(defpropspec conf-enabled :posix (name &optional config)
(:desc #?"Apache configuration ${name} enabled")
- (installed)
- (on-change (%conf-enabled name)
- (reloaded)))
+ `(eseqprops
+ (installed)
+ (on-change ,(if config
+ `(eseqprops (conf-available ,name ,config)
+ (%conf-enabled ,name))
+ `(%conf-enabled ,name))
+ (reloaded))))