diff options
Diffstat (limited to 'post-install.d/50vcs-commit')
-rwxr-xr-x | post-install.d/50vcs-commit | 22 |
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 |