Add linker.vendor_ramdisk for Virtual A/B devices with
a vendor_ramdisk because e2fsck is dynamic.
Test: pass
Bug: 173425293
Change-Id: I0a6f5bf15362e28eaa07a4d639ea23749b94b0f5
This is needed after
commit 21c34f78e8
which starts calling host_init_verifier in merge_target_files,
a binary in releasetools.
Test: m otatools
Change-Id: Iee762de9fd6f890b5cc26ee5507da2f3f284fc14
Files are copied into the recovery installation directory by a rule
that runs rsync. The previous logic tried to avoid racing with the
rsync rule by depending on the final packaged recovery image, but
if BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT is set then
INSTALLED_RECOVERYIMAGE_TARGET is left empty and no dependency was
added. Depend on the timestamp file used as the output of the rule
that runs rsync instead.
Test: query dependencies of installed-files-recovery.txt
Fixes: 173772240
Change-Id: I5ec77a6933e3a83fe4e4819e0e246017d824d8a5
Using jni_libs tells Soong to install the JNI library into
a genrule sandbox alongside the java binary.
Bug: 124313442
Test: m checkbuild
Change-Id: Ia550102c7aa483497f95ac2ea8bb01bce89ae9c1
Pass pctx and ctx to NewRuleBuilder instead of RuleBuilder.Build,
and don't pass ctx to RuleBuilderCommand.BuiltTool. Follows the
changes in I63e6597e19167393876dc2259d6f521363b7dabc.
Test: m checkbuild
Change-Id: I5d11e07ae1a24a967e379c151f4f5d7d188c6cc0
List of stub libraries from system (and bionic APEX) is currently
managed in static file. This change generates the list at build time and
adds to the system config so linkerconfig can use it.
Bug: 172889962
Test: Build cuttlefish and confirmed list is generated in
/system/etc/linker.config.pb
Change-Id: Idd5a93442f398dd8e88c767c694ddae64d1bb713
This is part of adding some devices/products suitable for unbundled
builds. An unbundled product does not need all the PRODUCT_PACKAGES
etc present in the normal hierarchy of products, but does need to know
which jars are on the bootclasspath.
Therefore, factor out the bootclasspath config from base_system.mk and
put it in its own makefile where it can be inherited by these unbundled
products.
Bug: 172256440
Test: diff presubmit artifacts (noop)
Merged-In: Id3f91e387bba2e0525b4010f22fe380d1d8be537
Change-Id: Id3f91e387bba2e0525b4010f22fe380d1d8be537
This is to efficiently use both local and remote resources when using
RBE for Android developers.
Bug: b/170699893
Change-Id: I46bc3ff9c0d8d08e8f3aaa15076eb606737355af
This verifies the init rc files in the merged result.
Bug: 163089173
Test: test_common.py
Test: Run merge_target_files.py to merge two target-files packages where
one has init_rc errors. Observe script failure.
Test: Run merge_target_files.py on two good target-files packages,
observe no failure.
Change-Id: I86c8e5a2bc07c2c1896ac40afd32bc1d055447ee
This is to deduplciate uploads and downloads when running builds with
RBE. Especially useful for certain Java / R8 / D8 actions that have JAR
files as common inputs.
Change-Id: I0459d4e5c89bd93e5c0c53195fdabccabec08674
If vendor_ramdisk exists, it is preferred to use launch_with_vendor_ramdisk.mk
because it moves e2fsck to vendor_ramdisk, making ramdisk smaller.
Devices that uses VABC is assumed to have a vendor ramdisk, so inherit
from this new makefile.
Test: pass
Change-Id: If6adad9985ca4750225fd4263edb42de1ddaf486
For Virtual A/B makefiles that is created before S, add
symlinks so that existing devices don't break.
Test: pass
Change-Id: Ie04c4a8a2375edc673a8a7a2adcd162b21178f68
Test: treehugger, generate an OTA with --disable_verity_computation, serve it to
VABC device. Make sure it works
Change-Id: I0a5f3c018727cb3eed3edd004d60d09d13e34039
Add installed-files-vendor-ramdisk.txt build artifact, so that it is
easy to see what files landed on the vendor ramdisk.
Test: clean build, inspect installed-files-vendor-ramdisk.txt
Change-Id: Ie84d06dc968ad972ab2bfa79db4d1839ba09e09f
common.py is used by many python-based host tools. When a host tool
invokes another host tool, it's usually done with the name of the tool,
not the absolute path of the tool. For example, ["cmd", "arg"] instead
of ["out/soong/host/linux-x86/bin/cmd", "arg"].
Previously, the caller of the tool has to teach all the locations of the
sub-tools that the tool will internally use. But this isn't ideal;
1) It's against the abstraction. The existence of the sub tools and their
names are implementation detail of the containing tool. It's also
subject to change.
2) This isn't scalable. Sometimes a host tool invokes a large number of
host tools. Furthermore, the sub tools might invoke other sub-sub tools.
Then the location of the sub-sub-tools had to be known to the top-level
tool.
The idea here is to make use of the fact that
a) dependencies to the sub (and sub-sub) tools are already described in
the Android.bp and
b) the dependencies are guaranteed to be up-to-date and installed to the
host tool directory (out/soong/host/linux-x86/bin) by Soong.
Then by the time a host tool is invoked, all of its sub tools should
be found in the host tool directory. So, when "cmd" is about to be
invoked, common.py first tries to find it from the user-given paths. If
not found there, it falls back to search the directory where the current
tool is located at. Then finally falls back to the original name "cmd"
and expects it to be found under PATH.
Bug: 172414391
Test: m
Change-Id: Id7b44f9021be3bbf0631ddafe382ea3990f7ea74
Needed after commit 8218225794
which skips regenerating vbmeta.img if avb_building_vbmeta_image!=true.
Partial builds that disable vbmeta generation do not set this field.
Bug: 169892879
Test: Run merge_target_files.py on builds that have avb_enable=true but
PRODUCT_BUILD_VBMETA_IMAGE=false. Observe vbmeta.img generation.
Change-Id: Id498dbd28c909e19cd35178b95a0b5dc22a1ac70
Since the wpa_supplicant_8 has enabled cfi, the
static lib that it uses should enable cfi, otherwise
there will be runtime crashes.
BUG: 169343095
Test:
lunch sdk_phone_arm64-userdebug
m -j
run the image on the aarch64-linux host
hostapd_nohidl and wpa_supplicant should
not crash with cfi failures.
Change-Id: I00e3840032530ee62aac69cab0b54755f83291f9