summaryrefslogtreecommitdiff
path: root/debian/changelog
diff options
context:
space:
mode:
authorJoey Hess2016-03-02 14:47:46 -0400
committerJoey Hess2016-03-02 14:58:33 -0400
commit6bb39d0125c8b1cb65eb33cb04fb300601fd4f93 (patch)
tree570237620d5540501b3aa08476c8f3be7f0c62fd /debian/changelog
parent458e74ec9b4fa4e16e3484a972c331d20c29ffa6 (diff)
avoid repeated rebuilds, more type safely
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.
Diffstat (limited to 'debian/changelog')
-rw-r--r--debian/changelog2
1 files changed, 2 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index c5b27741..156e010c 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -3,6 +3,8 @@ propellor (2.16.1) UNRELEASED; urgency=medium
* Apt.upgrade: Run dpkg --configure -a first, to recover from
interrupted upgrades.
* Apt: Add safeupgrade.
+ * Avoid repeated re-building on systems such as FreeBSD where building
+ re-links the binary even when there are no changes.
-- Joey Hess <id@joeyh.name> Mon, 29 Feb 2016 17:58:08 -0400