Commit Graph

23197 Commits

Author SHA1 Message Date
Steve Muckle
11c4bcf406 support different boot partition sizes in aosp_arm64
The different boot images in aosp_arm64 have different partition size
requirements. Add support for defining a partition size associated with
each boot image variant.

This support is limited to aosp_arm64 currently, which is built with
recovery-as-boot.

Bug: 156036850
Bug: 155049180
Change-Id: I73b70a4d52c2662c3015899632bb8a2b424108d5
2020-05-12 16:51:45 -07:00
Inseob Kim
b2daf711a3 Merge "DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS" 2020-05-11 09:53:21 +00:00
cfig
125efba2bf vendor_boot: remove INTERNAL_MKBOOTIMG_VERSION_ARGS from mkbootimg args
'os_version' and 'os_patch_level' are not defined in vendor boot image header,
so remove INTERNAL_MKBOOTIMG_VERSION_ARGS to avoid confusion

Test: lunch aosp_cf_x86_64_phone-userdebug; m vendorbootimage

Change-Id: I19c82846c9669bbd5475605e8b2457744040390d
2020-05-11 15:01:53 +08:00
Yo Chiang
6190f6910f Merge "Ban ELF prebuilts in PRODUCT_COPY_FILES" 2020-05-11 05:14:29 +00:00
Dan Shi
c4fa187094 Revert "Add vts related artifacts to vts-core package"
This reverts commit 5e06288e7c.

Bug: 149249068
Test: build
Change-Id: I8245f1b7a4a74e133c0b7958e0f2908e4e8efd05
2020-05-08 10:52:31 -07:00
Bowgo Tsai
0f95ac7e8c Enables signing for generic boot images
Enables signing for them so we can verify that the boot partition
contains a valid generic boot image during the compliance test.

This change also adds the chained partition descriptor of
boot partition into vbmeta.img, which contains the corresponding
public key used to verify the boot partition.

Bug: 151094943
Test: lunch aosp_arm64-user, `make` and use `avbtool info_image`
      to check that GKI images are properly signed.
Test: `make dist` and checks that GKI images in the image zip file
      are properly signed.
Change-Id: I2fd69964f9dc62526a813875fa9193913aa4935b
2020-05-08 08:16:25 +00:00
Inseob Kim
f369fefbce DO NOT MERGE Add 30.0 to PLATFORM_SEPOLICY_COMPAT_VERSIONS
Bug: 153661471
Test: m selinux_policy
Change-Id: If1c77d867e5f454c6a159fcf9ba563dc9ec16e58
2020-05-08 11:16:29 +09:00
Jaewoong Jung
9150e7a65c Merge "Install .idsig files to test suite dirs." 2020-05-07 21:48:07 +00:00
Jaewoong Jung
c8faeb574c Install .idsig files to test suite dirs.
(This is a cherry-pick change.)

