summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2016-03-30apt install propellor dependencies more quietlyJoey Hess
Avoids spam when most deps are installed
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30Merge branch 'master' into joeyconfigJoey Hess
2016-03-30When new dependencies are added to propellor or the propellor config, try ↵Joey Hess
harder to get them installed. In particular, this makes propellor --spin work when the remote host needs to get dependencies installed in order to build the updated config. Fixes http://propellor.branchable.com/todo/problem_with_spin_after_new_dependencies_added/ (cherry picked from commit 0f410f8acdb9e0b84ae364e80e5ee63adcb2ee50)
2016-03-30When new dependencies are added to propellor or the propellor config, try ↵Joey Hess
harder to get them installed. In particular, this makes propellor --spin work when the remote host needs to get dependencies installed in order to build the updated config. Fixes http://propellor.branchable.com/todo/problem_with_spin_after_new_dependencies_added/
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30closeJoey Hess
2016-03-30problemJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30indentJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30add hs-concurrent-output to freebsd depsJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30propellor spinJoey Hess
2016-03-30setting up joeyconfig after mergeJoey Hess
2016-03-30fix info propigation from chroot to systemd containerJoey Hess
2016-03-30refactorJoey Hess
2016-03-30show childProperty same as propertyJoey Hess
2016-03-30Merge branch 'master' into typed-os-requirementsJoey Hess
2016-03-30fix warningJoey Hess
2016-03-30Merge branch 'master' into typed-os-requirementsJoey Hess
2016-03-30Apt.update: Also run dpkg --configure -a here as apt for some reason won't ↵Joey Hess
even update if dpkg was interrupted.
2016-03-30Added a commentgueux
2016-03-29Added a commentpicca
2016-03-29removedpicca
2016-03-29Added a commentpicca
2016-03-29Added a commentpicca
2016-03-29updateJoey Hess
2016-03-29commentJoey Hess
2016-03-29Added a commentpicca
2016-03-28Added a commentgueux
2016-03-28ideaJoey Hess
2016-03-28ideaJoey Hess
2016-03-28commentJoey Hess
2016-03-28clean up after mergeJoey Hess
2016-03-28Merge branch 'joeyconfig'Joey Hess
2016-03-28noteJoey Hess
2016-03-28Merge branch 'master' into typed-os-requirementsJoey Hess
2016-03-28add news item for propellor 2.17.1Joey Hess
2016-03-28releasing package propellor version 2.17.1Joey Hess
2016-03-28closeJoey Hess
2016-03-28addJoey Hess
2016-03-28Merge branch 'new' into typed-os-requirementsJoey Hess
2016-03-28type safe targets for propertiesJoey Hess
* Property types have been improved to indicate what systems they target. This prevents using eg, Property FreeBSD on a Debian system. Transition guide for this sweeping API change: - Change "host name & foo & bar" to "host name $ props & foo & bar" - Similarly, `propertyList` and `combineProperties` need `props` to be used to combine together properties; they no longer accept lists of properties. (If you have such a list, use `toProps`.) - And similarly, Chroot, Docker, and Systemd container need `props` to be used to combine together the properies used inside them. - The `os` property is removed. Instead use `osDebian`, `osBuntish`, or `osFreeBSD`. These tell the type checker the target OS of a host. - Change "Property NoInfo" to "Property UnixLike" - Change "Property HasInfo" to "Property (HasInfo + UnixLike)" - Change "RevertableProperty NoInfo" to "RevertableProperty UnixLike UnixLike" - Change "RevertableProperty HasInfo" to "RevertableProperty (HasInfo + UnixLike) UnixLike" - GHC needs {-# LANGUAGE TypeOperators #-} to use these fancy types. This is enabled by default for all modules in propellor.cabal. But if you are using propellor as a library, you may need to enable it manually. - If you know a property only works on a particular OS, like Debian or FreeBSD, use that instead of "UnixLike". For example: "Property Debian" - It's also possible make a property support a set of OS's, for example: "Property (Debian + FreeBSD)" - Removed `infoProperty` and `simpleProperty` constructors, instead use `property` to construct a Property. - Due to the polymorphic type returned by `property`, additional type signatures tend to be needed when using it. For example, this will fail to type check, because the type checker cannot guess what type you intend the intermediate property "go" to have: foo :: Property UnixLike foo = go `requires` bar where go = property "foo" (return NoChange) To fix, specify the type of go: go :: Property UnixLike - `ensureProperty` now needs to be passed a witness to the type of the property it's used in. change this: foo = property desc $ ... ensureProperty bar to this: foo = property' desc $ \w -> ... ensureProperty w bar - General purpose properties like cmdProperty have type "Property UnixLike". When using that to run a command only available on Debian, you can tighten the type to only the OS that your more specific property works on. For example: upgraded :: Property Debian upgraded = tightenTargets (cmdProperty "apt-get" ["upgrade"]) - Several utility functions have been renamed: getInfo to fromInfo propertyInfo to getInfo propertyDesc to getDesc propertyChildren to getChildren * The new `pickOS` property combinator can be used to combine different properties, supporting different OS's, into one Property that chooses which to use based on the Host's OS. * Re-enabled -O0 in propellor.cabal to reign in ghc's memory use handling these complex new types. * Added dependency on concurrent-output; removed embedded copy.