summaryrefslogtreecommitdiff
path: root/src/Propellor/Property/Prosody.hs
diff options
context:
space:
mode:
authorJoey Hess2015-10-16 15:31:18 -0400
committerJoey Hess2015-10-16 15:34:24 -0400
commit7f7249f801653e0bd7fa083ed001bf3c5a3c3900 (patch)
tree30c1234ca7e5212f7e597ac397155b1e3270762d /src/Propellor/Property/Prosody.hs
parent556cba2f6d0a85545d9a81baf66dbc848fff848e (diff)
add a LinkTarget type to disambiguate parameters of isSymlinkedTo
Something about making symlinks is very confusing about which parameter is which. It perhaps doesn't help that isSymlinkedTo has the target second, while ln has it first. Let's use a type to prevent confusion. Also, simplified some properties that now use isSymlinkedTo. Since isSymlinkedTo checks the link target, these properties don't need to check themselves that the link is in place.
Diffstat (limited to 'src/Propellor/Property/Prosody.hs')
-rw-r--r--src/Propellor/Property/Prosody.hs8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/Propellor/Property/Prosody.hs b/src/Propellor/Property/Prosody.hs
index 7dbfb1e1..0e379e63 100644
--- a/src/Propellor/Property/Prosody.hs
+++ b/src/Propellor/Property/Prosody.hs
@@ -6,7 +6,6 @@ import Propellor.Base
import qualified Propellor.Property.File as File
import qualified Propellor.Property.Apt as Apt
import qualified Propellor.Property.Service as Service
-import System.Posix.Files
type ConfigFile = [String]
@@ -15,17 +14,16 @@ type Conf = String
confEnabled :: Conf -> ConfigFile -> RevertableProperty
confEnabled conf cf = enable <!> disable
where
- enable = check test prop
+ enable = dir `File.isSymlinkedTo` target
`describe` ("prosody conf enabled " ++ conf)
`requires` confAvailable conf cf
`requires` installed
`onChange` reloaded
where
- test = not <$> doesFileExist (confValPath conf)
- prop = dir `File.isSymlinkedTo` target
target = confValRelativePath conf
dir = confValPath conf
- confValRelativePath conf' = "../conf.avail" </> conf' <.> "cfg.lua"
+ confValRelativePath conf' = File.LinkTarget $
+ "../conf.avail" </> conf' <.> "cfg.lua"
disable = trivial $ File.notPresent (confValPath conf)
`describe` ("prosody conf disabled " ++ conf)
`requires` installed