summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog8
-rwxr-xr-xetckeeper5
-rw-r--r--etckeeper.84
3 files changed, 16 insertions, 1 deletions
diff --git a/debian/changelog b/debian/changelog
index 1575d89..ef5039b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+etckeeper (1.14) UNRELEASED; urgency=medium
+
+ * Avoid propigating nonzero exit status of any command called by etckeeper
+ out to the caller. This is to avoid making apt give up because git is
+ misconfigured and cannot commit, or similar. Closes: #760011
+
+ -- Joey Hess <joeyh@debian.org> Thu, 04 Sep 2014 13:49:26 -0400
+
etckeeper (1.13) unstable; urgency=medium
* Ignore check-mk-agent-logwatch's FHS violating
diff --git a/etckeeper b/etckeeper
index 554ada9..bfd1070 100755
--- a/etckeeper
+++ b/etckeeper
@@ -126,5 +126,8 @@ lsscripts() {
}
for script in $(lsscripts "$ETCKEEPER_CONF_DIR/$command.d"); do
- "$script" "$@"
+ if ! "$script" "$@"; then
+ echo "etckeeper failed running $script" >&1
+ exit 0
+ fi
done
diff --git a/etckeeper.8 b/etckeeper.8
index 62ae976..7ac077f 100644
--- a/etckeeper.8
+++ b/etckeeper.8
@@ -64,6 +64,10 @@ prompting.)
/etc/etckeeper also contains directories containing the programs that are
run for each of the above commands.
+.SH EXIT STATUS
+If the etckeeper command fails to run for some reason, etckeeper will show
+what failed, but still exit 0. This is to avoid breaking things like apt
+that call etckeeper.
.SH ENVIRONMENT VARIABLES
ETCKEEPER_CONF_DIR path to configuration directory instead of default /etc/etckeeper.
.SH SEE ALSO