summaryrefslogtreecommitdiff
path: root/post-install.d/50vcs-commit
diff options
context:
space:
mode:
Diffstat (limited to 'post-install.d/50vcs-commit')
-rwxr-xr-xpost-install.d/50vcs-commit22
1 files changed, 22 insertions, 0 deletions
diff --git a/post-install.d/50vcs-commit b/post-install.d/50vcs-commit
index 7710c4a..edd3444 100755
--- a/post-install.d/50vcs-commit
+++ b/post-install.d/50vcs-commit
@@ -1,11 +1,22 @@
#!/bin/sh
set -e
+
+if [ "$1" = "fail-debconf" ]; then
+ . /usr/share/debconf/confmodule
+ db_title etckeeper
+ db_subst etckeeper/commit_failed VCS "$VCS"
+ db_input critical etckeeper/commit_failed || true
+ db_go || true
+ db_reset etckeeper/commit_failed || true
+ exit 0
+fi
pl="/var/cache/etckeeper/packagelist"
if etckeeper unclean; then
message="committing changes in /etc after $HIGHLEVEL_PACKAGE_MANAGER run"
+ set +e
if [ -e $pl.pre-install ]; then
(
echo "$message"
@@ -16,6 +27,17 @@ if etckeeper unclean; then
else
etckeeper commit "$(printf "$message")"
fi
+ status=$?
+ set -e
+
+ if [ "$status" != 0 ]; then
+ if [ -e /usr/share/debconf/confmodule ]; then
+ $0 fail-debconf
+ else
+ echo "error: etckeeper failed to commit changes in /etc using $VCS"
+ exit 1
+ fi
+ fi
fi
if [ -e $pl.pre-install ]; then