Don't make assumptions about the formats of build descriptions

Change-Id: Id83a7594e9e1b9b4ffbdbaba695506d8d0d21a46
envsetup: Fix remote functions to deal with symlinks

Change-Id: I6f35dc30dda22149b2c37e1c6c7d41ea7239d3bb

Conflicts:
	envsetup.sh
core: main: remove all the spam about including make files

Change-Id: Ifd2ef0e239d16b169c572472416c2c31df62a367
envsetup: do not print an error if complete fails

complete is a bashism; so it will fail on other shells. Avoid printing
an error if that is the case.

Change-Id: Id6d6311792f409cc3a697c7a2bb003863f1afe60
envsetup: drop unnecesary exports

export -f is a bashism and we don't actually need it, so lets remove it.

Change-Id: I9228cef0c4a9543b3d34fdc39a368ad0238431e2

Conflicts:
	envsetup.sh
envsetup: Mark zsh as compatible

Basic functionality has been tested on zsh 5.0.2 and has been found to
work correctly.

Change-Id: I02e5e3bedf56b43104c280d9737ae7b334357643
build: Add support for PRODUCT_COPY_FILES_OVERRIDES

 * We may have a case where prebuilts need to be built from
   source instead based on an externalized config.
 * New directive takes a list of destination files to remove from
   PRODUCT_COPY_FILES so that other instructions can be supplied.

Change-Id: I7feff16440e54d1676ffddbbd96d5947efa43ede
build: Add QCOM target-specific config

 * Needed to support global DirectTract config on legacy targets
 * Let's also eliminate some boilerplate

Change-Id: I736c10a5e7e1f3d1e0de9e60f29b60add276f151
qcom_utils: Update list of QCOM_BOARD_PLATFORMS

Add msm8226 (Moto G) and other upcoming platforms
Change-Id: Icf895cbcf86791ca800636a1c0893b3a905a27a0
build: Fix cflags for QC targets

Change-Id: I2281bec3afb4d80e80845718d880dc24ef7baf32
Allow individual projects to enforce a property's value

Some projects require system properties to be set to a specific
value (for example, a shared library needing a property pointing
to its own path) in order to work correctly, but some device
configurations are mistakenly setting those properties with the
wrong value (usually inherited from the original OEM build).

"PRODUCT_PROPERTY_UBER_OVERRIDES += property=value" can (and
should) be used in that project's makefile to ensure the value
is the correct one. This variable is intended for software projects,
and should never be used in product makefiles (BoardConfig, cm.mk,
AndroidProduct)

Change-Id: I1986e7c444e51cce8b198e43fdc793fad16d6276
Store the value from TARGET_OTA_ASSERT_DEVICE to a file

This is needed so it can be read in when re-signing a package to
allow for the proper device asserts.

Change-Id: I8f3bb491bbbaa4d2b827a45ef83f12c6c83e6712
build: edify: use set_metadata for backuptool

Also use saner permissions on backuptool.sh

Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9
tools: getb64key - print the base64 version of a PEM public key file

Change-Id: Ia94ff560c88dfe85c3fa55db5c8219aa0d3419ee