| Age | Commit message (Collapse) | Author |
|
|
|
|
|
* Stack support. "git config propellor.buildsystem stack" will make
propellor build its config using stack.
* When propellor is installed using stack, propellor --init will
automatically set propellor.buildsystem=stack.
|
|
|
|
The config-simple file now shows:
1. Adding PPAs
2. Adding apt keys from a remote keyserver
3. Adding apt sources
4. Installing signed packages from a new repository.
|
|
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 :-/
|
|
|
|
|
|
Renamed several utility functions along the way.
|
|
|
|
|
|
Moved to its own module to keep everything related in one place.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
So, when I merge some branch into joeyconfig, config.hs will automatically
be updated to point to joeyconfig.hs again, even if the merge changes it.
And, when I merge joeyconfig into master, config.hs will be pointed back to
config-simple.hs
This may also be useful for others who maintain a branch like joeyconfig.
|
|
Let's keep config-simple quite simple; naive users start by modifying it
and probably don't want to be faced with freebsd example, unless they're
freebsd users.
|
|
|
|
- Propellor bootstrapping
- Basic pkg
- Basic ZFS datasets and properties
- Simple Poudriere configuration (regular and ZFS)
- Poudriere jail creation
FIXME:
- Cron.hs: runPropellor needs the System, but hasn't yet gotten it.
Reorganizing:
- Remove FreeBSD.Process
- Move ZFS up to Property
- Add Info for Pkg.update/Pkg.upgrade
- Move FreeBSD.md to doc so it'll show up automatically.
- Merge the FreeBSD config with the other sample config.
- Use Info to check Pkg updated/upgraded and Poudriere configured.
- Warnings clean-up, move ZFS types to Propellor.Types.
- Maintainer and license statements.
|
|
Before, they could run in the background if another process was running,
and so their output wouldn't immediately be visible.
With this change, the concurrent-output layer is not used for these
interactive commands.
|
|
|
|
Removed references to *buntu from code and documentation because of
an unfortunate trademark use policy.
http://joeyh.name/blog/entry/trademark_nonsense/
That included changing a data constructor to "FooBuntu", an API change.
|
|
|
|
* Added Propellor.Property.LetsEncrypt
* Apache.httpsVirtualHost: New property, setting up a https vhost
with the certificate automatically obtained using letsencrypt.
|
|
|
|
|
|
|
|
(cherry picked from commit 6f0fe3614f3c55c4a9e312aa6fa6730316fe5ec7)
|
|
* Properties that run an arbitrary command, such as cmdProperty
and scriptProperty are converted to use UncheckedProperty, since
they cannot tell on their own if the command truely made a change or not.
(API Change)
Transition guide:
- When GHC complains about an UncheckedProperty, add:
`assume` MadeChange
- Since these properties used to always return MadeChange, that
change is always safe to make.
- Or, if you know that the command should modifiy a file, use:
`changesFile` filename
* A few properties have had their Result improved, for example
Apt.buldDep and Apt.autoRemove now check if a change was made or not.
|
|
needs its result checked, and checkResult and changesFile to check for changes.
|
|
|
|
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
(cherry picked from commit 0beffb353812c79b8455754f11c6f7e45b49c3b6)
|
|
|
|
|
|
|
|
I doubt anyone is going to use propellor on windows..
|
|
repository url normally implicitly set when using --spin.
|
|
|
|
|
|
This adds a dependency on Text, but I don't mind propellor depending on it
and am somewhat surprised it doesn't already.
Using Text also lets this use encodeUtf8 instead of the nasty hack it was
using to go from String -> ByteString.
|
|
|
|
I had 2 MVars both involved in the same lock, and it seemed intractable to
avoid deadlocks with them. STM makes it easy.
At this point, the concurrent process stuff seems to work pretty well, but
I'm not 100% sure it's not got some bugs.
|
|
|