diff options
| author | Joey Hess <joeyh@joeyh.name> | 2015-10-16 15:31:18 -0400 |
|---|---|---|
| committer | Joey Hess <joeyh@joeyh.name> | 2015-10-16 15:34:24 -0400 |
| commit | 7f7249f801653e0bd7fa083ed001bf3c5a3c3900 (patch) | |
| tree | 30c1234ca7e5212f7e597ac397155b1e3270762d /src/Propellor/Property/Prosody.hs | |
| parent | 556cba2f6d0a85545d9a81baf66dbc848fff848e (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.hs | 8 |
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 |
