The rule for the file should depend on vendor files. Otherwise, the rule
can be fired before installation of those stub libraries in /vendor/lib.
Bug: 244531518
Test: m (with a vendor lib with stubs)
Test: check /vendor/etc/linker.config.pb (should have the lib)
$ conv_linker_config print -s $OUT/vendor/etc/linker.config.pb
Change-Id: If7a81e26a7a105234201b10cd58825c67a1d5967
system/etc/linker.config.pb is automatically populated with
STUB_LIBRARIES. We do the same for vendor/etc/linker.config.pb.
Bug: 244531518
Test: m vendorimage
Change-Id: If930ca07fcf7c6830b70a0332dae05365b90db12
riscv64 can't build the device version of bcc and ld.mc due to a
dependency on an old version of LLVM, but they are listed in
base_system.mk which can't add them conditionally based on the target
architecture. Add a hack to base_system.mk to silence the warning
that the host-only modules are listed in PRODUCT_PACKAGES. This
can be removed once renderscript is removed from the platform.
Test: lunch aosp_riscv64-userdebug && m
Change-Id: I8efd769a34b110dfb838f7016e029369cb9a0f01
This reverts commit e325f61525.
Reason for revert: DroidMonitor-triggered revert due to breakage in some branches.
Bug: 270958097
Change-Id: I2c3bb568c7f3b0dc7a364ea74b91574966102ff3
dex2oat isn't supported for riscv64 yet, disable dexpreopt. For
aosp_riscv64-user and -userdebug builds it is also necessary to
relax the requirement that dexpreopt is enabled.
Test: trehugger
Change-Id: Ib84f1b40675783d286f4ff89d3c1daa9c7be710a
Previously ("Add null and console dev nodes to the Android initramfs")
introduced into init_boot.img the /dev/console and /dev/null nodes.
Sadly, it missed changing the release tools which are also generating
images in their own way.
Bug: 254835242
Change-Id: I4d2893ac24c09cf0d117422cbe2bde66083e7118
With `-sha256` flag, file header of generated zip files contains
SHA256 checksum for each file, which can then be used by downstream
systems.
Bug: 259513199
Test: m dist device-tests
Change-Id: Id5d2cba9096983da4f4843146a5eaa84393b4880
BOARD_SYSTEM_DLKM_SRC might contain files such as modules.dep. These
files also need to be copied, so relax the globbing pattern to copy all
files under BOARD_SYSTEM_DLKM_SRC.
Test: th
Bug: 267014648
Change-Id: I1fef8f8d7fe01fd4bd99d62981c108d95ef47bfe
Currently it only gets disted for `sdk`
Bug: 266791853
Test: m dist droidcore, and checked out/dist/api_fingerprint.txt
Change-Id: I098c3890d7290a5f0094fea056cbc8bf1684df11
All Robolectric tests are set as uninstallable modules, which skips the
logic exporting `test_config` and `auto_test_config` to module-info.
But downstream infra needs this information to determine if a module is
a test module. So that this change moves the logic that sets
`test_config` and `auto_test_config` for Robolectric tests out of the
snippet specifically for installable module.
Test: m out/target/product/coral/module-info.json
Bug: 268670243
Change-Id: Icf4caf3d6833f3a39927fb69c6fb76762b8f6f14
Merge cherrypicks of ['googleplex-android-review.googlesource.com/21359524'] into tm-qpr2-release.
Change-Id: Ie61ad93088e05ba456ce67b568edefd4260ab189
In aosp/2323114 , BOARD_SYSTEM_DLKM_SRC is removed in favor of
BOARD_SYSTEM_KERNEL_MODULES . However, BOARD_SYSTEM_DLKM_SRC preserves
directory structure of input kernel modules, where as
BOARD_SYSTEM_KERNEL_MODULES flattens everything by copying all modules
into the same directory. This causes some issues as vendor_dlkm that
depend on system_dlkm modules now need to update their modules.dep file
due to changes in path. For backward compatibility, add support
for BOARD_SYSTEM_DLKM_SRC .
When both BOARD_SYSTEM_DLKM_SRC and BOARD_SYSTEM_KERNEL_MODULES are
set, BOARD_SYSTEM_KERNEL_MODULES will be preferred. The priority is arbitrary,
but we need a defined ordering to prevent double copying.
Test: th
Bug: 267014648
Change-Id: Ib2f5229af02ea2b7c0d96da70afed9118f484c97
This reverts commit fae06b15ce.
Reason for revert: Some labs are still not upgraded to the latest version, causing presubmit test flaky.
Bug: 268608699
Bug: 259513199
Change-Id: I05f0fef27afdbbd5350e77616074059b7bf1da42
This reverts commit d5d8904e52.
Reason for revert: Maybe broke the build on git_stage-aosp-master on mainline_modules_x86_64-userdebug
Change-Id: Ia33a642abda127b43aa6e265deb43dca7ee04f34
words() attempts to join all the elements of a list
and then resplit them to more closely match make.
But sometimes, like when calling words() on a product
variable, not all of the elements are strings. In
that case, just return the list unchanged.
Bug: 267407943
Test: ./out/rbcrun ./build/make/tests/run.rbc
Change-Id: I738d0c86c8935f446807cc79623f796e8cae3c01
Dexpreopt generates profiles that need to be installed in the APEX.
Soong will skip the dex2oat step after it generates the build rule for
profiles.
Bug: 241823638
Test: -
1. Patch ag/20581649 PS2.
2. banchan com.android.btservices x86_64 && m
3. Check that "javalib/service-bluetooth.jar.prof" exists in the APEX.
Change-Id: I5cad1b0e1027935fd78e80ad7b07e039f7b8d432
When building a target with a prebuilt init_boot image, we still need to
use the correct name for the image.
Test: m
Bug: 268050089
Change-Id: I8fd11d8c17c2c140b7cff1dd8255c8b8728ea196
Additional analysis revealed more edge cases where external library
code was getting kept unnecessarily. Further refine the keep rules to
avoid these cases. Now, we only apply keep globally for the
`com.android.internal.annotations.VisibleForTesting` annotation.
VisibleForTesting annotations defined externally (e.g., by androidx or
guava) will *only* be respected in platform-defined packages. This
helps trim unused code from deps like gRPC and Dagger, saving up to
~hundreds of KB per package that uses these libraries.
Bug: 248580093
Test: m + verify exclusion of external test code (e.g., from dagger)
Change-Id: Iab7559c08d3ae1ac74f18e3cf3a1b4828a3736cf
Enable the new soong_zip feature to general-tests.zip,
host-unit-tests.zip, android-cts.zip, android-mts.zip etc. This is a
following change of https://r.android.com/2395452. With `-sha256` flag,
file header of generated zip files contains SHA256 checksum for each
file, which can then be used by downstream systems.
Bug: 259513199
Test: run `m dist host-unit-tests general-tests cts mts` and check zip
files under `out/dist/`
Change-Id: I726b5261d177beadcd8f707e2cd2cb5cdef20273
Add support for creating a modules.load.recovery file in the
vendor_kernel_boot image when
BOARD_VENDOR_KERNEL_RAMDISK_RECOVERY_KERNEL_MODULES_LOAD is specified.
Bug: 266752750
Change-Id: I430b785c13dca84949da5032e05025385168df07
Signed-off-by: Isaac J. Manjarres <isaacmanjarres@google.com>
Bug: b/261642850
Test: Build and check warnings. Add two xfail tests in art and see the
results locally.
Change-Id: I122ee2cbfa37bdb71026781efe6cb7131b873ae0
Some of these -dontwarn settings were added because r8 did not have access to transitive dependencies. Now these dependencies are passed as -libraryjars we can remove some of the -dontwarns.
Test: TARGET_BUILD_VARIANT=userdebug MODULE_BUILD_FROM_SOURCE=true \
UNBUNDLED_BUILD_SDKS_FROM_SOURCE=true \
packages/modules/common/build/mainline_modules_arm64.sh -j120
Bug: 242088131
Change-Id: I408a8f3ac9d11c1bd6608f2a18fd2291db8c9275
Added new properties, which could be set for AOSP/GSI builds.
These properties are going to be used for attestation feature through
Build.java class. Earlier in AOSP builds attestation ids were different
from provisioned ids in Keymint. These properties will be identical to
provisioned ids.
Bug: 110779648
Bug: 259376922
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/0_android_hardware_security_keymint_IKeyMintDevice_default
Test: atest VtsAidlKeyMintTargetTest:PerInstance/NewKeyGenerationTest#EcdsaAttestationIdTags/1_android_hardware_security_keymint_IKeyMintDevice_strongbox
Test: atest CtsKeystoreTestCases:android.keystore.cts.KeyAttestationTest CtsKeystoreTestCases:DeviceOwnerKeyManagementTest
Change-Id: I9eea5e0f2fabc667b3efedeeefdf12e7b4fc9502
Extra space in variable names causes dependencies for
INSTALLED_VBMETAIMAGE_TARGET to be missing. Remove extraneous sspaces.
Bug: 263568805
Test: lunch cuttlefish, m distclean, m, and check
$OUT/vbmeta_vendor_dlkm.img
Change-Id: If818a8af42c407a7213f58a7142dffb9dee1fd16
1. The location of the r8.jar and d8.jar files was no longer correct.
2. $(JAVA) was not defined before rbe.mk was included.
3. $(JAVA) includes options, which much be stripped to be a rewrapper toolchain input.
Test: ran against an RBE cluster with RBE_D8_EXEC_STRATEGY=remote and RBE_R8_EXEC_STRATEGY=remote
Change-Id: Icf434f5c0fda687c70c75b01b0bfd63bcd8cc474
For targets with BoardUsesRecoveryAsBoot set to true, binaries in
generic_ramdisk are installed to $OUT/recovery/root/first_stage_ramdisk
This path is not on generic_ramdisk.mk 's allowlist, hence build fails.
To fix the failure, add $OUT/recovery/root/first_stage_ramdisk/system to
allow list.
Test: th, lunch eos-userdebug(a dedicated recovery partition target) and build.
Bug: 265477065
Change-Id: I89cf229adc028a7e5de632b9a3188ecb411de735
initrd_bootconfig is required for signing the virt apex & hence needs to
run outside the source tree as well.
Test: NA
Bug: 245277660
Change-Id: Id1776661e76a75cfb3cf530e7777dc4292522dd0
Currently we only have vbmeta_system and vbmeta_vendor. Add
BOARD_AVB_VBMETA_CUSTOM_PARTITIONS , which allows OEMs to define
their own vbmeta_*.img partitions. example: aosp/2381823
Bug: 263568805
Change-Id: Id671e2c3aee9ada90256381cce432927df03169b
/dev/null is a security requirement for bionic, /dev/console is needed
so the kernel can set-up stdout stderr and stdin before running /init.
Bug: 254835242
Change-Id: I865856885e9957ea17e28b62273e701af9bfc56f
When we have dedicated .mk files for each modules (e.g. usb, drm, etc)
and those modules have their own linker configuration requirements, it
would make more sense to have "fragments" for linker configuration.
This change introduces a new list variable to store the list of linker
configuration fragments. When it's set, vendor/etc/linker.config.pb is
generated from the list of input fragments.
Bug: 264330513
Test: set PRODUCT_VENDOR_LINKER_CONFIG_FRAGMENTS
Test: m vendorimage (generates vendor/etc/linker.config.pb)
Change-Id: I9eed0f90add0191885b7195efdab94b5b1a4a62d