File: do_option

package info (click to toggle)
partman-partitioning 33
  • links: PTS
  • area: main
  • in suites: sarge
  • size: 644 kB
  • ctags: 16
  • sloc: sh: 716; makefile: 41
file content (53 lines) | stat: -rwxr-xr-x 895 bytes parent folder | download
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
47
48
49
50
51
52
53
#!/bin/sh

. /lib/partman/definitions.sh

task=$1
dev=$2
id=$3

cd $dev

new_flags=''
open_dialog GET_FLAGS $id
while { read_line flag; [ "$flag" ]; }; do
    if [ "$flag" != boot ]; then
	if [ "$new_flags" ]; then
	    new_flags="$new_flags
$flag"
	else
	    new_flags="$flag"
	fi
    fi
done
close_dialog

if [ $task = bootable ]; then
    new_flags="$new_flags
boot"
fi

open_dialog SET_FLAGS $id
write_line "$new_flags"
write_line NO_MORE
close_dialog

partitions=''
numparts=1
open_dialog PARTITIONS
while { read_line num id size type fs path name; [ "$id" ]; }; do
    [ "$fs" != free ] || continue
    partitions="$partitions $id"
    numparts=$(($numparts + 1))
done
close_dialog

db_progress START 0 $numparts partman/text/please_wait
db_progress INFO partman-partitioning/new_state

for id in $partitions; do
    update_partition $dev $id
    db_progress STEP 1
done

db_progress STOP