diff options
Diffstat (limited to 'dselect/methods/floppy/setup')
-rwxr-xr-x | dselect/methods/floppy/setup | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/dselect/methods/floppy/setup b/dselect/methods/floppy/setup new file mode 100755 index 0000000..8c16cd2 --- /dev/null +++ b/dselect/methods/floppy/setup @@ -0,0 +1,76 @@ +#!/bin/sh + +set -e +vardir="$1" +method=$2 +option=$3 + +cd "$vardir/methods/floppy" + +defaultfloppy=fd0 +defaultfstype=msdos +if [ -f shvar.$option ] +then + . ./shvar.$option + defaultfloppy="`echo \"$defaultfloppy\" | sed -e 's,^/dev/,,'`" +fi + +while [ -z "$floppy" ] +do + echo -n ' +Which floppy disk drive do you wish to use ? Give the name in +/dev (eg fd0) or the MSDOS drive letter (eg A). ['$defaultfloppy'] ' + read floppy + if [ -z "$floppy" ] + then + floppy="$defaultfloppy" + fi + case "$floppy" in + [ABab] | [ABab]: ) + floppy="`echo $floppy | \ + sed -e 's/:$//; s,^[Aa],/dev/fd0,; s,^[Bb],/dev/fd1,'`" + ;; + /* ) + ;; + * ) + floppy="/dev/$floppy" + ;; + esac + if ! [ -b "$floppy" ] + then + echo "$floppy is not a block device." + floppy="" + fi +done + +while [ -z "$fstype" ] +do + echo -n ' +What kind of filesystem is on the floppies ? ['$defaultfstype'] ' + read fstype + if [ -z "$fstype" ] + then + fstype="$defaultfstype" + fi + if ! grep " $fstype$" /proc/filesystems >/dev/null + then + echo \ + "Your kernel does not appear to support that filesystem type." + fstype="" + fi +done + +echo + +outputparam () { + echo "$2" | sed -e "s/'/'\\\\''/; s/^/$1='/; s/$/'/" >&3 +} + +exec 3>shvar.$option.new + +outputparam defaultfloppy "$floppy" +outputparam defaultfstype "$fstype" + +mv shvar.$option.new shvar.$option + +exit 0 |