*) Set JAVA_SOURCE_OVERLAYS in a device makefile as follows:
# Java sourcefile overlays (for Android.bp built modules only)
# Format is a whitespace separated set of rules, each of which
# structured as follows:
# modulename|overlay directory|glob pattern within overlay dir
JAVA_SOURCE_OVERLAYS := \
org.lineageos.hardware|$(LOCAL_PATH)/lineagehw|**/*.java
*) As of this commit, java sources overlays are only allowed for
module org.lineageos.hardware.
Change-Id: I6be1c12567081357f5231a84df98ac002c0563b4
* fw/native change I7f4174581e24e361577640b9263514a168ed482d
implemented validation of the buffer description info prior to
creating the descriptor. Some of our legacy devices need to
whitelist additional usage bits to support various functionality.
* The TARGET_ADDITIONAL_GRALLOC_10_USAGE_BITS variable can contain
a singular roll-up value (e.g., 0x02000000U), a left-shifted bit
(e.g., (1 << 25)), a bitwise OR of these things, or essentially
anything that the compiler can choke down.
Change-Id: I2127d33b03426b5e0f981aae837e07d82163fa17
* The default AOSP hardware/qcom/wlan path is listed in
PRODUCT_CFI_INCLUDE_PATHS since wpa_supplicant is compiled with
control flow integrity checks. Add the Qualcomm WLAN variant to
PRODUCT_CFI_INCLUDE_PATHS as well so wpa_supplicant can safely link
it without exploding.
Change-Id: Id5577846e1e1ea11f8a665d62847c80803e285f7
* If a cherry-pick results in an empty commit
(hints about git commit --allow-empty),
we should warn instead of failing all repopicks
Change-Id: I8410d7d02c4118c8072de609cf3c291e2d8523e6
These variables are usually set in a device's BoardConfig, setting them
in qcom_target is at the very end of the "configuration process" which
results in them being unavailable to plenty of other configuration
"things" (ex. soong namespaces or soong config). Move them to right
after a device's BoardConfig has been found and loaded.
Change-Id: Iddd731202d22ed3f8eb010197ce20d3c75a1f40a
* This function wraps add_json_str so that it does not add the soong
variable key:value pair to json structure if the second argument
(value) is empty/unset, preventing the need for more complex
conditional logic in the middle the code that builds the struct
* This concept allows us to make use of the omitempty field option
for purposes like single variables controlling ifdef blocks as well
as carrying the desired value
Change-Id: I99c8c162069c2aa8ff3d0bab2636b01181e74a9d
Google added a 32-bit vDSO to the Wahoo and Marlin kernels on Android P,
requiring a 32-bit toolchain to compile/link, and the build fails when
it is not provided.
Change-Id: I700e66a417ed431c31d82fc950f5e5acd07ab281
* Reverse the FILE and TARGET handling to sort
and filter unique paths to be pushed
* Resolves the 'mkap systemimage' where
/system/etc/nano/* symlinks were pushed
multiple times in loops
Change-Id: I178cec2e1708ad9239d9e544544fca157639e3b5
* The original commands were checking a file,
and validating that adb ran without error,
resulting in an always-true result
* Fix eat and _adb_connected by properly
checking the 'test -e' error code
Change-Id: I49f82f04f4b51097be76f03bf7021203665da76f
* Root cause of the issue is improper naming of variables. Turns out,
there was no variable to even denote where the blob should have been
searched for, at "src".
* Previously there was one such variable, suggestively called "TARGET", that
was desperately trying to serve as both, depending on who +2d hacks harder.
* One such example is "c982836 extract_utils: Fix makefile generation issues".
That patch deliberately trimmed the "src:" from a spec (therefore
obviously breaking the search at src) but enabling the searching at
dst, via the good-for-all TARGET variable.
* This patch introduces the following variables:
- SRC_FILE: absolute path corresponding to SPEC_SRC_FILE in the
Android filesystem.
- DST_FILE: absolute path corresponding to SPEC_DST_FILE in the
Android filesystem. Somewhat analogous to the old TARGET variable,
but actually contains the leading / as well (/system/bin/adsprpcd
instead of system/bin/adsprpcd).
* Use existing common get_file() function (which previously was
impossible to use, because it was impossible to determine calling
arguments properly) to reduce complexity of handling adb and disk
image as blob sources.
* Via the new SRC_FILE and DST_FILE variables, search for a blob in all
possible locations (including paths stripped of "/system" which
transforms an absolute path in the Android filesystem into a proper
relative path to that file in a disk image).
Change-Id: Ic40fb4dc93541d8b3f33fde586b773199cf4ded2
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* This denotes the path of the file that results from the extraction
process, relative to the "proprietary" directory.
* This is a cleanup patch.
Change-Id: I38e759bb6ed697f0a31ca35a7aa9b9b92f8b6793
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* The write_product_copy_files() and write_product_packages() functions
rely on its undocumented behavior of keeping target_args in the
returned list, because they are users of target_args (such as
";PRESIGNED" etc).
* Make the behavior documented.
Change-Id: If71595dca32abd40039706d4fed2d7f12e005365
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
* Strip target_args from target_file at callee instead of at caller
* WARNING! Changes (improperly documented) behavior of prefix_match()
function, which is expected to not strip target_args(), and the root
cause why stripping target_args was currently done at caller. Will be
addressed in next patch.
Change-Id: I820d2350aa64ff41374809fcb22f812257132652
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>
This reverts commit c982836ca6.
This breaks extracting from src in "src:dst", such as from a disk image.
Will be addressed in the cleanup commit that follows.
Change-Id: Iff84a926f0c3bf908320b43ba40235e0a89db644
Recent devices (e.g. Pixel 2XL aka taimen) do not define any "system"
partition in their fstab, so a plain "mount /system" fails.
Furthermore, trying to get the entry from /etc/recovery.fstab also fails
because the partitions have slot suffixes (e.g. system_a).
So for these devices, we need to figure out the active slot, mount the
system partition (which really contains the whole root) and lastly mount
the actual system partition from the rootfs.
Change-Id: Ibb73a82896c1f6ce6af9c334b8d0908a183913b9
* Include MTK/QCOM rules directly from the build/core/config.mk hook.
* Place main.mk hook and main_version.mk into build/core with the rest
of the make system hooks.
Change-Id: Iad2f808f3e3eefbd2be2ca5facb907ff31babbb7
* It appears the only user of this was Gello, which is no longer using
it.
* Remove this deprecated directive
Change-Id: I6ab869c2f2c3b891b58b9a750e7ce882f169f296
* This is now needed for the latest legacy HAL1 hacks, which were
previously the only devices not using media extensions.
* Enable it for all QC devices to avoid running into
issues with devices not having this enabled in the future.
Change-Id: I484840e712f7da6d0064a5f8016e8061b9cba838
Some ROMs may want to track Google's master branch, which has Clang 6
and 7 toolchains available, as it gets rid of some hacks in the kernel
source. Unfortunately, with the current default choosing logic, the
latest one would be chosen, which it shouldn't be. Use the variable set
in build/make/core/clang/versions.mk, as that's what was intended.
Change-Id: I607c7f750f62caabee4cdccea67846feb7f632fa
Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
If for whatever reason we need a prebuilt DT image,
it has to end up in target files for the signing slave.
Change BOARD_KERNEL_PREBUILT_DT to hold the path of the
prebuilt DT image, if it's going to be used.
Change-Id: I8042d347d271da5c3963824777d399bbc4229aa9
* proprietary-files.txt entries such as
"-app/TimeService/TimeService.apk:priv-app/TimeService/TimeService.apk" should
generate a "LOCAL_SRC_FILES := proprietary/priv-app/TimeService/TimeService.apk"
in the Makefile definition.
* However, currently, the prefix_match function is being called on the whole
PRODUCT_PACKAGES_LIST entry (whole line, including ":"), and therefore,
TimeService.apk would be included in the APPS list instead of PRIV_APPS.
* Furthermore, because of the incorrect prefix_match, the generated
LOCAL_SRC_FILES is "proprietary/app/priv-app/TimeService/TimeService.apk",
which breaks the build because there is no file at that wrong path.
* The fix is to make the extract function match up with write_product_packages
by applying the target_file function on all BUILD_PREBUILT source files.
Change-Id: Ib4859b8854db0f2142bb3f28cce8dd25f7141732
Signed-off-by: Vladimir Oltean <olteanv@gmail.com>