summaryrefslogtreecommitdiff
path: root/src/Propellor/PropAccum.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Propellor/PropAccum.hs')
-rw-r--r--src/Propellor/PropAccum.hs19
1 files changed, 10 insertions, 9 deletions
diff --git a/src/Propellor/PropAccum.hs b/src/Propellor/PropAccum.hs
index beca8ccc..ddbc1e66 100644
--- a/src/Propellor/PropAccum.hs
+++ b/src/Propellor/PropAccum.hs
@@ -58,17 +58,18 @@ infixl 1 !
-- PrivData Info is propigated, so that properties used inside a
-- PropAccum will have the necessary PrivData available.
propigateContainer :: PropAccum container => container -> Property -> Property
-propigateContainer c prop = prop
- { propertyChildren = propertyChildren prop ++ hostprops
- }
+propigateContainer c prop = mkProperty
+ (propertyDesc prop)
+ (propertySatisfy prop)
+ (propertyInfo prop)
+ (propertyChildren prop ++ hostprops)
where
hostprops = map go $ getProperties c
go p =
let i = propertyInfo p
- in p
- { propertyInfo = mempty
- { _dns = _dns i
- , _privData = _privData i
- }
- , propertyChildren = map go (propertyChildren p)
+ i' = mempty
+ { _dns = _dns i
+ , _privData = _privData i
}
+ cs = map go (propertyChildren p)
+ in mkProperty (propertyDesc p) (propertySatisfy p) i' cs