Commit Graph

19025 Commits

Author SHA1 Message Date
Bowgo Tsai
5aa1aecc21 Merge "Appending per-partition os_version into AVB props"
am: 196f64bc6b

Change-Id: Iab23dbb438cda078ac44cf569939f54db0663e95
2019-05-16 04:39:30 -07:00
Treehugger Robot
196f64bc6b Merge "Appending per-partition os_version into AVB props" 2019-05-16 11:27:31 +00:00
Bowgo Tsai
9b54801b58 Appending per-partition os_version into AVB props
os_version is important for keymaster version binding, where it
refuses to perform operations with a key that is bound to an old
system version.  This ensures that an attacker who discovers a
weakness in an old version of system or TEE software cannot roll a
device back to the vulnerable version and use keys created with the
newer version.

Previously, os_version for system.img is added into boot.img header
for bootloader to read the value then pass to TEE before booting the
HLOS. However, with project Treble to modularize each partition, all
images are now in the trajectory to be built independently (still
on-going). Also, in the Generic System Image (GSI) compliance test,
the os_version in OEM's boot.img cannot reflect the actual version of
GSI.

This CL adds per-partition os_versions into AVB metadata, which is
readable by bootloader via libavb without file system dependency. It's
still unclear for how os_version in non-system partition should be used.
We just add them for completeness here.

See more details in:
https://source.android.com/security/keystore/version-binding

Bug: 132233601
Test: build and avbtool info_image $OUT/vbmeta.img
      - Prop: com.android.build.boot.os_version -> '10'
      - Prop: com.android.build.system.os_version -> '10'
      - Prop: com.android.build.system.security_patch -> '2019-06-05'
      - Prop: com.android.build.vendor.os_version -> '10'
      - Prop: com.android.build.vendor.security_patch -> '2019-06-05'
      - Prop: com.android.build.product.os_version -> '10'
      - Prop: com.android.build.product.security_patch -> '2019-06-05'

Change-Id: I21a77420f2e8a3456f7a8cae5158eb8fc41319e7
2019-05-16 12:56:41 +08:00
TreeHugger Robot
4dae317ace Merge "DO NOT MERGE - Merge pi-platform-release (PPRL.190505.001) into stage-aosp-master" into stage-aosp-master 2019-05-15 23:02:16 +00:00
Treehugger Robot
85fba4c04a Merge "Generate VNDK snapshot with Soong except configs" 2019-05-15 22:13:35 +00:00
Treehugger Robot
e51a7282b5 Merge "Add libc_malloc_{debug,hooks}.so to the absence check." 2019-05-15 10:47:49 +00:00
Anton Hansson
3163453d0a Merge "Make implicit 32-bit apps on 64-bit target an error" 2019-05-15 10:44:31 +00:00
Anton Hansson
b35b427769 Merge "Move default setting of a product variable" 2019-05-15 10:29:54 +00:00
Martin Stjernholm
ff29b0fa3e Add libc_malloc_{debug,hooks}.so to the absence check.
They should only be in the Runtime APEX, c.f. discussion on
http://r.android.com/957159.

Test: build/soong/build_test.bash through Forrest
Bug: 124293228
Change-Id: I33e97a56e67c3f4734d14f38e0f1597b697a2604
2019-05-14 18:37:40 +01:00
Anton Hansson
269dd013a5 Move default setting of a product variable
Should be in product_config.mk, before the variables are readonly'd, or
the default will fail to work.

Bug: 131576555
Test: set PRODUCT_SHIPPING_API_LEVEL := 29 in mainline_arm64.mk && lunch
Change-Id: I25faee7ec0a3fff17e1d08b834d868834effda36
2019-05-14 14:33:18 +01:00
Inseob Kim
10e02dcd43 Generate VNDK snapshot with Soong except configs
This is the first commit to generate VNDK snapshot with Soong: .so
files, some txt files, and notice files are captured with Soong. As
ld.config.txt is currently in Android.mk and will be deprecated soon,
configs files (and zipping all of artifacts) are still handled with
Makefile.

Bug: 131564934
Test: 1) DIST_DIR=out/dist development/vndk/snapshot/build.sh
Test: 2) try installing vndk snapshot with:
         development/vndk/snapshot/update.py

