minui: do not use flexible array initialization

Avoiding the use of gnu extensions improves code portability

Change-Id: I441a49ce08b6ecb1d735ca453552fa92026c5016
remove unused variable

Change-Id: Idb89503140a6a3385fe17990e3484fe71883885f
Add a copy of the updater binary to the recovery resources

* We may need to force the use of a compatible binary if the one
in the update package is suspected to be bad

Change-Id: I71505de51a9600c08ccfe8639385a7b2f2bfe2a2
install: Support downgrade scenarios

Android 4.4 changed the in-RAM format of the property data, making
update binaries built with older versions unable to read it. This
makes any attempt to read a property return empty, and fail any
prop-related assertions.

If we identify an attempt to run a binary that has a common pre-4.4
edify command ("set_perm_recursive") but not one of the new ones
("set_metadata_recursive"), assume it's a pre-4.4 binary and replace
it with a builtin fallback

Change-Id: Ic483c816d772c32266585b669f59c66e77afcebb
install: Fix possible overflow condition in the updater "scanner"

Don't just reset the position pointer after a failure, reset it
after a successful match too, to prevent a followup loop from poking
beyond the limit of the match arrays. (if matchmeta is hit before
matchperm)

Change-Id: I7842798597eb1aee79b4c770f1eeca131020483d
Merge "minui: do not use flexible array initialization" into cm-11.0
correctly mount tmpfs as /tmp in recovery

The syntax of init's mount command changed in April 2008 but
recovery's init.rc was never updated, so recovery's /tmp has been on
the root fs all this time.  Fix.

Also add /system/bin to the PATH in recovery, which is handy for
debugging.

Change-Id: I39f7ae435a8ce3bad691e4b7c307db0bd8de1302
Merge "remove unused variable" into cm-11.0
install: Really fix possible overflow condition in the updater "scanner"

Match new recovery format indenting

Change-Id: I02b703861dbc204b6613a93926fe9e4461f17ff5
Merge remote-tracking branch 'cm/cm-11.0' into cm-11.0