#!/bin/sh

# parts based on initial_auto from partman_auto
# parts based on partman-md's do_option for choose_partition

. /lib/partman/definitions.sh

dev_to_partman () {
	local dev_name="$1"
	
	local mapped_dev_name="$(mapdevfs $dev_name)"
	if [ -n "$mapped_dev_name" ]; then
		dev_name="$mapped_dev_name"
	fi

	for dev in $DEVICES/*; do
		# mapdevfs both to allow for different ways to refer to the
		# same device using devfs, and to allow user input in
		# non-devfs form
		if [ "$(mapdevfs $(cat $dev/device))" = "$dev_name" ]; then
			echo $dev
		fi
	done
}

# See if we are supposed to run and only run once
db_get partman-auto/method
if [ "$RET" != raid ] || \
   [ -f /var/lib/partman/initial_auto_raid ]; then
	exit 0
fi

mkdir -p /var/lib/partman
touch /var/lib/partman/initial_auto_raid

confirm_changes "partman-md" || exit 1

commit_changes partman/text/commit_failed || exit $?

stop_parted_server

RET=""
auto-raidcfg || RET=$?
if [ "$RET" ] && [ "$RET" -ne 9 ]; then
	db_set partman-auto-raid/error false
	db_input critical partman-auto-raid/error
	db_go
	exit 1
fi
touch /var/lib/partman/do_initial_auto_raid_fs

restart_partman
