EMMC support in applypatch

Let applypatch read and write EMMC partitions as well as MTD ones.
This enables incremental updates that include boot image changes, as
well as OTA of new recovery partitions.

Change-Id: I3766b9e77c639769ddf693b675da51d57f6e6b1d
make a copy of sideloaded packages in /tmp before verifying

Copy a sideloaded package into /tmp, then verify and install the copy,
to prevent malicious users from overwriting the package between
verification and install.

Bug: 2826890 package can be replaced during verification
Bug: 2058160 Recovery should copy sideloaded (sd card) update ...
Change-Id: I3de148b0f1a671f1974782b6855527caeaefda23
am 23ceeea8: make a copy of sideloaded packages in /tmp before verifying

Merge commit '23ceeea85e6a3555dd3d7140128e310954cadf7f' into gingerbread-plus-aosp

* commit '23ceeea85e6a3555dd3d7140128e310954cadf7f':
  make a copy of sideloaded packages in /tmp before verifying
resolved conflicts for merge of c02c37a1 to master

Change-Id: Iafb9cb4adf27a7086d587d95e94ab1bd050099dc
Mute unwanted error message

This CL removes the following line from the top of build logs:
"diff: out/target/product/*/obj/PACKAGING/updater_extensions_intermediates/register.inc.list: No such file or directory"

Change-Id: I79c15a69a0b1b0da0e45620b45a7a0fea5625250
generalize "install from sdcard" to "install from external storage"

Allow sideloading of OTA packages from USB drives that appear as
/dev/block/sda1.

Change-Id: I1908576c24547cd0088475d8c8917699cd906868
don't go into file select menu when mounting external storage fails

Change-Id: If0efeddc28e1dbb52d9e52abf53323e2cc97c8f0
Working ASLR implementation

Separate files for retouch functionality are in minelf/*

ASLR for shared libraries is controlled by "-a" in ota_from_target_files.
Binary files are self-contained. Retouch logic can recover from crashes.

Signed-off-by: Hristo Bojinov <hristo@google.com>
Change-Id: I76c596abf4febd68c14f9d807ac62e8751e0b1bd
support using an EMMC misc partition to store recovery arguments

Change-Id: I9f912857cfc6afb8ba764f5541af7f01df029a77
fix bug in applying patches

When restarting a patch from crashing in the middle of a large file,
we're not finding the correct patch to apply to the copy saved in
cache.

Change-Id: I41cb2b87d096bb7a28a10c4cf3902facd45d4c9d
am 8cd9e4f3: fix bug in applying patches

Merge commit '8cd9e4f3d4eba481b411482331293c8079ab24b2' into gingerbread

* commit '8cd9e4f3d4eba481b411482331293c8079ab24b2':
  fix bug in applying patches
am 17986e6b: am 8cd9e4f3: fix bug in applying patches

Merge commit '17986e6b8766ef9bdaa49efc7099e3867ca1978a' into gingerbread-plus-aosp

* commit '17986e6b8766ef9bdaa49efc7099e3867ca1978a':
  fix bug in applying patches
am c4e32005: am 17986e6b: am 8cd9e4f3: fix bug in applying patches

Merge commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7'

* commit 'c4e3200578ad670bee9f5a88e90e7a77089d5df7':
  fix bug in applying patches
remove shadowed variable declaration

An accidental variable declaration ("int enough_space = ..." instead
of "enough_space = " inside a block) shadowing the real one meant we
were always using the copy-to-cache path for patching, even when not
necessary.  Remove it.  Enforce an absolute minimum of free space as
well, to avoid running into problems patching small files, now that
the copy-to-cache path is (inadvertently) well-tested.

Change-Id: Idb7d57241a9adcda2e11001fa44f0cd67ce40d19
am 201cd466: remove shadowed variable declaration

Merge commit '201cd46680f5789e21a57fb4476ab0ba0c0ed4c0' into gingerbread

* commit '201cd46680f5789e21a57fb4476ab0ba0c0ed4c0':
  remove shadowed variable declaration
am fbd7ae7a: am 201cd466: remove shadowed variable declaration

Merge commit 'fbd7ae7a1ce0060221241ed02c576983c1f48d34' into gingerbread-plus-aosp

* commit 'fbd7ae7a1ce0060221241ed02c576983c1f48d34':
  remove shadowed variable declaration
remove shadowed variable declaration

An accidental variable declaration ("int enough_space = ..." instead
of "enough_space = " inside a block) shadowing the real one meant we
were always using the copy-to-cache path for patching, even when not
necessary.  Remove it.  Enforce an absolute minimum of free space as
well, to avoid running into problems patching small files, now that
the copy-to-cache path is (inadvertently) well-tested.

Change-Id: Idb7d57241a9adcda2e11001fa44f0cd67ce40d19
fix bug in applying patches

When restarting a patch from crashing in the middle of a large file,
we're not finding the correct patch to apply to the copy saved in
cache.

Change-Id: I41cb2b87d096bb7a28a10c4cf3902facd45d4c9d
Changes to work with updated make_ext4fs tool that supports creating sparse images.

An extra parameter was added to the make_ext4fs() function, we these tools need
to be updated to match.

Change-Id: Id640a7f2b03153eb333b00337f0f991ff5332349
am c080bc54: am fbd7ae7a: am 201cd466: remove shadowed variable declaration

Merge commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb'

* commit 'c080bc549aaf272c77fe7903e52c2a2c0d8de1bb':
  remove shadowed variable declaration