Skip to content
Snippets Groups Projects
makecd.helper 1.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
    
    HELPERS="$HELPERS makecd:makecd_backup"
    wizardname="makecd action wizard"
    
    declare -a makecd_excludes
    
    makecd_wizard() {
    
      inputBox "$wizardname" "specify a burner type cd or dvd:"
      [ $? = 1 ] && return
      burnertype="burnertype = $REPLY"
    
      booleanBox "$wizardname" "Make iso image only? or burn"
      if [ $? = 0 ]; then
         isoonly="isoonly = yes"
      else
         isoonly="isoonly = no"
      fi
    
      # backupdir
      inputBox "$wizardname" "Directory where to store the backups:"
      [ $? = 1 ] && return
      backupdir="backupdir = $REPLY"
    
      inputBox "$wizardname" "what name to give to the image file?"
      [ $? = 1 ] && return
      imagefile="imagefile = $REPLY"
    
      inputBox "$wizardname" "specify a burner device:"
      [ $? = 1 ] && return
      device="device = $REPLY"
    
      # target - root of system to be included
      inputBox "$wizardname" "root of filesystem for burn:"
      [ $? = 1 ] && return
      target="target = $REPLY"
    
    
       # excludes
    
      formBegin "$wizardname: excludes" 
        for ((i=0; i < ${#makecd_excludes[@]} ; i++)); do
           formItem exclude ${makecd_excludes[$i]}
        done
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
        formItem exclude 
      formDisplay
      [ $? = 1 ] && return;
    
      unset makecd_excludes
      makecd_excludes=($REPLY)
    
      get_next_filename $configdirectory/20.makecd
      cat >> $next_filename <<EOF
    
    # TYP is cd or dvd AS WELL AS the disk inside!!
    $burnertype
    
    # not yet supported
    system = no
    
    # iso or burn to cd/dvd?
    $isoonly
    
    # location for image file
    $backupdir
    
    # image filename
    $imagefile
    
    # cd/dvd burner device
    $device
    
    # dirs/files to include in the backup
    $target
    
    # directories/files to be excluded
    # exclude = /proc
    # exclude = /sys
    # exclude = /dev
    EOF
    
      for ((j=0; j < ${#makecd_excludes[@]} ; j++)); do
        echo "exclude = ${makecd_excludes[$j]}" >> $next_filename
      done
       
       chmod 600 $next_filename
    }