Commit graph

56009 commits

Author SHA1 Message Date
Treehugger Robot
eed4e1324e Merge "Make backend for shared library fuzzing." 2019-11-08 21:35:08 +00:00
Treehugger Robot
ec77036a4e Merge "Introduce audio V6 HAL" 2019-11-08 17:31:42 +00:00
Colin Cross
9c28a4a15c Merge "Fix turbine classpath arguments in Make" 2019-11-08 15:07:44 +00:00
Martin Stjernholm
c91616fabd Merge "Revert submission of topic 'libdl_android-in-apex'" 2019-11-08 11:51:39 +00:00
Remi NGUYEN VAN
97ed14a7fe Merge "Use NetworkStackNext as preinstalled network stack" 2019-11-08 10:06:35 +00:00
Mitch Phillips
3adbcb31ea Make backend for shared library fuzzing.
Additional context (for Googlers): go/android-fuzzing-shared

This patch adds the Make support for automatically installing sanitized
dependent shared libraries. 'make $module' will find all the shared
library dependencies in soong, and create the rules to install them. We
simply need to add the <install sanitized shared library> rule that's
made by Soong as a dependency of the module's phony.

We also now change 'm fuzz' to not just build the fuzz packages, but to
build all fuzz targets into the respective
$ANDROID_PRODUCT_OUT/data/fuzz and $ANDROID_HOST_OUT/fuzz directories.

Bug: N/A
Test: Build fuzz target with shared libs, note the contents of
$ANDROID_PRODUCT_OUT/data/fuzz/lib and out/soong/fuzz-target-*.zip now
has shared libraries.

Change-Id: I74def02fee663ef788ee25ec0d5106faf474c2a6
2019-11-07 15:39:34 -08:00
Mikhail Naganov
0ee9b3edc9 Introduce audio V6 HAL
Test: push V6 to device and check audio works fine
Bug: 134940862
Change-Id: I761d05708d99287b9fe255c55724f92c8a3388e7
Merged-In: I761d05708d99287b9fe255c55724f92c8a3388e7
Signed-off-by: Kevin Rocard <krocard@google.com>
2019-11-07 14:44:52 -08:00
Treehugger Robot
654fdb5edd Merge "Fix Virtual A/B size checks" 2019-11-07 21:17:45 +00:00
Treehugger Robot
9e61bf053f Merge "dynamic_partitions_info.txt: use dump-dynamic-partitions-info" 2019-11-07 20:49:45 +00:00
Treehugger Robot
4c98469598 Merge "Remove the cert for GooglePermissionController" 2019-11-07 19:59:03 +00:00
Henry Fang
7df5b71c74 Merge "update build file to include cas@1.2" 2019-11-07 19:33:33 +00:00
Yuexi Ma
bd72ff7711 Revert submission of topic 'libdl_android-in-apex'
Reason for revert: broke numerous major apps in app compat testing
Bug: 144100240

Change-Id: I29d8286c977e357c012392db5ae65ca211f4d2a9
2019-11-07 19:19:44 +00:00
Martin Stjernholm
65e4ce6ebc Merge "Add libdl_android as a bootstrap library." 2019-11-07 11:01:36 +00:00
Treehugger Robot
0c9d914eef Merge "Enable overrides for ETC modules" 2019-11-07 02:04:42 +00:00
Henry Fang
d0e1aa4a83 update build file to include cas@1.2
Test: Manual
bug: 141783130
Change-Id: I4692b21a15685cfa4377d3aa3219a4f424530506
Merged-In: I4692b21a15685cfa4377d3aa3219a4f424530506
2019-11-06 22:58:44 +00:00
Jaewoong Jung
7c7dfcdf54 Enable overrides for ETC modules
Bug: 143975137
Test: TreeHugger
Change-Id: I8290d06726d8aabe265022cd84ec2ea97eff7acf
2019-11-06 14:08:59 -08:00
Martin Stjernholm
88ff58f8a7 Add libdl_android as a bootstrap library.
Necessary after moving it into the Runtime APEX, as several framework
libraries loaded during early boot depends on it, e.g. libvndksupport.so,
libvulkan.so, and libgraphicsenv.so.

