#!/bin/sh

if [ $1 = "setup-start" ] || [ $1 = "setup-recover" ]; then

    if [ "$AUTH_VERBOSITY" = "verbose" ]; then
	echo "AUTH_USER=$AUTH_USER"
	echo "AUTH_VERBOSITY=$AUTH_VERBOSITY"
	echo "MOUNT_DIR=$MOUNT_DIR"
	echo "LIBEXEC_DIR=$LIBEXEC_DIR"
	echo "PID=$PID"
	echo "SESSION_ID=$SESSION_ID"
	echo "CHROOT_TYPE=$CHROOT_TYPE"
	echo "CHROOT_NAME=$CHROOT_NAME"
	echo "CHROOT_DESCRIPTION=$CHROOT_DESCRIPTION"
	echo "CHROOT_MOUNT_LOCATION=$CHROOT_MOUNT_LOCATION"
	echo "CHROOT_LOCATION=$CHROOT_LOCATION"
	echo "CHROOT_PATH=$CHROOT_PATH"
	echo "CHROOT_MOUNT_DEVICE=$CHROOT_MOUNT_DEVICE"
	if [ "$CHROOT_TYPE" = "plain" ] || [ "$CHROOT_TYPE" = "directory" ]; then
	    :
	elif [ "$CHROOT_TYPE" = "file" ]; then
	    echo "CHROOT_FILE=$CHROOT_FILE"
	    echo "CHROOT_FILE_REPACK=$CHROOT_FILE_REPACK"
	elif [ "$CHROOT_TYPE" = "block-device" ] || [ "$CHROOT_TYPE" = "lvm-snapshot" ]; then
	    echo "CHROOT_DEVICE=$CHROOT_DEVICE"
	    echo "CHROOT_MOUNT_OPTIONS=$CHROOT_MOUNT_OPTIONS"
	    if [ "$CHROOT_TYPE" = "lvm-snapshot" ]; then
		echo "CHROOT_LVM_SNAPSHOT_NAME=$CHROOT_LVM_SNAPSHOT_NAME"
		echo "CHROOT_LVM_SNAPSHOT_DEVICE=$CHROOT_LVM_SNAPSHOT_DEVICE"
		echo "CHROOT_LVM_SNAPSHOT_OPTIONS=$CHROOT_LVM_SNAPSHOT_OPTIONS"
	    fi
	fi
    fi

    case "$CHROOT_TYPE" in
	plain | directory)
	    if [ ! -d "$CHROOT_LOCATION" ]; then
		echo "Directory '$CHROOT_LOCATION' does not exist"
		exit 1
	    fi
	    ;;
	file)
	    if [ ! -f "$CHROOT_FILE" ]; then
		echo "File '$CHROOT_FILE' does not exist"
		exit 1
	    fi
	    ;;
	block-device | lvm-snapshot)
	    if [ ! -b "$CHROOT_DEVICE" ]; then
		echo "Device '$CHROOT_DEVICE' does not exist"
		exit 1
	    fi
	    ;;
	*)
	    echo "Unknown chroot type $CHROOT_TYPE"
	    exit 1
	    ;;
    esac

    # A basic safety check, so that the root filesystem doesn't get
    # toasted by accident.
    if [ -z "$CHROOT_PATH" ] || [ "$CHROOT_PATH" = "/" ] || [ "$CHROOT_LOCATION" = "/" ]; then
	echo "Invalid chroot mount location: '$CHROOT_LOCATION'"
	exit 1
    fi

fi
