File: newworld

package info (click to toggle)
partman-newworld 11
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 272 kB
  • ctags: 2
  • sloc: sh: 195; makefile: 30
file content (35 lines) | stat: -rwxr-xr-x 745 bytes parent folder | download | duplicates (2)
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
#!/bin/sh

# This script sets method "newworld" for all hfs partitions that have the
# boot flag set.

. /lib/partman/definitions.sh

for dev in /var/lib/partman/devices/*; do
    [ -d "$dev" ] || continue
    cd $dev
    partitions=
    open_dialog PARTITIONS
    while { read_line num id size type fs path name; [ "$id" ]; }; do
	if [ "$fs" = hfs ]; then
	    partitions="$partitions $id"
	fi
    done
    close_dialog

    for id in $partitions; do
	newworld=no
	open_dialog GET_FLAGS $id
	while { read_line flag; [ "$flag" ]; }; do
	    if [ "$flag" = boot ]; then
		newworld=yes
		# can not break here
	    fi
	done
	close_dialog
	if [ "$newworld" = yes ]; then
	    [ -d $id ] || mkdir $id
	    echo newworld >$id/method
	fi
    done
done