Permalink
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: Firerat <firer4t@googlemail.com>

Updated for CM9 variables
  • Loading branch information...
1 parent 122fbe8 commit f55f6d9ee98138bb774eee247b8736a7a1be81e9 @rmcc rmcc committed with rmcc Aug 19, 2011
Showing with 37 additions and 0 deletions.
  1. +37 −0 envsetup.sh
View
@@ -607,6 +607,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

0 comments on commit f55f6d9

Please sign in to comment.