Charles Pax wrote:
On Sun, Sep 7, 2008 at 6:34 PM, Joel Newkirk <[EMAIL PROTECTED]> wrote:

Sounds like you did a cut'n'paste from email.  The problem is that long
lines are wrapped, which breaks programs/scripts.  There's at least three
places in the script that suffer from word-wrap, including several lines
that start at line 66.


Yup, did a cut n' paste. I tried the attachment and it worked just fine.
Maybe a future version can offer to fetch dfu-util. Thanks for the help.

-Charles
Nice suggestion! Done!

-Dale
#!/bin/bash
# dfu-util Image-Flashing Gui 0.2

function check_dfu {

        if [ ! -x $dfutils_path ]; then
                #look in current folder...
                if [ -x './dfu-util' ]; then
                        dfutils_path='./dfu-util'
                else
                        zenity --question --text "The dfu utility could not be 
found at $dfutils_path, or is not exceutable. Do you want to automagically 
download it from downloads.openmoko.org?"
                        if [ $? = 0 ]; then
                                rm ./dfu-util > /dev/null
                                wget 
http://downloads.openmoko.org/daily/dfu-util
                                chmod a+x ./dfu-util >/dev/null
                                dfutils_path='./dfu-util'
                        else
                                dfutils_path=$(zenity --file-selection 
--title="Locate the dfu-util executable:" --filename="$dfutils_path")
                        fi

                        if [ -z "$dfutils_path" ]; then
                                echo "Cancelled!"
                                exit
                        fi
                        #check selection...
                        check_dfu
                fi
        fi
}

function perform_flash {
        # $1 - what we're flashing (for display)
        # $2 - dfu-params
        # $3 - file to flash

        echo
        echo "*** Flashing $1 with $3 ..."
        echo

        $dfutils_path $2 $3 2> $tmp_error_log_path
        # add the following line to the previous line to get back the zenity 
progress dialog:
        # | zenity --progress --pulsate --percentage=0 --title "Flashing in 
progress.." --auto-close

        if [ "${PIPESTATUS[0]}" != "0" ];then
                zenity --error --text "Some error occured while flashing 
$1.\n\nError message:\n`cat $tmp_error_log_path`"
                exit
        else
                #sleep to allow dfu to reset...
                sleep 2
        fi
}

dfutils_path='/usr/local/bin/dfu-util'

check_dfu

tmp_error_log_path='/tmp/flash-error-log'

ans=$(zenity  --list --text "What do you wanna flash?" --title "dfu-util gui" 
--checklist --column "Pick" --column "Option" TRUE Root-Filesystem TRUE Kernel 
FALSE Bootloader)

if [ -z "$ans" ]; then
        #handle cancel / no selection...
        echo "Nothing to do!"
        exit
fi

txt="The flashing will now start.\n\nMake sure your Neo is connected to the 
USB-Device and booted into the Nor (for kernel and rootfs) or Nand (for u-boot) 
screen before proceeding.\nRemember that flashing a large image like a rootfs 
will take some time so don't abort it.\n\n"

if [ -n "`echo $ans | grep Root-Filesystem`" ];then
        du_param_r='-a rootfs -R -D'
        rootfs=True
        img_file_r=$(zenity --file-selection --title="Select an image-file for 
the ROOTFS:")
        if [ "$img_file_r" = "" ]; then
                echo "Cancelled!"
                exit
        fi
        txt="$txt - Flashing rootfs with $img_file_r \n\n"
fi

if [ -n "`echo $ans | grep Kernel`" ];then
        du_param_k='-a kernel -R -D'
        kernel=True
        img_file_k=$(zenity --file-selection --title="Select an image-file for 
the KERNEL:")
        if [ "$img_file_k" = "" ]; then
                echo "Cancelled!"
                exit
        fi
        txt="$txt - Flashing kernel with $img_file_k \n\n"
fi

if [ -n "` echo $ans | grep Bootloader`" ];then
        du_param_u='-a u-boot -R -D'
        uboot=True
        img_file_u=$(zenity --file-selection --title="Select an image-file for 
UBOOT:")
        if [ "$img_file_u" = "" ]; then
                echo "Cancelled!"
                exit
        fi
        txt="$txt - Flashing uboot with $img_file_u \n\n"
fi

touch $tmp_error_log_path

zenity --info --text "$txt"

if [ "$rootfs" = True ]; then
        perform_flash rootfs "$du_param_r" "$img_file_r"
fi

if [ "$kernel" = True ]; then
        perform_flash kernel "$du_param_k" "$img_file_k"
fi

if [ "$uboot" = True ]; then
        perform_flash uboot "$du_param_u" "$img_file_u"
fi

rm $tmp_error_log_path
exit 0

_______________________________________________
Openmoko community mailing list
[email protected]
http://lists.openmoko.org/mailman/listinfo/community

Reply via email to