Change-Id: Ia904e8a1b44824d6c9556ada93bf1616620a1363
2019-05-14 06:40:08 +00:00
Xin Li
0590d456e0 DO NOT MERGE - Merge pi-platform-release (PPRL.190505.001) into stage-aosp-master
Bug: 132622481
Change-Id: Ide25ddcfa9a928b3affff72c2ce20e77865bd7d5
2019-05-13 15:57:57 -07:00
Anton Hansson
879b007555 Make PRODUCT_CHARACTERISTICS a single-valued variable
Values should be comma-separated, and things won't go down well
if there are multiple words in this variable.

Bug: 123783710
Test: Put this in product_config.mk and ran multiproduct_kati:
      ifneq (1,$(words $(PRODUCT_CHARACTERISTICS)))
        $(error oops)
      endif
Change-Id: I5627f416093d68d8d19916a914739686b74d392f
2019-05-13 18:15:32 +01:00
Pete Gillin
738b9963d5 Merge "Whitelist javax.annotation.processing for inclusion in core-oj." 2019-05-13 11:37:43 +00:00
Anton Hansson
6d25fc6657 Make implicit 32-bit apps on 64-bit target an error
This has been a warning for a long time. Make it an error instead.

Once this has been verified to not cause any problems, it can
likely be changed to instead default to setting
TARGET_SUPPORTS_64_BIT_APPS := true.

Test: build_test
Change-Id: I0d03fed2085009c64880a594d5a3aadf72187e60
2019-05-13 11:13:20 +01:00
Colin Cross
976dd58b34 Merge "Use a copy of dexpreopt.config" 2019-05-11 04:11:58 +00:00
Pete Gillin
0ad2ef677d Whitelist javax.annotation.processing for inclusion in core-oj.
Bug: 123891440
Test: EXPERIMENTAL_USE_OPENJDK9=true make droid

(cherry picked from commit ec99530de3)

Merged-In: I0fc7a6841f34361883785479671f4422d720ce00
Change-Id: I70dbb89ca29ec1bb47ea5a1cf27b324d354aca11
2019-05-10 13:07:02 +01:00
Pete Gillin
aa448d138b Merge "Rename EXPERIMENTAL_USE_OPENJDK9 to EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9." 2019-05-10 11:50:08 +00:00
Dimitry Ivanov
62ae23267f Merge "Filter out .native_bridge static libs from NOTICE files" 2019-05-10 08:17:15 +00:00
Colin Cross
51ba1df2f0 Use a copy of dexpreopt.config
Move the dexpreopt.config passed to Soong to out/soong/dexpreopt.config
and let it write a new copy in a rule and pass the path back to make
as DEX_PREOPT_CONFIG_FOR_MAKE.

Bug: 132379813
Test: m checkbuild
Change-Id: Iac29beac3af8864d36d1563ce42bed11b685548d
2019-05-09 22:16:13 -07:00
Xin Li
8a39705283 Merge "DO NOT MERGE - Merge Pie Bonito/Sargo into master." 2019-05-09 22:05:51 +00:00
Xin Li
8ba7af7849 DO NOT MERGE - Merge Pie Bonito/Sargo into master.
Bug: 131756210
Change-Id: I6381f0300194fbe153b951eb30c5228b75de90c5
2019-05-09 09:27:02 -07:00
dimitry
a19987d3c2 Filter out .native_bridge static libs from NOTICE files
LOCAL_STATIC_LIBRARIES may contain .native_bridge suffix
when built for translated targets.

This CL makes the NOTICE file exception apply for them too.

Bug: http://b/77159578
Test: make
Change-Id: Ic8a18f06afa0c460751f21587b7f751ac0ae4a3f
2019-05-09 16:35:41 +02:00
Pete Gillin
273b25f9fd Rename EXPERIMENTAL_USE_OPENJDK9 to EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9.
The current EXPERIMENTAL_USE_OPENJDK9 environment variable is a legacy
from when the 8 -> 9 toolchain upgrade was happening. That migration
is done and the variable only affects the language level, so it should
have a name that reflects that. (The current situation would be
especially confusing if we started a 9 -> 11 toolchain upgrade,
presumably controlled by a variable like EXPERIMENTAL_USE_OPENJDK11,
since the two settings look incompatible but are actually orthogonal.)

The current variable historically allowed a value or "1.8" which meant
"use the OpenJDK 9 toolchain but target language level 8". That value
no longer has any meaning and the new variable doesn't allow it.

