| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2016-03-30 | setting up joeyconfig after merge | Joey Hess | |
| 2016-03-30 | fix info propigation from chroot to systemd container | Joey Hess | |
| 2016-03-30 | refactor | Joey Hess | |
| 2016-03-30 | show childProperty same as property | Joey Hess | |
| 2016-03-30 | Merge branch 'master' into typed-os-requirements | Joey Hess | |
| 2016-03-30 | fix warning | Joey Hess | |
| 2016-03-30 | Merge branch 'master' into typed-os-requirements | Joey Hess | |
| 2016-03-30 | Apt.update: Also run dpkg --configure -a here as apt for some reason won't ↵ | Joey Hess | |
| even update if dpkg was interrupted. | |||
| 2016-03-30 | Added a comment | gueux | |
| 2016-03-29 | Added a comment | picca | |
| 2016-03-29 | removed | picca | |
| 2016-03-29 | Added a comment | picca | |
| 2016-03-29 | Added a comment | picca | |
| 2016-03-29 | update | Joey Hess | |
| 2016-03-29 | comment | Joey Hess | |
| 2016-03-29 | Added a comment | picca | |
| 2016-03-28 | Added a comment | gueux | |
| 2016-03-28 | idea | Joey Hess | |
| 2016-03-28 | idea | Joey Hess | |
| 2016-03-28 | comment | Joey Hess | |
| 2016-03-28 | clean up after merge | Joey Hess | |
| 2016-03-28 | Merge branch 'joeyconfig' | Joey Hess | |
| 2016-03-28 | note | Joey Hess | |
| 2016-03-28 | Merge branch 'master' into typed-os-requirements | Joey Hess | |
| 2016-03-28 | add news item for propellor 2.17.1 | Joey Hess | |
| 2016-03-28 | releasing package propellor version 2.17.1 | Joey Hess | |
| 2016-03-28 | close | Joey Hess | |
| 2016-03-28 | add | Joey Hess | |
| 2016-03-28 | Merge branch 'new' into typed-os-requirements | Joey Hess | |
| 2016-03-28 | type safe targets for properties | Joey 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. | |||
| 2016-03-28 | Merge branch 'master' into typed-os-requirements | Joey Hess | |
| 2016-03-28 | one more | Joey Hess | |
| 2016-03-28 | last withOS that can be converted to pickOS is converted | Joey Hess | |
| 2016-03-28 | propellor spin | Joey Hess | |
| 2016-03-28 | propellor spin | Joey Hess | |
| 2016-03-28 | backports are debian only | Joey Hess | |
| 2016-03-28 | propellor spin | Joey Hess | |
| 2016-03-28 | slayed the type dragon | Joey Hess | |
| 2016-03-28 | update | Joey Hess | |
| 2016-03-28 | implemented pickOS | Joey Hess | |
| Fell down the fromSing rabbit hole, followed by the OMH ghc doesh't work rabbit hole. Suboptimal. | |||
| 2016-03-27 | add dep on concurrent-output, and re-enable -O0 | Joey Hess | |
| Using the external concurrent-output library lets it be built with -O2 as is needed to get good runtime memory use. Enabling -O0 because ghc is using rather a lot more time and memory due to the new more complex types. old master branch: Linking dist/build/propellor-config/propellor-config ... 24.59user 0.97system 0:25.93elapsed 98%CPU (0avgtext+0avgdata 354612maxresident)k 1544inputs+46064outputs (0major+371244minor)pagefaults 0swaps this branch before -O0: Linking dist/build/propellor-config/propellor-config ... 25.56user 0.73system 0:26.61elapsed 98%CPU (0avgtext+0avgdata 345348maxresident)k 0inputs+43480outputs (0major+364163minor)pagefaults 0swaps this branch with -O0: Linking dist/build/propellor-config/propellor-config ... 11.91user 0.75system 0:12.97elapsed 97%CPU (0avgtext+0avgdata 237472maxresident)k 16inputs+37264outputs (0major+336166minor)pagefaults 0swaps Above benchmarks are building all source files needed by config-simple.hs. The story is rather worse for joeyconfig.hs; building it now needs over 500 mb even with -O0 :-/ | |||
| 2016-03-27 | improve haddocks and move code around to make them more clear | Joey Hess | |
| 2016-03-27 | propellor spin | Joey Hess | |
| 2016-03-27 | split out singletons lib | Joey Hess | |
| 2016-03-27 | finished the conversion, including my config file! | Joey Hess | |
| It builds, but I have not yet tested if it works. Need to verify info propagation, etc. | |||
| 2016-03-27 | propellor spin | Joey Hess | |
| 2016-03-27 | fix build | Joey Hess | |
| 2016-03-27 | ported | Joey Hess | |
| fixed up chroot to take Props | |||
| 2016-03-27 | ported! | Joey Hess | |
| 2016-03-27 | ported Systemd | Joey Hess | |
| added mising method in docker | |||