Bug: 153675112
Test: m cts && ls out/host/linux-x86/cts/android-cts/testcases/
Change-Id: I2f24f4567ed3fab1f6ad4d66cc0f798332543b8d
Merged-In: I2f24f4567ed3fab1f6ad4d66cc0f798332543b8d
2020-05-07 11:54:22 -07:00
Ivan Lozano
34f82e1af2 Merge "Add support for Rust coverage files from Soong." 2020-05-07 17:56:43 +00:00
vichang
5520858b97 Merge ""Move core-icu4j into i18n APEX" Attempt 2" 2020-05-07 09:34:51 +00:00
Jiyong Park
dc8a239c69 Merge "rename libvixl to libvixl.com.android.art.debug" 2020-05-07 03:35:03 +00:00
Sasha Smundak
f15ff83b07 Editorial: fix indentation
Test: treehugger
Change-Id: Ie461f7244c52c0ea5f463409290901c16e424636
2020-05-06 13:46:30 -07:00
Bill Yi
468f5b46be Merge "Merge android10-qpr2-s3-release to aosp/master - DO NOT MERGE" 2020-05-06 15:59:08 +00:00
Treehugger Robot
dcdd0db41a Merge "Reland "mark platform un-availability""" 2020-05-06 12:28:02 +00:00
Jiyong Park
157ac24d6b rename libvixl to libvixl.com.android.art.debug
With I1889653812a980f6a2e3b6b25e7647f7c5919606, libvixl is not available
to the platform as it is included in the ART APEX. To use the APEX
variant of the library, we use the <name>:<apex_name> notation.

Exempt-From-Owner-Approval: cherry-pick from internal

Bug: 150999716
Test: m
Merged-In: I2206f1c28fc0019c0fd726059aa732145f2998ed
(cherry picked from commit 127eae76bc)
Change-Id: I2206f1c28fc0019c0fd726059aa732145f2998ed
2020-05-06 17:48:10 +09:00
Chris Gross
ad0329462b Merge "Allow bootjars in system_ext." 2020-05-05 21:12:39 +00:00
Bill Yi
e1fe634c3f Merge android10-qpr2-s3-release to aosp/master - DO NOT MERGE
Change-Id: I3a011850a108e0c66a10033e7df7ec45cd65320b
Merged-In: I474bf28ef86c76dd604fbece203c15a91e7ce92a
Merged-In: I61b7ab63d9bfa44259e3219903f551df5904505b
Merged-In: I4393eea75a53f90e23a53020b4a551228564e3cc
Merged-In: Ie843b46958b008073dc60d426e9dff4134db2430
Merged-In: Ief4b514032bfad1fad1a81c68b4f5e360569f105
2020-05-05 20:47:21 +00:00
Victor Chang
ce051d16a4 "Move core-icu4j into i18n APEX" Attempt 2
This reverts commit b72f1e1a8a.
Reland https://r.android.com/1284676

Bug: 138994281
Test: core-icu4j observed in i18n APEX
Change-Id: If773316261fb1f5fb37b56c5233efcc4a434354a
2020-05-05 19:16:30 +01:00
vichang
a2d0a60b79 Merge "Revert "Move core-icu4j into i18n APEX"" 2020-05-05 11:46:51 +00:00
vichang
b72f1e1a8a Revert "Move core-icu4j into i18n APEX"
Revert "Move libpac into i18n APEX"

Revert "Add shared library into i18n APEX and add the required s..."

Revert "Make com_android_i18n namespace visible"

Revert submission 1299494-i18nApex

Reason for revert: Breaking aosp_x86-eng on aosp-master
Reverted Changes:
I30fc3735b:Move ICU from ART APEX to i18n APEX
Icb7e98b5c:Calling @IntraCoreApi from core-icu4j should not c...
Ic7de63fe3:Move core-icu4j into I18n APEX
I65b97bdba:Make com_android_i18n namespace visible
Ia4c83bc15:Move v8 and libpac into i18n APEX
I10e6d4948:Move core-icu4j into i18n APEX
I8d989cad7:Move ICU from ART APEX into i18n APEX
I72216ca12:Move ICU into i18n APEX
Ief9dace85:Add shared library into i18n APEX and add the requ...
I7d97a10ba:Move libpac into i18n APEX
I90fff9c55:Move ICU from ART APEX into i18n APEX

Change-Id: I12a7d609d43620edaf2c5f12711eb3ca3a570d79
2020-05-05 11:11:30 +00:00
vichang
879d654515 Merge "Move core-icu4j into i18n APEX" 2020-05-05 08:52:21 +00:00
Treehugger Robot
592a675e7d Merge "Remove TARGET_PROJECT[_SYSTEM]_INCLUDES" 2020-05-04 23:25:20 +00:00
Chris Gross
7f093f7083 Allow bootjars in system_ext.
Bug: 148385042
Test: Built and booted Pixel 3a both with and without a boot jar in system_ext.
Change-Id: I17c95a6347552d4cf0db76c10d762c591b56d48a
2020-05-04 08:26:29 -07:00
Victor Chang
a27b703c49 Move core-icu4j into i18n APEX
Bug: 138994281
Test: core-icu4j observed in i18n APEX
Change-Id: I10e6d49485305f84b31d62f858c3c032aba4d3df
2020-05-04 12:46:03 +01:00
Jiyong Park
403c255b6f Reland "mark platform un-availability""
This reverts commit 6e1fa4452b.

Reason for revert: relanding a reverted changed

Bug: 153073816
Change-Id: I3735866776cf6eb0320c9fb8c6be8ac0c48baa1c
Test: m
2020-05-04 11:12:00 +00:00
Jiyong Park
af4c62f78a Merge "Revert "mark platform un-availability"" 2020-05-04 10:58:24 +00:00
Jiyong Park
6e1fa4452b Revert "mark platform un-availability"
This reverts commit f9e67a8980.

Reason for revert: broke some targets

Exempt-From-Owner-Approval: reverting

Change-Id: I10af29b0fcf564dba0c3dbc1951b660b24fc58bb
2020-05-04 10:57:26 +00:00
Jiyong Park
8023018b0c Merge "mark platform un-availability" 2020-05-04 10:10:24 +00:00
Ulyana Trafimovich
5f27aa4948 Merge "Use two-column format for PRODUCT_BOOT_JARS components." 2020-05-04 08:57:47 +00:00
Dan Willemsen
19096a2479 Merge "Master is now S" 2020-05-04 06:58:10 +00:00
Jiyong Park
9314d8c77c Incorrect file names in apkcerts.txt for Make modules
This change fixes a regression that was caused by I56bc55e2231eb946617a9d6f97d55c9b61f3bff7
that file names for Make modules are ".apk" in apkcerts.txt.

This was because PACKAGES.$(LOCAL_MODULE).STEM was only set for the
modules from Soong. It is now set for Make modules too.

Bug: 155440232
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m apkcerts-list
and check the generated apkcerts txt file to see that it doesn't have an
entry where file name is ".apk"

Exempt-From-Owner-Approval: cherry-pick from internal

Merged-In: I6f14bbb5678255bef2c1f2397f59ede6c2b5df18
(cherry picked from commit db64e3d528)
Change-Id: I6f14bbb5678255bef2c1f2397f59ede6c2b5df18
2020-05-03 13:43:08 +09:00
Jiyong Park
7b96c59751 Stem names are used in apkcerts.txt
_apkcerts_write_line has assumed that the stem name of a package is the
same as the module of it. That assumption however breaks for
APK-in-APEX, in which case the stem name is Foo while the module name is
Foo.com.android.bar (where com.android.bar is the name of the APEX where
the APK is in).

Fixing the issue by recording the stem name and use it.

Bug: 155440232
Test: OVERRIDE_TARGET_FLATTEN_APEX=true m apkcerts-list
and check the generat4ed apkcerts txt file to see that it has
Tethering.apk instead of Tethering.com.android.tethering.apex

Exempt-From-Owner-Approval: cherry-pick from AOSP

Merged-In: I56bc55e2231eb946617a9d6f97d55c9b61f3bff7
(cherry picked from commit f58fd52b14)
Change-Id: I56bc55e2231eb946617a9d6f97d55c9b61f3bff7
2020-05-02 18:29:24 +09:00
Dan Willemsen
e6bd1d2060 Remove TARGET_PROJECT[_SYSTEM]_INCLUDES
Everything should be getting device specific kernel headers from the
device_kernel_headers header library these days.

This does change the behavior of system libraries on devices using the
VNDK -- they no longer get device-specific kernel headers by default, as
we generally expect the system image to be device-independent. The few
libraries that may still need this can use:

 LOCAL_HEADER_LIBRARIES += device_kernel_headers

Test: treehugger
Change-Id: I90ccb921d58b8d27dd0118a974202696e0af745f
2020-05-01 17:43:45 -07:00
Evgenii Stepanov
7332a36b91 Merge "[make] Zero and pattern initialization of heap memory." 2020-05-01 23:58:48 +00:00
Ulya Trafimovich
4c69c2ff72 Use two-column format for PRODUCT_BOOT_JARS components.
The first component is the apex name, or a special name "platform"
if the boot jar is a platform jar rather than a part of some apex.
This is a prerequisite change for moving core-icu4j to a separate
com.android.i18n apex.

Old one-column format is still supported, but all unqualified
components of PRODUCT_BOOT_JARS get "platform:" prepended to them
after reading the product makefiles.

Test: aosp_walleye-userdebug boots
Bug: 138994281
Change-Id: I0f79c7d10477880ca65354251a5d1ca0b7ce79ab
2020-04-30 17:16:29 +01:00
Yifan Hong
50ea3f49c5 Merge "Adjust partition size checks for recovery resources" 2020-04-29 23:34:06 +00:00
Evgenii Stepanov
701cbae7e5 [make] Zero and pattern initialization of heap memory.
Bug: 155227507
Test: build with and without MALLOC_PATTERN_FILL_CONTENTS, MALLOC_ZERO_CONTENTS
Change-Id: If6a7345411553c582ed713cfe661ce69e524de0f
2020-04-29 15:32:51 -07:00
Treehugger Robot
8bd7c4f3cc Merge changes I17671ca2,I4e6d9d93,Ia43cbbd0
* changes:
  Use .KATI_IMPLICIT_OUTPUTS in build/make/core/Makefile
  java_source_list_file is only created when full_classses_jar is set
  Remove empty rules for check_elf_files.timestamp
2020-04-29 01:44:54 +00:00
Yifan Hong
9a3cad95a9 Adjust partition size checks for recovery resources
RECOVERY_FROM_BOOT_PATCH has been moved to vendor as per b/68319577. Hence,
the reserved size should be moved from system to vendor as well.

Bug: 68319577
Bug: 153581609
Test: m target-files-package for non-A/B devices

Change-Id: I2fd3fea10ec6dd06f19c5be753d63ddff1ec01f7
2020-04-28 16:27:24 -07:00
Dan Willemsen
f4cbafa724 Use .KATI_IMPLICIT_OUTPUTS in build/make/core/Makefile
There were still two places where we weren't using it. There may be
more, but these are the ones that come up with aosp_cf_x86_phone.

Test: m out/target/product/vsoc_x86/root/default.prop
Test: m out/target/product/vsoc_x86/obj/NOTICE_VENDOR.txt
Change-Id: I17671ca2ed60332aed2bf76aa00e42a92661b58a
2020-04-28 15:57:32 -07:00
Dan Willemsen
e1cbfc717b java_source_list_file is only created when full_classses_jar is set
So avoid creating an unused phony target when we aren't compiling
anything.

Test: treehugger
Change-Id: I4e6d9d93ee5a7d11db6b4a6c7da1ba947d96e575
2020-04-28 15:55:49 -07:00
Dan Willemsen
17315c2eda Remove empty rules for check_elf_files.timestamp
If we don't have any new dependencies, or we never set up the
check_elf_files.timestamp rule, don't create an empty one now.

There were >7000 of these unused and empty rules in my AOSP
aosp_cf_x86_phone build.

This was initially brought to my attention by the new checks in
https://github.com/google/kati/pull/189

Test: diff out/build-aosp_cf_x86_phone.ninja, only removed phony rules
Change-Id: Ia43cbbd04df4a01d2182b14e3ccbe5d5ecbcabad
2020-04-28 14:56:06 -07:00
Treehugger Robot
02031027b7 Merge "Exempt RRO from the restriction on API level" 2020-04-27 22:42:01 +00:00
Bill Peckham
0d5a6748a8 Merge "Allow recording ALL_DEPS by setting RECORD_ALL_DEPS" 2020-04-27 20:59:48 +00:00
Dan Shi
6c04458129 Merge "[VTS] copy ltp and kselftest to testcase folder" 2020-04-27 18:28:17 +00:00
Bill Peckham
a2c63454a6 Allow recording ALL_DEPS by setting RECORD_ALL_DEPS
This change enables recording ALL_DEPS information
without having to specify the deps-license goal, which
can be useful to populate the dependencies field of
module-info.json for various types of post-processing.

Usage: `RECORD_ALL_DEPS=true make droid` (preferred), or
`make RECORD_ALL_DEPS=true droid`.

Test: make, inspect module-info.json
Test: RECORD_ALL_DEPS=true make, inspect module-info.json
Bug: 151755703
Change-Id: Ib81a8dfb0ecbe0b63be320a9d33e558b419cb4b2
2020-04-27 18:28:10 +00:00
Jeongik Cha
07a44f48dc Exempt RRO from the restriction on API level
As auto generated RRO, an arbitrary RRO needs to be exempted as well.
It is okay because RRO packages can access only resource defined in
public.xml, when RRO packages want to refer other package's resource.

Bug: 152926556
Test: build RRO packages
Test: check if product/vendor app still can't use hidden APIs
Change-Id: I8dc2922af5eb5c87ccd97d1b8d080b3ed48cf9a6
2020-04-27 22:36:21 +09:00
Jeongik Cha
82fead38a4 Restore $(SOONG_OUT_DIR)/ndk/% in static_whitelist_patterns
$(SOONG_OUT_DIR)/ndk/% needs to be whistlisted in release branch
(ag/11251273)
Accordingly, restore it in aosp as well.

Bug: 148993225
Test: m nothing
Change-Id: I7503c007c3e786b0cab26ea1422f0d4ba5a40662
2020-04-27 04:44:58 +00:00
Jiyong Park
f9e67a8980 mark platform un-availability
A module is marked unavailable for platform when 1) it does not have
"//apex_available:platform" in its apex_available property, or 2)
it depends on another module that is unavailable for platform.

In that case, LOCAL_NOT_AVAILABLE_FOR_PLATFORM is set to true for the
module in the Make world. Later, that flag is used to ensure that there
is no module with the flag is installed to the device.

The reason why this isn't entirely done in Soong is because Soong
doesn't know if a module will be installed to the device or not. To
explain this, let's have an example.

cc_test { name: "mytest", static_libs: ["libfoo"]}
cc_library_static { name: "libfoo", static_libs: ["libbar"]}
cc_library { name: "libbar", apex_available: ["com.android.xxx"]}

Here, libbar is not available for platform, but is used by libfoo which
is available for platform (apex_available defaults to
"//apex_available:platform"). libfoo is again depended on by mytest
which again is available for platform. The use of libbar should be
allowed in the context of test; we don't want to make libbar available
to platform just for the dependency from test because it will allow
non-test uses of the library as well.

Soong by itself can't tell whether libfoo and libbar are used only in the
context of a test. There could be another module depending them, e.g.,

cc_library_shared { name: "mylib", static_libs: ["libfoo"] }

can exist and it might be installed to the device, in which case
we really should trigger an error.

Since Make has the knowledge of what's installed and what's not,
the check should be done there.

Bug: 153073816
Test: m

Change-Id: I14ddf0e5700d0a7bf60e4e41536efbd26ab5ed3d
2020-04-27 08:46:41 +09:00