From 40374c10de68217344c55d23b597d4dc777bdfc9 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 25 Nov 2014 11:30:52 -0400 Subject: cron.runPropellor now runs propellor, rather than using its Makefile. This is more robust. Particularly, the Makefile would try to build propellor if there were updates, but if this build failed because a bad commit was pushed, it would abort w/o pulling any new fixed commits. Anyway, it's better to move away from using the makefile when possible as it's just for bootstrapping, and also I would like to make "make" not default to running propellor as that can be confusing behavior. (I can't change that yet; needed for upgrades. Should be fine to change after several more releases, or maybe a year..) --- debian/changelog | 2 ++ src/Propellor/Property/Cron.hs | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/debian/changelog b/debian/changelog index 683fed21..8d0c9316 100644 --- a/debian/changelog +++ b/debian/changelog @@ -17,6 +17,8 @@ propellor (1.1.0) UNRELEASED; urgency=medium use hasSomePassword' and hasPassword' (API change) * Add --merge, to combine multiple --spin commits into a single, more useful commit. + * cron.runPropellor now runs propellor, rather than using its Makefile. + This is more robust. -- Joey Hess Sat, 22 Nov 2014 00:12:35 -0400 diff --git a/src/Propellor/Property/Cron.hs b/src/Propellor/Property/Cron.hs index d55c3dbb..26cf312f 100644 --- a/src/Propellor/Property/Cron.hs +++ b/src/Propellor/Property/Cron.hs @@ -58,4 +58,4 @@ niceJob desc times user cddir command = job desc times user cddir -- | Installs a cron job to run propellor. runPropellor :: CronTimes -> Property -runPropellor times = niceJob "propellor" times "root" localdir "make" +runPropellor times = niceJob "propellor" times "root" localdir "./propellor" -- cgit v1.2.3 From 625b6fc92a21205bc2d684d336366d7888b30997 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 25 Nov 2014 11:38:42 -0400 Subject: document --- Makefile | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Makefile b/Makefile index 459fae36..414f6741 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,8 @@ CABAL?=cabal DEBDEPS=gnupg ghc cabal-install libghc-missingh-dev libghc-ansi-terminal-dev libghc-ifelse-dev libghc-unix-compat-dev libghc-hslogger-dev libghc-network-dev libghc-quickcheck2-dev libghc-mtl-dev libghc-monadcatchio-transformers-dev +# this target is provided to keep old versions of the propellor cron job +# working, and will eventually be removed run: deps build ./propellor -- cgit v1.2.3 From e0d2761e00b76f6857fbd57ff846dbcfe1530465 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Tue, 25 Nov 2014 11:43:08 -0400 Subject: update --- doc/usage.mdwn | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/doc/usage.mdwn b/doc/usage.mdwn index e83e8def..093ec34e 100644 --- a/doc/usage.mdwn +++ b/doc/usage.mdwn @@ -11,14 +11,22 @@ propellor [options] `propellor` is a property-based host configuration management program written and configured in haskell. -The first time you run `propellor`, without any options, -it will set up a `~/.propellor/` repository. -Edit `~/.propellor/config.hs` to configure it. +# MODES OF OPERATION -Once propellor is configured, running it without any options will take -action as needed to satisfy the configured properties of the local host. +* The first time you run `propellor`, without any options, + it will set up a `~/.propellor/` repository. + Edit `~/.propellor/config.hs` to configure it. -# OPTIONS +* Once propellor is configured, running it without any options will take + action as needed to satisfy the configured properties of the local host. + + If there's a central git repository, it will first fetch from the + repository, check the gpg signature and merge, and rebuild propellor, + so that any configuration changes will immediately take effect. + + If propellor is run by a non-root user without any options, this is + the same as running propellor --spin with the hostname of the local + host. * --spin targethost [targethost ...] [--via relayhost] -- cgit v1.2.3