Test: build & boot
Bug: 135753770
Change-Id: I5862ba57485bdaffd452aac47c5931863823075d
2019-11-06 20:38:44 +00:00
Remi NGUYEN VAN
7b7af54259 Use NetworkStackNext as preinstalled network stack
NetworkStackNext is the build of the network stack targeted at the
next API, e.g. system_current and not system_29.

While NetworkStack is a mainline module that needs to be built with a
stable SDK (system_29), NetworkStackNext is necessary to test
functionalities that require the in-development SDK (system_current).
Using NetworkStackNext preinstalled on development builds allows for
testing the new APIs and functionalities.

NetworkStackNext is also configured with a mainline module package name
on targets that use mainline modules; but it is not intended to receive
mainline updates.

Once system_current is finalized (system_30 ?), NetworkStack can start
using it, and the system image should switch back to NetworkStack
instead of NetworkStackNext.

Bug: 139269711
Test: Built, phone boots, WiFi working
Change-Id: I885b2c441b99daa3165a4a365738682958478291
2019-11-06 10:27:20 +00:00
Jordan Liu
2bbfa528b3 Merge "Add CellBroadcastServiceModule to mk" 2019-11-06 00:41:51 +00:00
Josh Gao
c274348f66 Merge "Build the adbd apex." 2019-11-05 23:36:39 +00:00
Yifan Hong
96527f375f Fix Virtual A/B size checks
Test: build
Test: test_check_partition_sizes
Bug: 143111912
Change-Id: I4e056c25948e4169a0b5b098168141e27c31a0d4
2019-11-05 14:06:23 -08:00
Jordan Liu
382309520d Add CellBroadcastServiceModule to mk
Bug: 135956699
Test: m -j30 (verify that build includes CellBroadcastServiceModule)
Change-Id: Ib2d734ba2ed3608a4255164e6e50dac349eb9a18
Merged-In: Ib2d734ba2ed3608a4255164e6e50dac349eb9a18
2019-11-05 11:28:36 -08:00
Treehugger Robot
f5ad6e5443 Merge "Support Factory OTA for Virtual A/B devices" 2019-11-05 18:47:01 +00:00
Yifan Hong
bfcfa8c18f Merge changes from topic "dap_size_check_python"
* changes:
  Skip checking vendor partition size on AOSP targets
  Reland "Move partition size checks to python script"
2019-11-05 17:53:39 +00:00
Treehugger Robot
db49de8560 Merge "Fix and generate vndk snapshot entirely in Soong" 2019-11-05 03:48:51 +00:00
Yifan Hong
fe07343fed Support Factory OTA for Virtual A/B devices
In Factory OTA, secondary payload should be generated without
virtual_ab flag set, so that update package generator generates
a regular A/B OTA (with snapshot_enabled set to false), and
OTA client writes system_b without snapshots.

Test: apply secondary OTA
Fixes: 138733621
Change-Id: I05d534a12d4a7891ce5597f3c29e55f5185e5a8d
2019-11-04 15:14:26 -08:00
Colin Cross
dd386dc9ac Merge "Use system modules for turbine in Make" 2019-11-04 18:54:32 +00:00
Ulyana Trafimovich
6dc79ada3d Merge "Disable dexpreopt on targets that do not include default ART config." 2019-11-04 12:04:04 +00:00
Anton Hansson
871d39c40e Merge "Ensure current product use PRODUCT_* vars directly" 2019-11-04 10:35:48 +00:00
Jiyong Park
479cc84706 Merge "Avoid path conflicts for the notice files" 2019-11-04 09:46:42 +00:00
Treehugger Robot
27fe9add1d Merge "Bump PRODUCT_SHIPPING_API_LEVEL to 29 for CSI" 2019-11-04 04:48:12 +00:00
Jiyong Park
e12c862013 Avoid path conflicts for the notice files
Path conflicts could happen when following conditions are met.
1) a java library named "foo" is not installable.
2) a java library named "bar" is installable, and its stem is set to
"foo".

Then the notice file for 1) becomes foo.jar.txt following its
LOCAL_MODULE, while the notice file for 2) becomes foo.jar.txt following
its stem. Since the file for 1) is a synthetic one, the actual name
isn't important. Avoid the conflict by appending a suffix
(_non_installable, but could be anything) to the file name for 1).

