#!/bin/sh -e

. "/usr/libexec/girar/girar-sh-functions"

export IFS=' 	
'
export PATH=/sbin:/usr/sbin:/bin:/usr/bin

usage()
{
	echo "$PROG: $*" >&2
	echo "usage: $PROG <NAME>"
	exit 1
}

NAME="$1"
[ -n "$NAME" ] ||
	usage 'not specified: NAME'
shift
printf %s "$NAME" |egrep -qs '^[a-z][a-z_0-9]+$' ||
	fatal "$NAME: invalid NAME specified"

IT_NAME="git_$NAME"
REAL_HOME="/people/$NAME"
AUTH="/etc/openssh/authorized_keys/$IT_NAME"
EMAIL_DIR="/var/lib/girar/email/packages/$NAME"

userdel -- "$IT_NAME" ||
	fatal "$IT_NAME: failed to remove user"

rm -rf -- "$REAL_HOME" ||
	msg_info "$IT_NAME: failed to remove $REAL_HOME"

rm -f -- "$AUTH" ||
	msg_info "$IT_NAME: failed to remove authorized keys file '$AUTH'"

rm -rf -- "$EMAIL_DIR" ||
	msg_info "$IT_NAME: failed to remove $EMAIL_DIR"

Q_IT_NAME="$(quote_sed_regexp "$IT_NAME")"
Q_NAME="$(quote_sed_regexp "$NAME")"

subst "/^$Q_IT_NAME:[[:space:]]\+$Q_NAME@etersoft.ru.*\$/d" "/etc/girar/aliases" &&
	newaliases ||
	msg_info "$IT_NAME: failed to remove email alias"
