| Age | Commit message (Collapse) | Author |
|
buildFirst re-runs propellor with --continue, which is supposed to
make defaultMain bypass subsequent calls to buildFirst. But, use of a Bool
to do that caused the code to be unclear, and some of the cases lost track
of that.
--continue SimpleRun would buildFirst, and if the binary changed, would
--continue SimpleRun. This could loop repatedly, on systems such as FreeBSD
where building re-links the binary even when there are no changes. As
discussed in github pull #11
Fixed by introducing a CanRebuild data type, which buildFirst and updateFirst
require in order to do any work makes it more clear what's going on.
It's not a type-level proof that propellor won't rebuild repeatedly,
but gets closer to one.
(Only remaining way such a bug could slip in is if the CanRebuild
value was reused in a call to buildFirst and also inside the IO action
passed to it.)
There were some other weirdnesses around repeated builds. In particular,
Run as non-root did an updateFirst, followed by a buildFirst. I think this
redundant build was an accident, and have removed it.
|
|
* Apt.upgrade: Run dpkg --configure -a first, to recover from
interrupted upgrades.
* Apt: Add safeupgrade.
|
|
|
|
|
|
|
|
authorized_keys file does not yet exist.
|
|
Seems that Canonical have trademarked numerous words ending in "buntu",
and would like to trademark anything ending in that to the extent their
lawyers can make that happen.
|
|
|
|
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.
|
|
different backup properties, to avoid concurrent jobs fighting over scarce resources (particularly memory). Other jobs block on a lock file.
|
|
|
|
|
|
* Added Propellor.Property.LetsEncrypt
* Apache.httpsVirtualHost: New property, setting up a https vhost
with the certificate automatically obtained using letsencrypt.
|
|
unattended-upgrades is installed, to work around #812380 which results in many warnings from apt, including in cron mails.
|
|
a backup property; this causes obnam forget to be run.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Debconf was prompting because installing git needed a new libc, which
prompts for service restarts..
|
|
|
|
(cherry picked from commit 6f0fe3614f3c55c4a9e312aa6fa6730316fe5ec7)
|
|
Import Prelude after modules that cause warnings due to AMP change
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
|
|
|
|
|
don't exist.
This is the same method user-setup uses.
|
|
|
|
Based on a property in spwhitton's config, but rewritten.
|
|
|
|
|
|
|
|
|
|
|
|
|