#!/bin/sh

PREREQ=""

prereqs()
{
	echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
	prereqs
	exit 0
	;;
esac

# First check if a location is set and is a valid swap partition
test -r /etc/initramfs-tools/conf.d/resume \
	&& . /etc/initramfs-tools/conf.d/resume
if [ -n "$RESUME" ] && blkid -p -n swap $RESUME >/dev/null 2>&1; then
	# As mkinitramfs copies the config file nothing to do.
	exit 0
fi

# We need to be able to read the listed swap partitions
if [ ! -r /proc/swaps ]; then
	exit 0
fi

# Try to autodetect the RESUME partition, using biggest swap?
RESUME=$(grep ^/dev/ /proc/swaps | sort -rk3 | head -n 1 | cut -d " " -f 1)
if [ -n "$RESUME" ]; then
	UUID=$(blkid -s UUID -o value "$RESUME" || true)
	if [ -n "$UUID" ]; then
			RESUME="UUID=$UUID"
	fi
fi

# Write detected resume to intramfs conf.d/resume if not in a chroot
if [ -n "${RESUME}" ] && ! ischroot; then
	echo "RESUME=${RESUME}" > ${DESTDIR}/conf/conf.d/resume
fi