Bug: 131678633
Test: `make` with `EXPERIMENTAL_JAVA_LANGUAGE_LEVEL_9=true`
Test: `javap -v $OUT_DIR/soong/.intermediates/libcore/core-oj/android_common/javac/classes/java/util/List.class | grep 'major version'` shows 53
Change-Id: Ic1f76a656bea30713b356a28e82f908a46933893
Test: Audit all mentions of the old string here and downstream
2019-05-09 15:30:39 +01:00
Martin Stjernholm
f26bef86ec Merge "Extend library absence check to Bionic libs and all ART debug libs." 2019-05-09 11:51:37 +00:00
Treehugger Robot
333f7b5fcc Merge "Ensure TARGET_FLATTEN_APEX == true when ro.apex.updatable is not set" 2019-05-09 08:48:05 +00:00
Treehugger Robot
765e433d24 Merge "Add PRODUCT_EXTRA_VNDK_VERSIONS product variables" 2019-05-09 08:25:23 +00:00
Jiyong Park
02426e6118 Ensure TARGET_FLATTEN_APEX == true when ro.apex.updatable is not set
TARGET_FLATTEN_APEX and ro.apex.updatable cannot be independently set.
For a device where updating APEXes is not supported, ro.apex.updatable
should not be set (or set to false) and TARGET_FLATTEN_APEX should be
set to true. For APEX-supporting devices, it is the opposite;
ro.apex.updatable == true and TARGET_FLATTEN_APEX is false (or not set).

To ensure this relationship, TARGET_FLATTEN_APEX is by default set to
true, and overridden to false when updatable_apex.mk is inherited.

Bug: 130623080
Test: choosecombo to Pixels 2 and later; get_build_var
TARGET_FLATTEN_APEX returns false.
choosecombo to the original Pixel and other non-Pixel targets;
get_build_var TARGET_FLATTEN_APEX returns true.
choosecombo to the cuttlefish; get_build_var TARGET_FLATTEN_APEX
returns false

Merged-In: Id73a594dd9838457e68e2793122592c11a84fc83
Change-Id: Id73a594dd9838457e68e2793122592c11a84fc83
(cherry picked from commit 18411a42f0)
2019-05-09 09:56:55 +09:00
Martin Stjernholm
e115e3cf07 Extend library absence check to Bionic libs and all ART debug libs.
Test: m systemimage
Test: build/soong/build_test.bash
Bug: 124293228
Change-Id: I1a25d8d45668638b7eb0d39ded9cad3ed30db33c
2019-05-09 01:07:56 +01:00
Treehugger Robot
03aebddf1d Merge "Move BUILD_[HOST_]SHARED_TEST_LIBRARY to obsolete list" 2019-05-08 23:44:47 +00:00
Dan Willemsen
cecb32f2af Merge "Deprecate next set of make module types"
am: 2cfbde6f38

Change-Id: I316acef9e09e909a255ef3dcbcea808023fabf4a
2019-05-08 15:37:44 -07:00
Treehugger Robot
2cfbde6f38 Merge "Deprecate next set of make module types" 2019-05-08 22:19:53 +00:00
Hridya Valsaraju
1c87bffec6 Merge "Move ro.boot.dynamic_partitions to vendor/build.prop"
am: e591ef32a0

Change-Id: I54134846c9b6657bc0987ca18348f23353d8e3b9
2019-05-08 15:09:41 -07:00
Treehugger Robot
e591ef32a0 Merge "Move ro.boot.dynamic_partitions to vendor/build.prop" 2019-05-08 21:39:26 +00:00
Dan Willemsen
eb22c940ac Move BUILD_[HOST_]SHARED_TEST_LIBRARY to obsolete list
The implementation of these rules have been an $(error) for almost 3
years.

Test: treehugger
Change-Id: I2e258d297172532c0993c8cb8a2e19ad03ea281d
2019-05-08 12:37:10 -07:00
Dan Willemsen
fd84a92b82 Deprecate next set of make module types
BUILD_AUX_EXECUTABLE
 BUILD_AUX_STATIC_LIBRARY

These shouldn't be used anymore, they were an intermediate state to
build some firmware that is no longer being built in Android.

 BUILD_HOST_FUZZ_TEST
 BUILD_HOST_NATIVE_TEST
 BUILD_HOST_STATIC_TEST_LIBRARY
 BUILD_NATIVE_BENCHMARK
 BUILD_STATIC_TEST_LIBRARY

There are no users of these left.

