Now newer system policy and older vendor policy can be built together by
setting following variables:
- BOARD_SEPOLICY_VERS
- BOARD_REQD_MASK_POLICY (copy of older system/sepolicy/reqd_mask)
- BOARD_PLAT_VENDOR_POLICY (copy of older system/sepolicy/vendor)
- BOARD_(SYSTEM_EXT|PRODUCT)_(PUBLIC|PRIVATE)_PREBUILT_DIRS (copy of
older system_ext and product policies)
Bug: 168159977
Test: try normal build and mixed build
Test: boot and check selinux denials
Change-Id: I4e2890c96cab69e60c83c60f8c396cfe049ec05b
The APEX symlink optimization is a build-time trick to save the
storage/RAM usage of APEX by replacing some files in APEX with symlinks
to the files in the system partition. The optimization however is
automatically turned off for 'updatable: true' APEXes because doing the
optimization for them will hide the sys-health implication until when
the APEXes are built unbundled (i.e. prebuilt) and thus the
optimization is impossible.
TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION forcibly disables the safety net.
When it is set to true, the symlink optimization is done regardless of
the 'updatable' property. This is useful for some of the devices like Go
where most APEXes (even the 'updatable: true' ones) should be
effectively non-updatable.
Bug: 175630508
Test: TARGET_FORCE_APEX_SYMLINK_OPTIMIZATION=true m and check that
updatable APEXes have symlinks to system libs
Change-Id: I261fd4ab2dd8e62ff435306b11168121cbcf662a
Add the list for product_available VNDK list.
This will be frozen by the release process.
Bug: 174323911
Test: build
Change-Id: Ic5f045d9210b09eef6d6c15230e8177d8c98bd22
The patch rename the original ro.product.cpu.abilist* to
ro.system.product.cpu.abilist*. The property service will
define ro.product.cpu.abilist* by the intersect ABIs of
ro.{partition}.product.cpu.abilist*.
Bug: 176520383
Test: build aosp_arm64-userdebug and check the system/build.prop
Change-Id: I26e404632b28e9f6abd462920e0084ad2022a763
Goldfish specific board variable:
BOARD_EMULATOR_DYNAMIC_PARTITIONS_SIZE
is used to create misc_info.txt, which is needed to mix GSI or CSI on
Goldfish vendor image, and need to reflect the size of the current
super.img, which is now set to 4G+8M (from 3G+8M previously).
Bug: 174442566
Test: $ lunch aosp_x86_arm-userdebug; m
$ ls -l $OUT/super.img # make sure it's 4 GB
$ grep -i dynamic_partitions_group_size $OUT/misc_info.txt
super_emulator_dynamic_partitions_group_size=4294967296
Change-Id: Idd0fb302b20780ac97959fabec231a632205d46d
Current super image for GF is almost full in sdk_gphone_x86_arm
product, and not big enough to include CSI for mixed configuration,
which is a bit bigger than the system image of sdk_gphone_x86_arm.
Bug: 174442566
Test: $ lunch aosp_x86_arm-userdebug; m
$ ls -l $OUT/super.img # make sure it's 4 GB
Change-Id: Ia2473231c8490995a10700cbd6e0f82598a5e078
All unit_tests:true are run in presubmit which avoids
the explicit definition of TEST_MAPPING.
Test: presubmit runs all those tests
Bug: 175408655
Change-Id: Ibfad3fe2dd8d2fa1ebc6f6bcbd8ab34c2a0069dc
Not needed as the host-unit-tests suite runs in
presbumit now and cover this
Test: None
Bug: 175408655
Change-Id: Iea3e3cd7f696f43b6c686ef9cbee1194f514e589
If that happens it will be left out entirely.
It would be nice to catch this on the Soong level, but there are
several separate code paths there so this ensures it isn't missed.
Test: `m nothing` with packages/modules/ArtPrebuilt/Android.bp that
had this mistake
Bug: 172480615
Change-Id: I2d31679b2ca5b57bf14f35703c10093275209890
Common ro.product properties are always generated for the
product partition, even if it is not present. This was introduced
for the R release with Ia88c8efecb18db9c27baa466e492bfd898b581d3
"Generate product build props always" commit.
It violates CDD requirements for the devices which were released
earlier. Add optional parameter to build-properties which allows to
skip the common properies generation and product partition specific
checks to make sure common properties are not generated for
the devices released before R and without product partition.
Test: manual, build product/etc/build.prop for shipping levels 28, 30
and for the devices with and without product partitions
Bug: 174677451
Change-Id: Ia3275d7229d0a873e0a4f1d1ea7a25c758c85bb9
Enables us to switch the default in .bp files, so ART prebuilt builds
can be tested with `m SOONG_CONFIG_art_module_source_build=false`.
Test: m
Test: m SOONG_CONFIG_art_module_source_build=false
Test: `m nothing` on some lunch targets that failed on internal
Bug: 172480615
Change-Id: I78725f77819dc29b47d2438dfe724532e4d2df47
Add support for partitioning the vendor_boot kernel modules into
multiple vendor ramdisk fragments. The partition granularity is kernel
module directory. This mechanism builds upon the existing
BOARD_KERNEL_MODULE_DIRS mechanism. For example, say we have three
kernel module directories:
BOARD_KERNEL_MODULE_DIRS := foo bar baz
We can then define a vendor ramdisk fragment:
BOARD_MKBOOTIMG_ARGS += --header_version 4
BOARD_VENDOR_RAMDISK_FRAGMENTS := dlkm_foobar
And let said ramdisk to contain the DLKM directories "foo" and "bar":
BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm_foobar.KERNEL_MODULE_DIRS := foo bar
BOARD_VENDOR_RAMDISK_FRAGMENT.dlkm_foobar.MKBOOTIMG_ARGS := <mkbootimg args>
The built vendor_boot image would contain two ramdisks.
The first one being the "default" ramdisk, which contains DLKM directory
"baz" and the rest of the files that get's installed to
$(TARGET_VENDOR_RAMDISK_OUT).
The second one is the "dlkm_foobar" ramdisk, which contains the two DLKM
directories.
Design doc: go/vendor-boot-v4
Bug: 162864255
Test: Modify BoardConfig.mk to have a product build v4 vendor_boot
Test: Use unpack_bootimg to verify the vendor_boot image
Test: Teach a bootloader how to handle v4 boot image, flash boot &
vendor_boot and boot device
Change-Id: Ibb1bbd7ebe36430c55ec6c4818c1d3888a319089
jacocoagent and its dependencies emits artifacts to system/,
hence it belongs to base_system.mk. It was rather incorrect
to add jacocoagent to EVERY product makefile because those
product makefiles may be enforcing artifact path requirements
(e.g. generic_ramdisk.mk).
Test: EMMA_INSTRUMENT=true m nothing
Bug: 175605139
Bug: 173742069
Change-Id: If9cb93ab8fd69d11e764ab830dc791bbe6106cf5
libwebrtc_audio_processing is no longer used by audio
preprocessing effects
Bug: 175749641
Test: Builds
Change-Id: Id60fe90d481ae74ea617260fb3cf88c0cc7da79b
Revert "Memtrack HAL stable aidl sepolicy"
Revert "Add android.hardware.memtrack-unstable-ndk_platform"
Revert submission 1518702-memtrack-aidl
Reason for revert: Broken tests and boot time regressions
Reverted Changes:
Ic4dd70e2c:Add android.hardware.memtrack-unstable-ndk_platfor...
Iaf99d0ca4:Add stable aidl memtrack HAL to product packages
Iac54ae2ba:Add stable aidl memtrack hal to vndk list
If310210a3:libmemtrack: Add support for AIDL memtrack HAL
Ib6c634def:Memtrack HAL: Add stable AIDL implementation
I5e1d0e006:Memtrack HAL stable aidl sepolicy
Change-Id: I922441bf3629a5d50672f1466a1f52fb9e2c3cb0
Prior to this the generic_* devices were typically used for this
purpose. There are a few reasons to create new specific ones:
- the generic_arm64 device has a hack specifically for building
multi-arch packages that we want to avoid
- the generic_* devices include a bunch of emulator config that does not
make sense for unbundled builds
Bug: 172256440
Test: verify unbundled builds migrated from generic_* don't change
Change-Id: Ia937461aa24a5d5b542f8688a1b71ac3fdeb596b