#!/bin/sh

set -e

# Avoid perl warnings about unknown locale
LC_ALL=C
export LC_ALL

info() {
    logger -t edu-etcvcs "info: $*"
}

error() {
    logger -t edu-etcvcs "error: $*"
}

commit() {
    info "Running etckeeper commit"
    if [ -x /target/usr/bin/etckeeper ] ; then
	in-target /usr/bin/etckeeper \
	    commit "Automatic commit during installation" || true
    fi
}

init() {
    if [ -x /target/usr/bin/etckeeper ] && [ -d /target/etc/.git ]; then
	return
    fi
    apt-install etckeeper || true
    if [ -x /target/usr/bin/etckeeper ] ; then
        if in-target /usr/bin/etckeeper init ; then
            in-target /usr/bin/etckeeper vcs config --global user.name "Local Administrator"
	    in-target /usr/bin/etckeeper vcs config --global user.email "root@localhost"
	else
	    info "Running etckeeper init failed"
	fi
    else
        error "Unable to install and enable etckeeper"
    fi
}

case "$1" in
    init)
	init
	;;
    commit)
	commit
	;;
esac
