~ubuntu-branches/ubuntu/maverick/partman-target/maverick

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#! /bin/sh
# Check that all system partitions are formatted.

. /lib/partman/lib/base.sh

for dev in $DEVICES/*; do
    [ -d "$dev" ] || continue
    cd $dev
    partitions=
    open_dialog PARTITIONS
    while { read_line num id size type fs path name; [ "$id" ]; }; do
	[ "$fs" != free ] || continue
	partitions="$partitions $id,$path"
    done
    close_dialog

    for part in $partitions; do
	id="${part%%,*}"
	path="${part#*,}"
	[ -f "$id/method" ] || continue
	[ ! -f "$id/format" ] || continue
	[ ! -f "$id/formatted" ] || continue
	[ -f "$id/acting_filesystem" ] || continue
	[ -f "$id/mountpoint" ] || continue
	mountpoint="$(cat "$id/mountpoint")"
	case $mountpoint in
	    /usr/local|/usr/local/*|/var/local|/var/local/*)
		;;
	    /|/boot|/boot/*|/usr|/usr/*|/var|/var/*)
		db_reset ubiquity/partman-system-unformatted
		db_subst ubiquity/partman-system-unformatted PARTITION "$path"
		db_subst ubiquity/partman-system-unformatted MOUNTPOINT "$mountpoint"
		db_input high ubiquity/partman-system-unformatted || true
		db_go || true
		db_get ubiquity/partman-system-unformatted
		if [ "$RET" = true ]; then
		    exit 1
		else
		    exit 0
		fi
		;;
	esac
    done
done

exit 0