summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2016-03-20fix tightenTargetsJoey Hess
2016-03-19wipJoey Hess
2016-03-19wipJoey Hess
2016-03-19typoJoey Hess
2016-03-19haddockJoey Hess
2016-03-19fix type errorJoey Hess
2016-03-18propellor spinJoey Hess
2016-03-18Tor.named: Fix bug that sometimes caused the property to fail the first ↵Joey Hess
time, though retrying succeeded. May have only been a problem on debian stable, the /var/lib/tor/keys/ was not created by installing the package.
2016-03-18wipJoey Hess
2016-03-18wipJoey Hess
Converted to singletons. Type level functions not updated yet.
2016-03-17wipJoey Hess
2016-03-17commentsJoey Hess
2016-03-17add OuterTargetJoey Hess
Separate data type to guarantee that ensureProperty is passed the actual outer target, and not some other Targeting value from eg, unixLike.
2016-03-17let's not try to get outertarget from monadJoey Hess
To get outertarget from the Propellor monad, the monad would have to be parameteriszed with an outertarget type, since there's no single type. For example: newtype Propellor target p = Propellor { runWithHost :: RWST target () () IO p } deriving (Monad, Applicative, Functor) But then mkProperty becomes a problem, since the Propellor action passed to it needs to already be of UnixLike type: mkProperty :: Propellor UnixLike () -> Property UnixLike mkProperty a = Property unixLike a Could maybe live with that, but then `target` type check fails: Expected type: Propellor (Targeting combinedtarget) () Actual type: Propellor (Targeting oldtarget) () Problem being that it's reusing the `a` which is a Propellor target () target newtarget (Property oldtarget a) = Property (intersectTarget oldtarget newtarget) a And, the new Property has a different target, so it can't use the old `a`. So, I'd need a way to cast one Propellor target () to a different target. Maybe: target newtarget (Property oldtarget (Propellor a)) = let combinedtarget = intersectTarget oldtarget newtarget in Property combinedtarget (Propellor (unsafeCoerce a)) But is that safe?? Even if it is, I can't see how to make ensureProperty get the outertarget type. It returns Propellor (Targeting outertarget) (), which can read the target from the RWST monad, but how to use that where the type of the function is defined? Rather than all that complication, it doesn't seem too bad to require outertarget be passed to ensureProperty.
2016-03-16wipJoey Hess
2016-03-16wipJoey Hess
2016-03-11fix ensureProperty superset checkingJoey Hess
2016-03-09note bugJoey Hess
2016-03-09improveJoey Hess
2016-03-09rename to TargetJoey Hess
2016-03-09added protype of ensureProperty that prevents running properties in the wrong OSJoey Hess
2016-03-09Speed up propellor's build of itself, by asking cabal to only build the ↵Joey Hess
propellor-config binary and not all the libraries. This is a super speedup!
2016-03-08when run w/o parameters as root, update from git and buildJoey Hess
Got lost in recent changes and broke the cron job.
2016-03-08fix to build with ghc 7.6.3Joey Hess
2016-03-08backported to ghc 7.6.3Joey Hess
Works on debian stable!
2016-03-08simplifyJoey Hess
2016-03-08make it a type error to intersect two OS lists if the result is emptyJoey Hess
2016-03-08fixed it!Joey Hess
2016-03-08simplfyJoey Hess
2016-03-08initial type-level OS listJoey Hess
2016-03-08fix reversion in bootstrap spin of system with no declared OSJoey Hess
The freebsd changes caused a bootstrap of a system with no declared OS to not work, where before it was assumed to be some debian-like system where apt can be used. Brought back this assumption.
2016-03-07add unsupportedOSJoey Hess
2016-03-07Merge branch 'master' into wipJoey Hess
2016-03-07avoid non-exhaustive pattern matchJoey Hess
2016-03-07splitWs appears identical to wordsJoey Hess
2016-03-07typoeJoey Hess
2016-03-07privdata/relocateJoey Hess
better than symlinks because this way no conflict can ever occur and, commit from hook
2016-03-07Return Left for FreeBSD on Debootstrap.Evan Cofsky
2016-03-07Fails on respin when it shouldn't recreate a Poudriere jail.Evan Cofsky
We were using checkResult instead of check, and we weren't parsing the output of `jail -l -q` properly. Now it handles respins perfectly.
2016-03-07Merge branch 'joeyconfig'Joey Hess
2016-03-07minor style improvementsJoey Hess
2016-03-07minor style and layout improvementsJoey Hess
2016-03-07coding styleJoey Hess
2016-03-07minor style and layout improvementsJoey Hess
where blocks involve lest nesting than let in, and are more idiomatic in propellor properties
2016-03-07use catchIOJoey Hess
2016-03-07minor style improvementsJoey Hess
Made some code a little faster..
2016-03-07adjust haddock headersJoey Hess
for some reason I asked the author to put the copyright in there, but Propellor doesn't do per-file copyrights; it's all BSD. Also, make the maintainer show up in haddock.
2016-03-07avoid default fallthrough for SystemJoey Hess
This is so, when a user adds a new OS, ghc tells them everywhere they need to look to add it. Also, avoid throwing error from pure function..
2016-03-07make Cron.runPropellor pass System to bootstrapPropellorCommandJoey Hess
Rather than having the property fail when the Host has no OS defined, I made bootstrapPropellorCommand not install deps in this situation. The cron job will (probably) still work, unless a system upgrade causes deps to be removed.
2016-03-07clean upJoey Hess