Prebuilt modules do not provide sanitizer binaries to using them in this
context is unsafe.
Bug: 194067130
Test: TH
Change-Id: I3682ae9ad963a8cd13bb395fe84dae515dc6d30f
Change I4e5adc3f42a5 alone would break hikey build, which
is a non-A/B device with a boot image, but without recovery.
Do not build OTA in this case.
Test: lunch hikey && m dist
Fixes: 194018054
Bug: 193588301
Change-Id: I8d09ad5c62d44699eb910ff62d32044bd97e8e44
Merged-In: I8d09ad5c62d44699eb910ff62d32044bd97e8e44
On devices with a prebuilt boot image, TARGET_NO_KERNEL
may be set to enable signing, etc. In this case we still
want to build the OTA package.
Test: m otapackage on a device with generic boot image
(where TARGET_NO_KERNEL is set)
Bug: 193588301
Change-Id: I4e5adc3f42a516ac0e2f66c313dbe34a469ebe05
Merged-In: I4e5adc3f42a516ac0e2f66c313dbe34a469ebe05
On devices with prebuilt generic boot image:
TARGET_NO_KERNEL := true
BOARD_PREBUILT_BOOTIMAGE is set
In this case, the process for extracting the kernel
config and version must also try extracting from the
prebuilt boot image.
Test: build on device with prebuilt boot image
Fixes: 193588301
Change-Id: I43dd8e206bcd1c9f3f5f51869f126791c50af01a
Merged-In: I43dd8e206bcd1c9f3f5f51869f126791c50af01a
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
This http://ag/15200786 after fixing various build issues (see tests).
Using DO NOT MERGE to limit presubmit use to the branches for which
prebuilts were updated in http://ag/15189174 and http://ag/15200785.
Test: Heavy presubmits on build_test{,2,3,4} and flame-userdebug
Test: Heavy presubmit on mainline_modules-userdebug on sc-mainline-prod
Bug: 192542393
Change-Id: Id6800fe3564149e6c555b5f68a41b01e9c7dff3f
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
This relands http://ag/13552665 after updating ART prebuilts
(ag/15189174, ag/15200785). Using DO NOT MERGE to have the same scope
as they do.
Test: presubmits
Test: vendor/google/build/build_mainline_modules.sh
with a line
build/soong/soong_ui.bash --dumpvar-mode \
SOONG_CONFIG_art_module_source_build
directly before the module build commands in
build_unbundled_mainline_module.sh and check that it's still true.
Bug: 192542393
Change-Id: I6281ef27bf9cdcb2ad5112b8a0932e4201d69dc2
This reverts commit efab03ff61.
Reason for revert: Breaks sc-dev builds.
Merged-In set to http://ag/15107826 to avoid merging downstream.
Bug: 192558747
Change-Id: Id17caafee41b5aed65b5b294c729a548379aa41a
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
This means prebuilts located in
/vendor/unbundled_google/modules/ArtGooglePrebuilt and
/prebuilts/module_sdk/art are used instead of sources in /art,
/libcore, and /libnativehelper.
Sanitizer and coverage builds builds are excluded, as are builds using
the products art_module_*, armv8, arm_krait, and others in
device/generic/art.
To keep using ART and libcore sources in local builds, set
SOONG_CONFIG_art_module_source_build=true. See art/build/README.md for
further info.
Merged-In set to http://ag/15107826 to avoid merging downstream.
Test: presubmits
Test: vendor/google/build/build_mainline_modules.sh
with a line
build/soong/soong_ui.bash --dumpvar-mode \
SOONG_CONFIG_art_module_source_build
directly before the module build commands in
build_unbundled_mainline_module.sh and check that it's still true.
Bug: 192542393
Merged-In: I8990b726affeb08eabf130d20be45129a7c1c58d
Change-Id: Id719640d17effca107af82de69e45514bf3bd234
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: Ic72702cf9d48367b3de30cf29f68a7e8fb0040ce
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: I2fe09d7a44567f5f3cfd08c89a60e9e94e8fe0e3
Revert "Add install_in_root to cc_binary"
Revert "Add ramdisk_available to init_first_stage's deps"
Revert submission 15071196-init_first_stage_soong
Reason for revert: fixes b/192248690
Reverted Changes:
I23cf4f975:Add ramdisk_available to init_first_stage's deps
Icd98c7e24:Add ramdisk_available to init_first_stage's deps
If9da9ba16:Add ramdisk_available to init_first_stage's deps
Ibc8668029:Add ramdisk_available to init_first_stage's deps
I3b4b8c475:Add ramdisk_available to init_first_stage's deps
I59cd149e0:Completely migrate init first stage to Soong
I36d789578:Add ramdisk_available to init_first_stage's deps
I2a0daa612:Add BUILD_USES_RECOVERY_AS_BOOT to soong config
Ic76c325ce:Directly create ramdisk dirs in ramdisk image rule...
I4c5374deb:Add BOARD_BUILD_SYSTEM_ROOT_IMAGE to config vars
I8aab5faf3:Add ramdisk_available to init_first_stage's deps
I9d5a10661:Add ramdisk_available to init_first_stage's deps
Iaa2edeb4a:Add ramdisk_available to init_first_stage's deps
I7cb582ca0:Update init_first_stage
I06091d15e:Add ramdisk_available to init_first_stage's deps
I8bdb8dda3:Add ramdisk_available to init_first_stage's deps
I7436b8dd1:Add ramdisk_available to init_first_stage's deps
I39693fd86:Add ramdisk_available to init_first_stage's deps
I0a9ba90f0:Add ramdisk_available to init_first_stage's deps
Ib66b4c4ea:Add ramdisk_available to init_first_stage's deps
I31ce63d23:Add ramdisk_available to init_first_stage's deps
Icb580f97c:Add ramdisk_available to init_first_stage's deps
I044a075b7:Add ramdisk_available to init_first_stage's deps
I33164a7e7:Fix ndk and aml arch order
Ib8d92904a:Add ramdisk_available to sysprop_library
Ibc3516453:Add install_in_root to cc_binary
Change-Id: I5e1d58bdb3ebff7125b64a8f2e940f7d203dac74
This is a workaround for the problem that we cannot control from make
which APEX gets picked for deapexing.
Test: env TARGET_PRODUCT=aosp_cf_x86_64_phone \
SOONG_CONFIG_art_module_source_build=false \
build/soong/soong_ui.bash \
--dumpvar-mode SOONG_CONFIG_art_module_source_build
This shows true
Test: env TARGET_PRODUCT=cf_x86_64_phone \
SOONG_CONFIG_art_module_source_build=false \
build/soong/soong_ui.bash \
--dumpvar-mode SOONG_CONFIG_art_module_source_build
This shows false
Bug: 192006406
Bug: 172480615
Change-Id: I8990b726affeb08eabf130d20be45129a7c1c58d
When set, module builds will prefer source where applicable.
Bug: 191978129
Test: m; MODULE_BUILD_FROM_SOURCE=true m
Change-Id: Ie7f928674a511a98f17653fa814a42194ee0e9f9
Merged-In: Ie7f928674a511a98f17653fa814a42194ee0e9f9
Bug: 158843648
Test: check if dexpreopt config for the module defined in mk has
DexPreoptImageLocationsOnDevice field.
Change-Id: Ie8c7b1c8c5a6797f71920d9ce671dde0e1f489a3
Merged-In: Ie8c7b1c8c5a6797f71920d9ce671dde0e1f489a3
(cherry picked from commit 242c4362428a6e0e0093cc739c7f730e73f87af1)
These directories have been created with post install cmds of
init_first_stage. To migrate init_first_stage to Soong, the directory
rules are now written directly in ramdisk image rule.
Bug: 187196593
Test: "m installclean; m" and see ramdisk output
Change-Id: Ic76c325ce102347f20b282572e3edbb5b4359aaf
Merged-In: Ic76c325ce102347f20b282572e3edbb5b4359aaf
It'll be used from init_first_stage.
Bug: 187196593
Test: build
Change-Id: I4c5374debd56fbf9d11b456498835a9c411d01d6
Merged-In: I4c5374debd56fbf9d11b456498835a9c411d01d6
This reverts commit 2e43e34d53.
The kernel bootconfig feature has been updated to handle mixed subkeys
and values, so androidboot.hardware is ok to use now.
Test: build and boot cuttlefish with 'hardware=cutf_vm'
Test: build and boot cuttlefish with 'androidboot.hardware=cutf_vm'
Bug: 191502832
Merged-In: I7c3f330a73abe6cf1fb7d14aaaa6cbc3e874a4aa
Change-Id: I7c3f330a73abe6cf1fb7d14aaaa6cbc3e874a4aa
The droidcore-unbundled target replaces the droidcore
target when TARGET_BUILD_UNBUNDLED_IMAGE=true. This
target is similar to droidcore in terms of dependencies,
but it has a smaller set of dist files. The intention is
to use TARGET_BUILD_UNBUNDLED_IMAGE=true with a
VSDK-using vendor build to supply Java dependencies from
prebuilts to avoid building (or needing) Java framework
sources.
Test: build with and without TARGET_BUILD_UNBUNDLED_IMAGE=true
Test: m nothing dist (before patch)
Test: m nothing dist (after patch)
Test: m nothing dist TARGET_BUILD_UNBUNDLED_IMAGE=true (after patch)
Test: examine ninja build graph for previous 3 tests
Bug: 188176942
Bug: 187064252
Change-Id: Ia7f8200c1bb1aaaa57c177d1698a114efe26bec7
(cherry picked from commit 0a30cc41bc8acd25058d9751a75184cb9504b93b)
This prop is owned by OEM, OEM can set this if they want to disable
VABC.
Test: m dist, make sure generated OTA has VABC disabled
Bug: 185400304
Change-Id: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
Merged-In: Iceb2fb1f399d38a51722352a86ddf68af05fa24e
In the case of unbundled build, the module in vendor should use
system(_ext) module by prebuilt one. But RRO depends on system module
directly depending on some conditions(packages exporting resources)
In this change,
1. Temporarily make LOCAL_RES_LIBRARIES empty(For now, auto generated
RRO doesn't use overlaid package's resources), enable it when prebuilts
are ready.
2. According to (1), its SDK_VERSION can be current)
Bug: 187404676
Test: TARGET_BUILD_UNBUNDLED_IMAGE m vendorimage, and check if there is
no build error regarding RRO.
Change-Id: I94e3122372dd20c942b2c858070a6ca797312792
Merged-In: I94e3122372dd20c942b2c858070a6ca797312792
(cherry picked from commit f93c13d51bff2478d4bcf48c808bc78a5ce0b989)
Disable the generation of .config file when the variable
LOCAL_DISABLE_TEST_CONFIG is true.
Bug: 188927912
Test: rum 'm module-name' (`android_test_helper_app` type module)
Test: TreeHugger
Change-Id: I64372b4ba84fcf1af937abdee345ceb1d3c2f6c5
Merged-In: I64372b4ba84fcf1af937abdee345ceb1d3c2f6c5
For VAB launched device, factory OTA will write system_other
partition to the super image. So we want to check that
sum(dynamic partitions) + system_other + overhead <= super at
build time.
Since we don't know the overhead at build time, we might instead
check sum(all partitions) < super.
Bug: 185809374
Test: m check-all-partition-sizes, unittests
Change-Id: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
Merged-In: Ia7ba5999d23924a1927e9a9463856a4d0ea90c20
(cherry-picked from commit 294ec7d9e5298d91768e0f2e9abe4cc7de180fe1)
Change-Id: I479d1b399a1639b595ae5d7f1481c771a3439e51
BUILD_HOST_EXECUTABLE modules are substantially deprecated, but some
partners are still using them for their bits with the workaround
provided in the product definition. This fixes a build error where
the host module doesn't have a linkable ELF note archive.
MTE is not intended for host modules, and it's fine for us to say
"host module using AndroidMk - no MTE for you" if this changes.
Bug: 189330992
Test: Manually tested using a BUILD_HOST_EXECUTABLE module.
Change-Id: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Merged-In: Ifedff39f2f03c08bfb644221d2ab1b88e635c8a3
Devices using GKI architecture will use a prebuilt boot.img.
However, we should still sign this prebuilt boot.img with
device-specific AVB keys.
Steps to test the CL.
1. In a device BoardConfig.mk:
# Uses a prebuilt boot.img
TARGET_NO_KERNEL := true
BOARD_PREBUILT_BOOTIMAGE := device/google/redbull/boot.img
# Enable chained vbmeta for the boot image.
# The following can be absent, where the hash descriptor of the
# 'boot' partition will be stored then signed in vbmeta.img instead.
BOARD_AVB_BOOT_KEY_PATH := external/avb/test/data/testkey_rsa4096.pem
BOARD_AVB_BOOT_ALGORITHM := SHA256_RSA4096
BOARD_AVB_BOOT_ROLLBACK_INDEX := $(PLATFORM_SECURITY_PATCH_TIMESTAMP)
BOARD_AVB_BOOT_ROLLBACK_INDEX_LOCATION := 2
2. `make bootimage`, then `avbtool info_image --image $OUT/boot.img`,
checks the image is re-signed with a device-specific key
3. `make dist` to generate out/dist/TF.zip
4. `unzip out/dist/TF.zip IMAGES/boot.img`
5. `avbtool info_image --image out/dist/IMAGES/boot.img`,
checks the image is re-signed with a device-specific key
6. `sign_target_files_apks \
--avb_boot_key=external/avb/test/data/testkey_rsa8192.pem \
--avb_boot_algorithm=SHA256_RSA8192 \
--avb_boot_extra_args="--prop test:sign" \
./out/dist/*-target_files-eng.*.zip signed.zip`, resign the TF.zip
7. `unzip signed.zip IMAGES/boot.img`, then use `avbtool info_image` to
check the boot.img is re-signed with the --avb_boot_key in step 6.
Bug: 188485657
Test: above steps
Change-Id: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
Merged-In: I7ee8b3ffe6a86aaca34bbb7a8898a97b3f8bd801
(cherry picked from commit cf9ead8972dd2b7c90772b6a1fd26bd4311a7c74)
This reverts commit 80e99d8851.
Reason for revert: relanding CL after fixing barbet-userdebug build.
Bug: 132357300
Change-Id: I4b8e22847215b349393f01f6c0a90dd03b6073cd
Test: on branch sc-dev: lunch barbet-userdebug && m
Starting from Android 10, the system.img layout consists of
$TARGET_SYSTEM_OUT and $TARGET_ROOT_OUT, and is mounted by the
init as root. That is, system.img is always created as if
BOARD_BUILD_SYSTEM_ROOT_IMAGE was set.
https://source.android.com/devices/bootloader/partitions/system-as-root
The previous concern is that there might be compatibility issues between
the ramdisk contained in boot.img with a newer system.img. But this is
no longer an issue after we always mount the system.img as root.
Bug: 187157581
Test: Tree Hugger
Change-Id: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
Merged-In: I4537e6ce6fb39b4b86caac82a13716abf515ffd6
(cherry picked from commit 640544bd96946b5a512c59d42e3f3c24682697fe)
This reverts commit ad645285a6.
Reason for revert: relanding CL after fixing git_sc-car-dev builds and
other build failures.
Bug: 132357300
Test: on branch sc-dev: lunch seahawk-userdebug && m
Test: on branch sc-dev: lunch osprey-userdebug && m
Test: on branch sc-dev: lunch factory_pipit-userdebug && m
Test: on sc-dev: lunch cf_x86_phone-userdebug && m droid dist tests
Test: forrest build partner-s-d1-fs-dev-slider/aosp_slider-userdebug:
https://android-build.googleplex.com/builds/forrest/run/L22600000889121228
Change-Id: I74789903bd91d3bb45c69031fcbaf3556cb29408
This reverts commit b6d1b48f9f.
Reason for revert: This change is breaking seahawk-userdebug
BUG: 188108611
Change-Id: I15b737e2778d437ecbef6ab9f43345da407f2205
This reverts commit 4caef2b8c8.
Reason for revert: relanding original CL after fixing r11-userdebug.
Bug: 132357300
Test: forrest build for git_master/r11-userdebug
Change-Id: I62268f331c76f31a80b610754c53543b9b59a1c6
This reverts commit a700ad4651.
Reason for revert: relanding original CL with correct Merged-In tag.
Use "Merged-In" tag from CL ag/14062434 to prevent merging in the
stage-aosp-master branch. That CL is unrelated to the current CL,
but related to <uses-library> checks in general.
Bug: 132357300
Change-Id: I10de5b56c51a0407bf027e0be5ac3b0b307cf100
Test: treehugger
Merged-In: I21712e5197b3cb06e82e476f4c2f7277142034e9
Use "Merged-In" tag from CL ag/14063987 to prevent merging in the
rvc-qpr-dev-plus-aosp branch. That CL is unrelated to the current CL,
but related to <uses-library> checks in general.
Bug: 132357300
Test: treehugger
Change-Id: If31a9ed148e4f1195bf916a650d0afafef3d6915
Merged-In: I26f2887357193b0d4bb951fa5bb09384c149b381
(cherry picked from commit feeb6bcd1e)
Background in http://go/compatible-build-fingerprint. If we want
to append unique vbmeta digest to build id, we cannot setup the
prop value at build time. Instead, set the old value as
ro.build.legacy.id; and let init set ro.build.id at runtime.
Bug: 186786987
Test: build a target file with the flag on
Change-Id: Ie139725bb7e5c65bd3f28f43b9975ba48ee10354
dex_preopt_odex_install.mk referenced $(built_module), which is only
set by some prebuilt modules, leaving old values when building
non-prebuilt modules. Use $(LOCAL_BUILT_MODULE) instead, which is set
for all modules by base_rules.mk.
Test: manual
Change-Id: Iecf092f9869d5edda3671d0999987906781d023e
This allows Soong side changes to treat SystemServerJars as
android.ConfiguredJarList, same as boot jars.
Bug: 180105615, 155630745
Test: m && launch_cvd
Change-Id: I717d4351edcd82028ac19cb9265e18b98d11c661
Some gts tests such as JniUncompressGtsTestCases need native libraries
and those should be located under android-gts/lib.
Test: confirmed that the android-gts.zip includes lib folder
Bug: 186595833
Change-Id: I7d0605d0aff861059e3788630585e9ba412f9cac
Use an order-only dependency from $(LOCAL_BUILT_MODULE) to the symbols
file so that wiping the symbols directory during installclean doesn't
force anything to rebuild.
Bug: 186507256
Test: m && rm -rf $OUT/symbols && m
Change-Id: Ic164819c71f9db6126ff91c58752c8727cde0d5e
Currently the debug ramdisk resources might be under / or
/first_stage_ramdisk of the ramdisk, and is determined by
some BOARD variables, e.g., BOARD_USES_RECOVERY_AS_BOOT,
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT, etc.
To make a generic boot-debug.img that can work on both devices,
let's move the debug resources always under / of the ramdisk.
Bug: 186082603
Test: boot a device with boot-debug.img
Test: boot a device with vendor_boot-debug.img
Change-Id: I55dc8ff322f6b97e2d6dc1a4ee5935e863f2f835
To dexpreopt in post processing, store config files for dexpreopt
Bug: 158843648
Test: m dist and check dexpreopt_config.zip
Change-Id: I5c63a5ffc10023994b14e3a63f50defb9194739f
This CL modifies the build system to skip checking of init.rc files if
TARGET_BUILD_UNBUNDLED is set. This is necessary because several of the
artifacts required by the host_init_verifier program aren't present in
unbundled builds.
Test: m
Change-Id: I37be43af81057c5adddc1b80a04d74a090183bc7
module-lib and system-server are not supported in Make, remove them
from TARGET_AVAILABLE_SDK_VERSIONS.
Also replace the hardcoded test_current version with the one found in
the prebuilts.
Fixes: 185903998
Test: get_build_var TARGET_AVAILABLE_SDK_VERSIONS
Change-Id: I745fbcf019092ec27a9903c48fdb95e892c02e3e
Rename ro.product.enforce_debugfs_restrictions appropriately to
ro.product.debugfs_restrictions.enabled as per the sysprop naming
scheme.
Test: build, boot
Bug: 184381659
Change-Id: I65265098caf6382583aa53811f1b3330e58141c0
To prevent the argument be cleaned if the same module name with
different unit_test value, treat it as unit test if one of the module is
treated as unit tests.
Bug: 176096135
Test: m out/target/product/generic/module-info.json
Change-Id: Iee4ee1063d47dcba1aaf915ec9e4e56f8c7df787
Soong supports references to other modules for vintf_fragments property,
so full paths need to be passed from Soong to make rather than module
local paths.
Test: m droid
Bug: 184567830
Change-Id: Ia7f1cf977de8aeb08d41624277ff6231198222e5
add_json_bool treats non-empty variable as "true" by default (which is
conventional in make). Fix treatment of PRODUCT_COMPRESSED_APEX to
support the value false.
Bug: 185537646
Test: OVERRIDE_PRODUCT_COMPRESSED_APEX=false m nothing && \
grep CompressedApex out/soong/soong.variables
Change-Id: I0562a375be377ab67a1d064e37aff5970c4ac8dd
CFI has been enabled for 32-bit builds but this option
still only works for 64-bit builds
Bug: 179233410
Change-Id: I3a9fed728489021f6c062ad45082b0a2705cec51
When constructing the dexpreopt config it will strip out any entries in
ART_APEX_JARS which are not present in PRODUCT_BOOT_JARS and store the
remainder in ArtApexJars.
Bug: 185391652
Test: lunch sdk_phone_x86_vendor && m nothing
lunch sdk_phone_x86 && m nothing
Change-Id: I403ef9768a8ac2d222bbd6cfd0a68a2019f67c16
Before this change, exclude paths disabled sanitization of targets that
would otherwise be enabled by SanitizeDevice product variable (aka
SANITIZE_TARGET).
With this change, in addition to the above logic, exclude path disables
sanitization of targets that would otherwise be enabled by the
corresponding include path.
Effectively, this change disables sanitization of targets that are
covered by *both* include and exclude paths.
Test: MEMTAG_HEAP_SYNC_INCLUDE_PATHS=system/extras \
MEMTAG_HEAP_EXCLUDE_PATHS=system/extras/su m su && \
readelf -n path/to/su | grep .note.android.memtag
Bug: b/184976817
Change-Id: Ifa44b85556c6468fe5a37b5e6864c4ce9561ae2b
Some libraries that go through manifest_check do not have a manifest or
APK, so there is nothing to check LOCAL_USES_LIBRARIES and
LOCAL_OPTIONAL_USES_LIBRARIES against. Handle it as if the manifest had
zero <uses-library> tags: don't fail the build unless the module has
non-empty LOCAL_USES_LIBRARIES or LOCAL_OPTIONAL_USES_LIBRARIES.
Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m
Change-Id: I4b1317cfbd93cb6129caba51b56081307a564442
Starting with Android R, debugfs cannot be mounted on production
devices. In order to minimize the differences w.r.t debugfs between user
and userdebug/eng builds, enforce a set of run-time and build-time
restrictions on debugfs access for S launch devices and newer. For
non-user builds, debugfs can still be accessed by root and by the
dumpstate HAL during bugreport collection.
Bug: 184381659
Test: build/boot
Change-Id: I2af49acd8a5b3440c6ecbf365ab43cdb33ff897a
Small typo in the AndroidMk sanitizer config, where adding heap MTE
ended up promoting CFI to diagnostic CFI accidentally, where this isn't
a valid transformation.
Bug: 184397138
Test: lunch aosp_sunfish-userdebug
Test: PRODUCT_MEMTAG_HEAP_ASYNC_INCLUDE_PATHS=\
Test: "hardware/qcom frameworks/opt/net/wifi" \
Test: CFI_INCLUDE_PATHS=hardware/qcom \
Test: m libwifi-hal
Change-Id: I74a03debf0042f2ee004503dd4a0e81131bd9fde
aosp/1664081 introduces a bug where if BOARD_VENDOR_RAMDISK_FRAGMENTS is
empty, then INTERNAL_VENDOR_RAMDISK_FRAGMENTS would become " " (single
whitespace).
Just unconditionally $(strip ...) the variable to remove any extra
whitespace.
Bug: 183395459
Test: m dist and check *-target_files-*.zip
Change-Id: Ic842756f3a64c073593592d22c980820664e11c1
If BOARD_BOOT_HEADER_VERSION >= 4,
BOARD_MOVE_RECOVERY_RESOURCES_TO_VENDOR_BOOT is true and
BOARD_INCLUDE_RECOVERY_RAMDISK_IN_VENDOR_BOOT is true, then build
recovery as a standalone ramdisk fragment in vendor_boot image.
The recovery ramdisk would be a vendor ramdisk fragment packaged in
vendor_boot, whose ramdisk_name is "recovery" and ramdisk_type is
"VENDOR_RAMDISK_TYPE_RECOVERY".
Bootloader can omit loading the recovery ramdisk during normal boot to
optimize the size of the initramfs.
Bug: 183395459
Test: Presubmit
Test: Modify BoardConfig of CF and m dist. Verify the vendor_boot.img
with unpack_bootimg.
Test: Strip the vendor_boot of the recovery ramdisk, and verify that CF
can boot to normal boot without the recovery ramdisk.
Change-Id: I6e9a2781ec87aece10d4844fa18bbe9a7b4674e6
Soong supports references to other modules for init_rc property, so full
paths need to be passed from Soong to make rather than module local
paths.
Test: m droid dist
Bug: 184567830
Change-Id: Ib1873a3418830f5cbf32e26f55d3ad0ab0d9c9c5
Package jacoco-report-classes.jar, proguard_usage.zip and
proguard_dictionary out of directories in $OUT/obj/PACKAGING
so that they get cleared by m installclean. This will make
incremental builds that package these files accurate as long
as installclean was run, which is much faster than a full clean
build.
Bug: 184583915
Test: m TARGET_BUILD_APPS=DeskClock EMMA_INSTRUMENT=true dist
Change-Id: I60c6a0fec1fbce26eab8d5adab25a2231b48e251
Starting with Android R launched devices, debugfs cannot be mounted in
production builds. In order to avoid accidental debugfs dependencies
from creeping in during development with userdebug/eng builds, this
patch introduces a build flag that can be set by vendors to enforce
additional debugfs restrictions for userdebug/eng builds. The same flag
will be used to enable sepolicy neverallow statements to prevent new
permissions added for debugfs access.
Bug: 184381659
Test: make with/without PRODUCT_SET_DEBUGFS_RESTRICTIONS
Change-Id: I9aff974da7ddce9bf1a7ec54153b161527b12062
This adds the requisite Make logic to handle Rust vendor modules.
Bug: 184042776
Test: Example cc_library vendor module can depend on rust_ffi_shared.
Test: Example rust_library vendor-only module compiles.
Change-Id: Ib5ef6b403ca7e19a2aac9b77ff08b051425ea019
Same as rust tests with additional parameter.
Test: atest <module with rust_benchmark defined>
Bug: 155309706
Change-Id: Ia734c17bcb0776bbc628ad1e7257a1b38cdb2e4e
Similar to commit Ic887ea93d4c5181eca0f82c3cdf3ce3b72f4c185
for boot-debug.img, we should also only build boot-test-harness.img
if boot.img exists.
Bug: 184365242
Test: tree hugger
Change-Id: Ie0d9e460905d488e418cf4ee1bd44e6e7c58470d
GRF devices must define the API level of which the SoC is first
shipped by setting BOARD_SHIPPING_API_LEVEL. As this is a permanent
value, vendors may not change this value even if they implement new
features under the GRF policy.
BOARD_API_LEVEL can be optionally defined in this case to manually
set the api level of the vendor implementation.
The current api level will be set to `ro.board.api_level` property.
Bug: 176950752
Test: atest --host post_process_props_unittest
Change-Id: Ib126c1a622ded9848650f3f60c0f15005867272d
Usage:
```
BOARD_(VENDOR|VENDOR_RAMDISK)_KERNEL_MODULES_OPTIONS_FILE(_ver) := \
$(wildcard <path of modules.options in source tree>)
```
Then the modules.options would be installed as
(vendor_dlkm|vendor_ramdisk)/lib/modules/(ver/)modules.options.
Also fix bug where the kernel version subdir is missing when generating
modules.blocklists file.
Bug: 182417593
Bug: 184238876
Test: Create a options file with incorrect syntax, verify build fails
Test: Verify the new macro indeed installs the options file
Change-Id: I7ba56e9dd8d73055bc276446c385a8d79080c2a6
Add more checks around BOARD_BOOT_HEADER_VERSION in board_config.mk.
Refactor generation logic of vendor_boot ramdisk fragments.
Consolidate initialization and validation check to its own section.
Adjust some variable names and initialization sequence so the follow-up
change can land more cleanly.
Rename variable name "dir" so that it don't collide with the Makefile
function "$(dir ...)".
Bug: 183395459
Test: Presubmit; Change should be no-op with respect to build artifacts.
Test: Modify BoardConfig of CF and m dist. Verify the vendor_boot.img
with unpack_bootimg.
Change-Id: I8785c40dd9f87f3797a56ada93e65939d27d0e9b
If a build has PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS
set (which is set for P+ builds) but no kernel is built,
the original code emits a warning, but it won't be able
to build target files package because it depends on
kernel_configs.txt and kernel_version.txt without any rules.
Properly clear BUILT_KERNEL_CONFIGS_FILE and BUILT_KERNEL_VERSION_FILE
so that it won't be depended on in this case.
Bug: 184128489
Test: TH + forrest
Change-Id: I4b8fbd117f114555cf606e3c3b48eb564dbe786b