#!/bin/sh
# 
# write disk-image to file on FTP server
#
# Copyright (c) 2003-2006 Hubert Feyrer <hubert@feyrer.de>
#

tmpfile=/tmp/ftpput.$$

user_server=$1
file=$2
disk=$3

user=`echo $user_server | sed 's/@.*$//'`
server=`echo $user_server | sed 's/^[^@]*@//'`

if [ "$user" = "$server" -o "$user" = "" ]; then
	# no user@ given - use default
	user=install
fi

if [ "$disk" = "" ]; then 
        disk=wd0                        # Change this to "sd0" for a SCSI disk
fi

if [ "$file" = "" ]; then 
        file=r${disk}d.gz
fi

if [ "$server" = "" ]; then
	echo "Usage: $0 [user@]FTPserverIP [file] [disk]"
	echo "e.g.   $0 ftp.my.com my-r${disk}d.gz sd0"
	echo "       GZIP=1 $0 ... (for minimum compression)"
	echo "       $0 user@ftp.my.com image.gz"
	echo ""
	echo "Default: file=$file disk=$disk, user=$user, GZIP=9"
	exit 1
fi


gzip_opt=-${GZIP}
if [ "$gzip_opt" = "-" ]; then
	gzip_opt=-9
fi
unset GZIP		# gzip(1) processes the variable differently

#echo HF: file=$file
#echo HF: disk=$disk
#echo HF: user=$user
#echo HF: server=$server
#exit 666

echo -n "Enter password for $user@$server: "
stty -echo
read pass
stty echo

if [ "$pass" = "" ]; then
	echo "Empty password not allowed, aborting."
	exit 1
fi

echo ""
echo ""
echo "[1mWelcome to g4u, starting upload of ${disk} now...[0m"
echo ""

rm -f $tmpfile
echo >>$tmpfile open $server
echo >>$tmpfile user $user $pass
echo >>$tmpfile bin
echo >>$tmpfile put - $file
echo >>$tmpfile bye

#echo 'dd if=/dev/r'${disk}'d bs=1m | progress ftpput $tmpfile '${gzip_opt}
#echo tmpfile:
#cat $tmpfile
#
#for i in 5 4 3 2 1 ; do
#	echo $i ; sleep 1
#done


dd if=/dev/r${disk}d ibs=1m \
| progress sh ftpput $tmpfile ${gzip_opt}

rm -f $tmpfile

echo ""