There still is a chance for the conflict; if the stem for "bar" is set
to "foo_non_installable". But practically, the chances are very low.

Bug: 139391334
Bug: 143700028
Test: m
Change-Id: Id50b30774bbf65cc180baf963a95ea56fe6eb74f
2019-11-04 10:30:34 +09:00
Peter Collingbourne
227ad08281 Merge "Add support for $(TARGET_EXPERIMENTAL_MTE) in product configs." 2019-11-02 02:00:22 +00:00
Yifan Hong
cb8e2755ff dynamic_partitions_info.txt: use dump-dynamic-partitions-info
Use the same procedure to avoid code duplication.
Note that dump-dynamic-partitions-info not only has more information,
but also changes keys:
- from X_size to super_X_group_size
- from X_partition_list to super_X_partition_list

delta_generator is updated to recognize these new keys as well.

Test: build ota package
Test: forrest
Change-Id: I6a973fc113fb80b352822a14991cad027c72cf06
2019-11-01 17:27:02 -07:00
Yifan Hong
60bfcc4fac Skip checking vendor partition size on AOSP targets
AOSP targets doesn't have INSTALLED_VENDORIMAGE_TARGET defined.

Fix dump-dynamic-partitions-info to filter out vendor
from dynamic partition lists.

Then, check_partition_sizes.py reads info without vendor
in dynamic partition list for AOSP targets.

Test: forrest
Bug: 143734706

Change-Id: I788196d854c1cf3eea218d534599f8bf642120fc
2019-11-01 17:04:27 -07:00
Peter Collingbourne
784db1a741 Add support for $(TARGET_EXPERIMENTAL_MTE) in product configs.
We are bringing up support for ARM Memory Tagging Extension in the platform,
but the required patches have not yet landed in the upstream kernel. This
change adds support for a product variable that products may set to true to
declare support for an experimental userspace interface to MTE. Setting the
variable to true causes a product configuration to be enabled which will
activate code in bionic and scudo that uses the interface.

This variable should not be set to true in shipping products because
the userspace interface has not been finalized and is subject to change.
Once the support patches have landed in the kernel, bionic and scudo will
be changed to use the official interface and the variable will be removed.

Bug: 135772972
Change-Id: Ie3d2619bc09c134e0da073c65805e7ec049687e1
2019-11-01 15:33:52 -07:00
Colin Cross
665ebbe471 Fix turbine classpath arguments in Make
We were passing "--classpath foo.jar --classpath bar.jar" to turbine,
it now wants (and may always have expected?)
"--classpath foo.jar bar.jar".

This is equivalent to Ib7e0ca64a34e236110f7b785d6a0fb51ed75567e in
Soong.

Test: m java
Change-Id: I061ebf302a215c66b1923056716b60bf0160d9bc
2019-11-01 13:35:17 -07:00
Colin Cross
f0add55066 Use system modules for turbine in Make
turbine supports taking system modules on the command line,
now that we target Java language level 1.9 and use system modules
by default switch turbine to match javac.

This is equivalent to Ieee07502151da0d5693bb8929213d495c039106b
in Soong.

Test: m java
Change-Id: Ib91c6f57b316f48f1ab819e4e1d2dc2e0ee42988
2019-11-01 13:34:46 -07:00
Yifan Hong
3a7c2ef7cc Reland "Move partition size checks to python script"
This reverts commit 0141e45b96.

Reason for revert: Fixed in follow-up CL
Test: forrest
Bug: 143734706

Change-Id: I007acf228d4fb4d6a16ae9089e3f04cf33a567bb
2019-11-01 11:41:26 -07:00
Ulya Trafimovich
5877cec1fa Disable dexpreopt on targets that do not include default ART config.
Dexpreopt build commands should only be generated on targets that
include build/make/target/product/runtime_libart.mk, which sets the
necessary variables such as PRODUCT_SYSTEM_DEFAULT_PROPERTIES that
contain default values passed to dex2oat. This file also sets a
variable PRODUCT_USES_DEFAULT_ART_CONFIG that is used in
build/make/core/dex_preopt.mk to decide if boot images should be
installed.

