summaryrefslogtreecommitdiffstats
path: root/envsetup.sh
diff options
context:
space:
mode:
authorRicardo Cerqueira <cyanogenmod@cerqueira.org>2011-08-19 20:37:12 +0100
committerAdnan Begovic <adnan@cyngn.com>2015-10-06 16:11:55 -0700
commitdbc3c4e85591576e1c5c1e114b82403bd11a23f9 (patch)
tree452e56bde231324254cac02d822b3af5e0be794c /envsetup.sh
parenta4cd363d082c8c67c63d7fff46eb214b1fab9ac6 (diff)
downloadbuild-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.sh52
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