diff options
author | Ricardo Cerqueira <cyanogenmod@cerqueira.org> | 2011-08-19 20:37:12 +0100 |
---|---|---|
committer | Adnan Begovic <adnan@cyngn.com> | 2015-10-06 16:11:55 -0700 |
commit | dbc3c4e85591576e1c5c1e114b82403bd11a23f9 (patch) | |
tree | 452e56bde231324254cac02d822b3af5e0be794c /envsetup.sh | |
parent | a4cd363d082c8c67c63d7fff46eb214b1fab9ac6 (diff) | |
download | build-dbc3c4e85591576e1c5c1e114b82403bd11a23f9.zip build-dbc3c4e85591576e1c5c1e114b82403bd11a23f9.tar.gz build-dbc3c4e85591576e1c5c1e114b82403bd11a23f9.tar.bz2 |
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
eat: Adapt to new file naming scheme
Change-Id: I101e333918bc215bebcc594c97bdd68307c90aaa
eat: Adapt to new storage paths
Change-Id: Ic060304275c2d19858636c84740b3f60dfdc6193
envsetup: Make eat restart adbd as root before pushing the recovery command
Without adbd running as root we can't write to /cache/recovery and
eat fails with a permission denied.
Change-Id: I015b50f29c001605cdc1a0088f68296b62809b56
Eat: Option to specify directory of zip in recovery mode
It pushes to /mnt/sdcard0, which may be /emmc/ in recovery. Now the user
can specify another path other than /sdcard/ where the zip is
Change-Id: Ie39615132ae39d9f6b304a3049b2395b2a2af182
fix "eat"
Assume user 0 is the active one when flashing...
Change-Id: Ibdc28ef49f8023e786ee82c9e42c221409dfd6bb
eat: Use /cache if possible
* Check the size of /cache and use it if possible.
Change-Id: I72fecf3f8d2311c04e63fe81a7ca9a8a6a40419d
Diffstat (limited to 'envsetup.sh')
-rw-r--r-- | envsetup.sh | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/envsetup.sh b/envsetup.sh index cfc02c7..d20d874 100644 --- a/envsetup.sh +++ b/envsetup.sh @@ -701,6 +701,58 @@ function tapas() printconfig } +function eat() +{ + if [ "$OUT" ] ; then + MODVERSION=`sed -n -e'/ro\.cm\.version/s/.*=//p' $OUT/system/build.prop` + ZIPFILE=cm-$MODVERSION.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 + # if adbd isn't root we can't write to /cache/recovery/ + adb root + sleep 1 + adb wait-for-device + SZ=`stat -c %s $ZIPPATH` + CACHESIZE=`adb shell busybox df -PB1 /cache | grep /cache | tr -s ' ' | cut -d ' ' -f 4` + if [ $CACHESIZE -gt $SZ ]; + then + PUSHDIR=/cache/ + DIR=cache + else + PUSHDIR=/storage/sdcard0/ + # Optional path for sdcard0 in recovery + [ -z "$1" ] && DIR=sdcard/0 || DIR=$1 + fi + echo "Pushing $ZIPFILE to $PUSHDIR" + if adb push $ZIPPATH $PUSHDIR ; then + cat << EOF > /tmp/command +--update_package=/$DIR/$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 |