On some targets build/make/target/product/runtime_libart.mk is not
included. Prior to this patch, on such targets invalid dexpreopt
commands were generated, but not used, so they did not cause any
visible build failures. The invalid commands can be grepped as:

  lunch qemu_trusty_arm64-userdebug && m nothing \
    && fgrep -e '-Xms ' $ANDROID_BUILD_TOP/out/soong/build.ninja

In this case '-Xms ' is an ill-formed option passed to dex2oat (the
option expects one argument, but none is passed).

This patch makes the DisablePreopt variable passed from make to
soong more strict: it not only requires WITH_DEXPREOPT, but also
PRODUCT_USES_DEFAULT_ART_CONFIG. This means that dexpreopt commands
will not be generated on targets that do not include
build/make/target/product/runtime_libart.mk.

Test: lunch aosp_walleye-userdebug && m \
    && find $ANDROID_BUILD_TOP/out -name 'boot.art'
    # expect to find files in /out/target/product/walleye/system/framework/$ARCH/

Test: lunch qemu_trusty_arm64-userdebug && m \
    && fgrep -e '-Xms ' $ANDROID_BUILD_TOP/out/soong/build.ninja
    # expect empty output

Change-Id: I3d765ed0dd8b38236b8bdd5c6202bb1d3f45f904
2019-11-01 18:20:35 +00:00
Andrei-Valentin Onea
15e75e8807 Merge "Revert "Move partition size checks to python script"" 2019-11-01 15:36:10 +00:00
Treehugger Robot
49aa6fc009 Merge "Update the docs for 'mm[m][a]'" 2019-11-01 06:42:14 +00:00
Raff Tsai
0141e45b96 Revert "Move partition size checks to python script"
This reverts commit a4906cd306.

Reason for revert: b/143734706

Change-Id: I905bd9c0bfcbd123c8f9e78986bfcb5600a9eca9
2019-11-01 05:36:20 +00:00
Jooyung Han
41055047da Merge "Use MakeVar from soong instead of hardcoding" 2019-11-01 01:57:50 +00:00
Yifan Hong
8244f27722 Merge "Move partition size checks to python script" 2019-11-01 01:52:11 +00:00
Ashwini Oruganti
e575157366 Remove the cert for GooglePermissionController
We no longer need to specify seinfo for privapps when defining rules in
seapp_contexts. And so, we also no longer need to have the key here.

Bug: 142672293
Test: Happy builds.
Change-Id: I0d67844db5a59c445f76e2aef0a13446e486a193
2019-10-31 14:12:08 -07:00
Roland Levillain
374213db0d Merge "Implement APEX JAR (Java library) absence checks for Core Libraries." 2019-10-31 19:03:22 +00:00
Yifan Hong
a4906cd306 Move partition size checks to python script
Easier to read and modify its logic.

Test: builds
Test: test_check_partition_sizes
Test: atest releasetools_test
Test: atest releasetools_py3_test
Change-Id: I73204664b64a0bcee7375fa6fca46758d5a2bb72
2019-10-31 11:22:20 -07:00
Ashwini Oruganti
6aaafc4ad4 Merge "Add keys for GooglePermissionController" 2019-10-31 16:38:56 +00:00
Roland Levillain
b353eda0c0 Implement APEX JAR (Java library) absence checks for Core Libraries.
Refactor existing native library checks to share common logics.

Test: Check that `m installclean && m systemimage` succeeds
Test: Check that `m installclean && m libart && m systemimage` fails
Test: Check that `m installclean && m core-oj && m systemimage` fails
Test: Check that `m installclean && m conscrypt && m systemimage` fails
Test: Check that `m installclean && m libart core-oj conscrypt && m systemimage` fails
Test: Check that
        `export OVERRIDE_TARGET_FLATTEN_APEX=true \
         && m installclean \
         && m systemimage`
      succeeds
Bug: 142944799
Bug: 128708192
Bug: 113374338
Change-Id: I703a837c6bb138af73eeb95fc08e1a87af2d8ad7
2019-10-31 16:09:02 +00:00