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