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