#!/bin/sh

# Hack to handle information fed into partman by an external agent (i.e.
# Ubiquity).
if [ "$PARTMAN_UPDATE_BEFORE_CONFIRM" ]; then
    . /lib/partman/definitions.sh

    for dev in /var/lib/partman/devices/*; do
	[ -d "$dev" ] || continue
	cd $dev
	partitions=
	open_dialog PARTITIONS
	while { read_line partinfo; [ "$partinfo" ]; }; do
	    if [ "$partitions" ]; then
		partitions="$partitions
$partinfo"
	    else
		partitions="$partinfo"
	    fi
	done
	close_dialog

	IFS="$NL"
	for partinfo in $partitions; do
	    restore_ifs
	    for u in /lib/partman/update.d/*; do
		[ -x "$u" ] || continue
		$u $dev $partinfo
	    done
	done
    done
fi

exit 100
