c8a6762e5c6e301313b89c47d68817d9f8896eef
[matthijs/upstream/backupninja.git] / handlers / makecd.helper.in
1 # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
2
3 HELPERS="$HELPERS makecd:makecd_backup"
4 wizardname="makecd action wizard"
5
6 declare -a makecd_excludes
7
8 makecd_wizard() {
9
10    inputBox "$wizardname" "specify a burner type cd or dvd:"
11    [ $? = 1 ] && return
12    burnertype="burnertype = $REPLY"
13
14    booleanBox "$wizardname" "Make iso image only? or burn"
15    if [ $? = 0 ]; then
16       isoonly="isoonly = yes"
17    else
18       isoonly="isoonly = no"
19    fi
20
21    # backupdir
22    inputBox "$wizardname" "Directory where to store the backups:"
23    [ $? = 1 ] && return
24    backupdir="backupdir = $REPLY"
25
26    inputBox "$wizardname" "what name to give to the image file?"
27    [ $? = 1 ] && return
28    imagefile="imagefile = $REPLY"
29
30    inputBox "$wizardname" "specify a burner device:"
31    [ $? = 1 ] && return
32    device="device = $REPLY"
33
34    # target - root of system to be included
35    inputBox "$wizardname" "root of filesystem for burn:"
36    [ $? = 1 ] && return
37    target="target = $REPLY"
38
39
40     # excludes
41
42    formBegin "$wizardname: excludes"
43       for ((i=0; i < ${#makecd_excludes[@]} ; i++)); do
44          formItem exclude ${makecd_excludes[$i]}
45       done
46       formItem exclude
47       formItem exclude
48       formItem exclude
49       formItem exclude
50       formItem exclude
51       formItem exclude
52       formItem exclude
53       formItem exclude
54       formItem exclude
55    formDisplay
56    [ $? = 1 ] && return;
57
58    unset makecd_excludes
59    makecd_excludes=($REPLY)
60
61    get_next_filename $configdirectory/20.makecd
62    cat >> $next_filename <<EOF
63
64 # TYP is cd or dvd AS WELL AS the disk inside!!
65 $burnertype
66
67 # not yet supported
68 system = no
69
70 # iso or burn to cd/dvd?
71 $isoonly
72
73 # location for image file
74 $backupdir
75
76 # image filename
77 $imagefile
78
79 # cd/dvd burner device
80 $device
81
82 # dirs/files to include in the backup
83 $target
84
85 # directories/files to be excluded
86 # exclude = /proc
87 # exclude = /sys
88 # exclude = /dev
89 EOF
90
91    for ((j=0; j < ${#makecd_excludes[@]} ; j++)); do
92       echo "exclude = ${makecd_excludes[$j]}" >> $next_filename
93    done
94
95    chmod 600 $next_filename
96 }
97