summaryrefslogtreecommitdiff
path: root/pre-install.d/50uncommitted-changes
blob: d03d0e81cb3545e57c878fa050333eb98e440b7d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/sh
set -e

if [ "$1" = "fail-debconf" ]; then
	. /usr/share/debconf/confmodule
	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

if etckeeper unclean; then
	if [ "$AVOID_COMMIT_BEFORE_INSTALL" = 1 ]; then
		echo "" >&2
		echo "** etckeeper detected uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run" >&2 
		echo "** Aborting $HIGHLEVEL_PACKAGE_MANAGER run. Manually commit and restart." >&2
		echo "" >&2
		exit 1
	fi
	if ! etckeeper commit "saving uncommitted changes in /etc prior to $HIGHLEVEL_PACKAGE_MANAGER run"; 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