From 6bb39d0125c8b1cb65eb33cb04fb300601fd4f93 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 2 Mar 2016 14:47:46 -0400 Subject: 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. --- debian/changelog | 2 ++ 1 file changed, 2 insertions(+) (limited to 'debian') 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 Mon, 29 Feb 2016 17:58:08 -0400 -- cgit v1.3-2-g0d8e From f74d5beb8085ce886264f60580332eccf6b20c7b Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 2 Mar 2016 15:39:27 -0400 Subject: changelog --- debian/changelog | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index 156e010c..a098829c 100644 --- a/debian/changelog +++ b/debian/changelog @@ -5,6 +5,13 @@ propellor (2.16.1) UNRELEASED; urgency=medium * Apt: Add safeupgrade. * Avoid repeated re-building on systems such as FreeBSD where building re-links the binary even when there are no changes. + * Firewall: Renamed TargetNat, TargetMangle, ... to + ChainNat, ChainMangle, ... (API change) + Thanks, Félix Sipma. + * Firewall: Separated Table and Target (API change) + Thanks, Félix Sipma. + * Firewall: add TCPFlag, Frequency, TCPSyn, ICMPTypeMatch + Thanks, Félix Sipma. -- Joey Hess Mon, 29 Feb 2016 17:58:08 -0400 -- cgit v1.3-2-g0d8e From f91827512647d7a1f15ddeece0c55d2852e400e4 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Wed, 2 Mar 2016 15:40:30 -0400 Subject: api change --- debian/changelog | 2 +- propellor.cabal | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index a098829c..1dabeaa0 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,4 +1,4 @@ -propellor (2.16.1) UNRELEASED; urgency=medium +propellor (2.17.0) UNRELEASED; urgency=medium * Apt.upgrade: Run dpkg --configure -a first, to recover from interrupted upgrades. diff --git a/propellor.cabal b/propellor.cabal index 4d8e7f26..3518a7ee 100644 --- a/propellor.cabal +++ b/propellor.cabal @@ -1,5 +1,5 @@ Name: propellor -Version: 2.16.0 +Version: 2.17.0 Cabal-Version: >= 1.8 License: BSD3 Maintainer: Joey Hess -- cgit v1.3-2-g0d8e