adbd: Disable "adb root" by system property (2/3)

 * Require persist.sys.root_access=1 on non-eng debuggable builds

Change-Id: Iedab030e81ffb525fed64aed80cf0014f3e07073
adb: Add "wait-for-sideload" command

 * Waits for connected device to enter sideload mode

Change-Id: I65b4ad86456c13a3bbc48880e12ab7a034707b88
adb: Add a few more wait-for commands

 * wait-for-recovery is obvious.
 * wait-for-online will wait for recovery || device

Change-Id: I70f747bcd201a4157b988d7ed49bcc8e5ff4c85f
ADB Logcat colored output.

This patch adds a new '-C' option to logcat so that the output is
colored with colors similar to the ones in DDMS.
Simply type "adb logcat -C" to use it.
Works well with bash in gnome-terminal.

Change-Id: Ie72199ecca0e04f2082c993f5763646bb09da61ea
init: update recovery when enabled in settings

Update the recovery image only if the option is enabled
under Developer options

This reverts commit 231e0a9e6a1da6fa4a188840f68af649669e417f.

Change-Id: I928f7ee8bb3eaf5581bb8225661d253ecca0c4ef

Change CM recovery install script filename [2/2]

This is part 2/2 to maintain backwards compatibility with CWM's
verify_root_and_recovery() function. CWM checks if install-recovery.sh
exists and has an executable flag set, then offers to disable the script
for the user. CM now controls this with the persist.sys.recovery_update
property which is configurable via settings, so we don't need to
double-check this.

This changes the name of the recovery install script to
install-cm-recovery.sh.

Change-Id: I275dd358b46c626dfcb8fe02c583a308d5a89c56
core: Add some static libraries

 * Add static versions of libdiskconfig and libsysutils for MiniVold

Change-Id: I9ea9498dcff3f094bbcbb1e05e6d10bc9b83ac74

Conflicts:
	libsysutils/Android.mk
Add libminshacrypt static lib

This is a sha-only version of libmincrypt, to provide the new
SHA_hash implementation to binaries that require libcrypto_static
Add support for exec command in init scripts.

Change-Id: Iee523fd75410718f0bd090f5fdcba50825a698c4
init: Add support for properties expansion in exec command

Add Android properties expansion to 'exec' arguments.
E.g.  exec /system/bin/log ${sys.usb.config}

CRs-Fixed: 390942
Change-Id: Ie520396d951e578bd9f591734a45d2f460b8f51d
Set ANDROID_PROPERTY_WORKSPACE in exec.

Change-Id: Ib827bf14b4463ca6277b79256bcc4cd70f63fc31
Revert "Revert "put back the unused virtuals in Vector<>""

This reverts commit 225c66a48cdc3acef21ee380dc134449749d3cb3

Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d

Conditionally Revert "put back the unused virtuals in Vector<>"

These symbols are needed for MR2 camera.tegra and other blobs,
but they conflict with KK blobs so define it for devices that
need it by setting COMMON_GLOBAL_CFLAGS += -DNEEDS_VECTORIMPL_SYMBOLS

Change-Id: I59e66074526f013918a29c3afc10e52b9812778c
init.rc: Import CM's init rc
mkbootimg: Add --dt parameter to specify DT image

New optional --dt parameter to specify a kernel device
tree image.

Change-Id: Ie29a11cbf4138426bfd19ae486d69a5fcbd8f442
mkbootimg: fixing the typecast issue

Change-Id: Ic375089ecce7aed3f9968e5e0b48e8ae0df66d83
Add group qcom_oncrpc and give permissions to ril-daemon and /dev/oncrpc

Change-Id: I022aae4a81c720a026ea6c1a41bda30acbe60224

diag: Remove world read/write permissions from /dev/diag

/dev/diag has world read/write permissions which is considered
a security risk.  Remove these permissions.  Add new qcom_diag
group for access to /dev/diag

CRs-Fixed: 356415
(cherry picked from commit 14c85ec56fd47c5eb143617a3bd5a6e7ee39cb6e)

Change-Id: I536323a97e19a07bbd8eadffa0265d1955590285
Auditd initial commit

Initial commit for an audit daemon that
writes kernel audit messages to a log
file. The daemon runs in uid "audit" or
AID_AUDIT.

The log files are located at /data/misc/audit/
The daemon maintains two files at this location:
audit.log and optionally audit.old. On boot (
if the file is non-zero in size), or
when a fixed threshold is hit, the daemon rotates
audit.log to audit.old.

Optionally, if passed the -k option, the daemon polls
dmesg for all lines that contain "audit" and writes
them into the log. After that it continues to operate
as normal, receiving the messages from the netlink
socket.

Change-Id: I5b5037a5a8b39a054213848249afb7808f8b0ffa

Sync with master auditd.

sys/capability.h does not exist in the 4.2 bionic.

Reserve AID_AUDIT

AID_AUDIT will be used for an audit daemon for gathering
and controlling the Linux audit subsystem.

Change-Id: I95d597524b5547a60f3a59f692b4b0a6df0a9645
Initial bringup system-core

Change-Id: Ic61f4b46b3d833b3ce893d9b4dd250a77e8c5ec9
ueventd: Add bootdevice symlink

Create the /dev/block/bootdevice symlink to point to the
boot device information based on kernel command line.
This decouples references to the boot device from the
actual device nodes (e.g. eMMC, UFS).

Change-Id: I5e5e3e07ff38c8002ac3f188df80284f1f47892b
init: Add vendor-specific initialization hooks.

Allow optional vendor-specific initializations
within init.  This can be used for runtime
initialization setup that init rc scripts do
not support.

Change-Id: I7623a0d59b18f9ec8e3623958e2f7ccd72b877bf
Conflicts:
init/init.c
init: Allow target-specific platform device base to be specified.

Add optional build-time flag, TARGET_PLATFORM_DEVICE_BASE,
to specify the base sysfs path (without the /sys prefix)
where the platform device resides.  This provides support for
targets where platform devices are all under a master level
platform device (e.g. soc-bus).
Change-Id: I1196fddaddbd03bd472db95ed4d67f818e3af0cb