minui: Match API to AOSP

 * AOSP added a "bold" flag for image based fonts. Stay compatible
   with that API since there are other components using minui.

Change-Id: I6c0f12f7f8f1df8dd27779b47883ccff96f2d291
Signed-off-by: Grarak <williye97@gmail.com>

Conflicts:
	ui.c
Add guard makefile for allowing simple recovery build

Change-Id: I6ec438f61cafce69c5083977c4330277f56aa060
Revert "minui: Match API to AOSP"

 * Breaks every device because of their deprecated graphics.c overloads.
 * Revert until we clean this mess up.

This reverts commit 48ccdcef23664c52d092875cef3585e828341914.

Signed-off-by: Grarak <williye97@gmail.com>

Conflicts:
	ui.c
minui: Allow devices to blank/unblank using LCD backlight

* Some devices rely on the LCD backlight to blank/unblank the display,
  support them by allowing a custom LCD backlight path to be used.

Change-Id: I8406b4b55cd7a2afc4f8f8ba65de2c53b949489d
recovery: Add a proper CleanSpec.mk

 * Clean all the stuff that conflicts with AOSP recovery.

Change-Id: I175329c446a014c451f4c0fc5a9a4472941afc10
recovery: Clean ALL the things

 * We need to clean everything, otherwise nasty things happen when
   switching to alternate recovery module.

Change-Id: I9ea88179f5329112c587b649328c1c83df0bd5d9
Revert "Revert "minui: Match API to AOSP""

This reverts commit 2457cc01c709abcf7835799d7737ca51b6485cab.

Signed-off-by: Grarak <williye97@gmail.com>

Conflicts:
	ui.c
updater: introduce and set_metadata and set_metadata_recursive

Introduce two new updater functions:

* set_metadata
* set_metadata_recursive

Long term, these functions are intended to be more flexible replacements
for the following methods:

* set_perm
* set_perm_recursive

Usage:

  set_metadata("filename", "key1", "value1", "key2", "value2", ...)
  set_metadata_recursive("dirname", "key1", "value1", "key2", "value2", ...)

Description:

set_metadata() and set_metadata_recursive() set the attributes on a file/directory
according to the key/value pairs provided. Today, the following keys are
supported:

* uid
* gid
* mode (set_perm_extd only)
* fmode (set_perm_extd_recursive only)
* dmode (set_perm_extd_recursive only)
* selabel
* capabilities

Unknown keys are logged as warnings, but are not fatal errors.

Examples:

* set_metadata("/system/bin/netcfg", "selabel", "u:object_r:system_file:s0");

This sets the SELinux label of /system/bin/netcfg to u:object_r:system_file:s0.
No other changes occur.

* set_metadata("/system/bin/netcfg", "uid", 0, "gid", 3003, "mode", 02750, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

This sets /system/bin/netcfg to uid=0, gid=3003, mode=02750,
selinux label=u:object_r:system_file:s0, and clears the capabilities
associated with the file.

* set_metadata_recursive("/system", "uid", 0, "gid", 0, "fmode", 0644, "dmode", 0755, "selabel", "u:object_r:system_file:s0", "capabilities", 0x0);

All files and directories under /system are set to uid=0, gid=0,
and selinux label=u:object_r:system_file:s0. Directories are set to
mode=0755.  Files are set to mode=0644 and all capabilities are cleared.

Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: Ifdcf186a7ed45265511dc493c4036e1ac5e3d0af
Don't apply permission changes to symlink.

Bug: 10183961
Bug: 10186213
Bug: 8985290
Change-Id: I57cb14af59682c5f25f1e091564548bdbf20f74e
4.4 compatibility

Add a copy of reboot.c from system/core/reboot, since it is no
longer a cleanly usable tool in toolbox.
minor API updates
verifier: update to support certificates using SHA-256

Change-Id: Ifd5a29d459acf101311fa1c220f728c3d0ac2e4e
start healthd in recovery

Change-Id: I16e3e0ddb8ca062431deb4be83c5be5eb786d76f
recovery: copy logs to cache more aggressively

Copy logs to /cache immediately upon a package installation failure;
don't wait for recovery to finish.  (If the user reboots without
exiting recovery the "right" way, the logs never get copied at all.)

Change-Id: Iee342944e7ded63da5a4af33d11ebc876f6c0835
recovery: preserve recovery logs across cache wipes

When doing a cache wipe or a factory reset (which includes a cache
wipe), save any last* log files in the /cache/recovery directory and
write them back after reformatting the partition, so that wiping data
doesn't lose useful log information.

Change-Id: I1f52ae9131760b5e752e136645c19f71b7b166ee
fix secure adb in recovery

Recovery's init.rc was missing a line (added to the main system's
init.rc in change Ic97fd464440ff4a29fc9da7ad15949ac5215ade3) is
required for secure adb to work.

Change-Id: Id79b94d2abb4cbe3cca7cabeb4bc5faf7205e56b