Bug: 130735607
Bug: 130735003
Bug: 130691889
Bug: 130723134
Bug: 130722660
Bug: 130734558
Bug: 130735594
Test: build_test & check logs
Change-Id: I8a9385040316495f7e7262d045be871e91712920
2019-05-08 12:27:53 -07:00
Chris Gross
e9425427c2 Merge "Add BUILD_RECOVERY_IMAGE and BUILD_BOOT_IMAGE flags"
am: 84c96eba1e

Change-Id: I66f4b0e3faaf3fcc16cd51a1e1f93d549fd708fd
2019-05-08 11:30:33 -07:00
Chris Gross
84c96eba1e Merge "Add BUILD_RECOVERY_IMAGE and BUILD_BOOT_IMAGE flags" 2019-05-08 18:21:42 +00:00
Hridya Valsaraju
1fd498d748 Move ro.boot.dynamic_partitions to vendor/build.prop
Bug: 132197773
Test: property present in vendor/build.prop

Currently, the property resides in product partition which gets
overwritten by the GSI image. Moving it to vendor will ensure
that the property is set even when a GSI image is flashed on the device.

Change-Id: I4d4a3c473194e15ba124a121f89bbb3ec1a73d19
2019-05-08 16:22:06 +00:00
Isaac Chen
e9723507a1 Add PRODUCT_EXTRA_VNDK_VERSIONS product variables
PRODUCT_EXTRA_VNDK_VERSIONS should be in _product_list_vars
because it's used as a list with probably more than one version
included/set in differemt makefiles.

Bug: 132046980
Test: $ lunch aosp_x86_ab-userdebug
      $ m -j
      $ find $OUT/system/ -name vndk-* # vndk-27 directory is included

Change-Id: Iee9b7b678a23eed781cc761d820db9ff67ae5d34
2019-05-08 15:46:00 +08:00
Tao Bao
5fd2a085c3 Merge "Compute the needed shared libs for otatools."
am: 5eba1c9a67

Change-Id: I7a96636c6d61f0bed1d248c70eb7f58fb09a8ae6
2019-05-07 21:14:09 -07:00
Treehugger Robot
5eba1c9a67 Merge "Compute the needed shared libs for otatools." 2019-05-08 03:44:33 +00:00
Tao Bao
f7d0b06ee9 Merge "Use the installed vboot_signer."
am: 40c03ff116

Change-Id: I6369c9779b84c8d0cd9f5baafa9094426b946846
2019-05-07 17:51:20 -07:00
Tao Bao
40c03ff116 Merge "Use the installed vboot_signer." 2019-05-07 23:40:57 +00:00
android-build-team Robot
24df732a99 Make change and version bump to PPRL.190505.001
Change-Id: Ib519bb6075266b713971491a5d67cd942c6d67a8
2019-05-07 22:12:39 +00:00
Colin Cross
2022a3bea7 Merge "Use --ignore_missing_files when creating symbols.zip"
am: 96ba044c94

Change-Id: I6374ab49d0307dfe55ca940880987f596bbb353c
2019-05-07 14:56:24 -07:00
Colin Cross
8d34244739 Use --ignore_missing_files when creating symbols.zip
symbols.zip is created while files that are not part of the platform
build but were requested on the Make command line (for example by
passing "tests") are still being installed.  Installation often
involves removing and then recreating the file.  If the file
exists when the list of files to be zipped is created, but is
removed when soong_zip is zipping, it fails with an error.  Pass
--ignore_missing_files to silence the error and keep zipping.

Fixes: 79503862
Test: m checkbuild
Change-Id: I1fbbf1f1396948288ee133c319b2e19dee97983b
2019-05-07 11:47:13 -07:00
Chris Gross
a784ef197c Add BUILD_RECOVERY_IMAGE and BUILD_BOOT_IMAGE flags
Bug: 123428770
Test: Built system-only image and checked that no boot.img or
recovery.img files where created. Booted the resulting merged build on
device.

Change-Id: I760476502775e68125907c39e66b8665e789a798
2019-05-07 11:00:37 -07:00
Anton Hansson
4550977e75 Merge "Mark many single value variables as such"
am: c43a3e1103

Change-Id: Ieae944df8cb9be17ab6af35bc43959ed532fac1e
2019-05-07 02:33:30 -07:00
Anton Hansson
4d60168865 Merge "Add support for single-value product variables"
am: 3e29407793

Change-Id: I190269b39392c5daf70e84d50b68432b80a66ef5
2019-05-07 02:32:48 -07:00