build: Handle custom boot images properly

When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.

Original-Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Change-Id: I10b3bd0bb33489b8ffb26d16d002f8dd6ff405ad
build: Use project pathmap for recovery

Change-Id: I6339ac77b899a43db21261d587252b65cb58ad79
build: clean up otasigcheck

- Only mount and unmount /data if it was originally unmounted
- Don't use comparison hack, just check the result of the script

Change-Id: I4a22485d315cf91e95ce578907c49f5fa3a03222
ota: Let devices specify their own recovery-from-boot.p installer

Some devices apply transformations to the installed images, making
the sha1 checksums fail (or, worse, generating invalid images). If
"/system/etc/recovery-transform.sh" exists, run that instead, passing
the expected sizes and checksums as arguments in the form of

recovery-transform.sh <recovery_size> <recovery_sha1> <boot_size> <boot_sha1>

A direct emulation of the standard patcher could look like this, transformations
should be added as needed.

----------------
RECSIZE=$1
RECSHA1=$2
BOOTSIZE=$3
BOOTSHA1=$4

dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=$C/recovery.img
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=$C/boot.img

if ! applypatch -c EMMC:$C/recovery.img:$RECSIZE:$RECSHA1; then
  log -t recovery "Installing new recovery image"
  applypatch -b /system/etc/recovery-resource.dat EMMC:$C/boot.img:$BOOTSIZE:$BOOTSHA1 EMMC:$C/recovery.img $RECSHA1 $RECSIZE $BOOTSHA1:/system/recovery-from-boot.p || exit 1
else
  log -t recovery "Recovery image already installed"
fi
----------------

Conflicts:
	tools/releasetools/ota_from_target_files

Change-Id: Ie601841ca1cdad6b8f3b16e593d2718a92e8ca09
build: Ensure /system unmounted at install start

Account for the possibility that a user has mounted system manually
before installing the FullOTA package.

Change-Id: I97d0540676a7ce98762545e76ecb1a7f6335d204
repopick: handle variant hal branching

Change-Id: Ib0dee19abc13a7fb8d8e42c09b73c1b4f35ca938
releasetools: ota_from_target_files: add FullOTA_PostValidate

Change-Id: I152412049f90fd546d4516cc064238c3192be553
Add ext2, ext3, and vfat to releasetools

Support some non-standard partition that may be found in recovery.fstab

Conflicts:
	tools/releasetools/common.py

Change-Id: I0026a1d3ae5d432db10150d1a15f7bc8e7a6054b
core: Enable -mcpu=cortex-a8 flag for Scorpion cpu variant

To be used with
	http://review.cyanogenmod.org/#/c/77758/

Change-Id: I7ecc4707fa45bd7098165615c0521a12c85fb087
buildinfo: only set ro.build.product on non-unified devices

Change-Id: I5dccba2172dade3dacc55d832a2042fce306b5f5
core: Enable -mcpu=cortex-a9 flag for Cortex-A9 cpu variant

Change-Id: I9294a518bcdc21ccbae72eadd9f3c1a12982d028
core: armv7-a-neon.mk: Add missing endif

Change-Id: Id6f9c952d01d3c980115a52605d9c86038b3b5bd
Merge remote-tracking branch 'github/cm-12.0' into cm-12.0