Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 27eb77f9 authored by Ricardo Cerqueira's avatar Ricardo Cerqueira
Browse files

eat: Automated install of fresh builds



Needs:
1 - a build
2 - a connected device

Change-Id: I24820b984e79430b7af7ccedc171fc69269c0a32

envsetup: eat safely

Change-Id: I2d8b52206213d8f4d8dcce3518cadb2be59e78d8

eat more safely, if there is something to eat

Check for zip file presence before trying to eat

Change-Id: I7913be619d189bbd723263edad878d6d05b8a5a7

Fixed eat not waiting for device if adb server was not started

$(adb get-state) returned unexpected starting server message
causing the if statement to fail. Calling "adb start-server"
beforehand remedies that.

Patch Set 2:
$(adb get-state) returns 'unknown' if Clockwork recovery is running on the device
look for /sbin/recovery and 'pass' the state test
also
adb wait-for-device
will result in endless loop, replace with until loop using with get-state OR 'recovery' tests

Patch Set 3:
fix the initial adb state test, use AND instead of OR

Patch Set 4:
Rebased and prevent "device not found" message from spamming the screen by
redirecting error output to null

Change-Id: I2d41b8853567cde80bf7fc08b5e4f0ad5ba1fdf5
Signed-off-by: default avatarFirerat <firer4t@googlemail.com>

Updated for CM9 variables
parent cd6de469
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -650,6 +650,43 @@ function tapas()
    printconfig
}

function eat()
{
    if [ "$OUT" ] ; then
        MODVERSION=`sed -n -e'/ro\.cm\.version/s/.*=//p' $OUT/system/build.prop`
        ZIPFILE=update-cm-$MODVERSION-signed.zip
        ZIPPATH=$OUT/$ZIPFILE
        if [ ! -f $ZIPPATH ] ; then
            echo "Nothing to eat"
            return 1
        fi
        adb start-server # Prevent unexpected starting server message from adb get-state in the next line
        if [ $(adb get-state) != device -a $(adb shell busybox test -e /sbin/recovery 2> /dev/null; echo $?) != 0 ] ; then
            echo "No device is online. Waiting for one..."
            echo "Please connect USB and/or enable USB debugging"
            until [ $(adb get-state) = device -o $(adb shell busybox test -e /sbin/recovery 2> /dev/null; echo $?) = 0 ];do
                sleep 1
            done
            echo "Device Found.."
        fi
        echo "Pushing $ZIPFILE to device"
        if adb push $ZIPPATH /mnt/sdcard/ ; then
            cat << EOF > /tmp/command
--update_package=/sdcard/$ZIPFILE
EOF
            if adb push /tmp/command /cache/recovery/ ; then
                echo "Rebooting into recovery for installation"
                adb reboot recovery
            fi
            rm /tmp/command
        fi
    else
        echo "Nothing to eat"
        return 1
    fi
    return $?
}

function gettop
{
    local TOPFILE=build/core/envsetup.mk