Commit Graph

58184 Commits

Author SHA1 Message Date
Hongguang Chen
d7c160ffbf Skip _oem_props if oem_dicts is None.
The oem_dicts in BuildInfo is only available to ota_from_target_files
when it's called with "--oem_settings" input. However, aosp/1135332
starts to use BuildInfo in add_img_to_target_files w/o oem_dicts. An
assert is triggered due to it when oem_fingerprint_properties is in the
info_dict.
This change skip _oem_props reading if oem_dicts is None to allow to
this case.

BUG: 155360923
BUG: 154171021
Test: Sign images with oem_fingerprint_properties.
Change-Id: I6a73feecd9567fd4d85f4eab3d4e11c5df28fe39
2020-05-04 16:54:10 +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
cac826f49a Merge "Incorrect file names in apkcerts.txt for Make modules" 2020-05-04 00:05:02 +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
6b872d794b Merge "Stem names are used in apkcerts.txt" 2020-05-02 10:43:14 +00: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
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
Steven Laver
1ae5abc46e Merge "releasetools: correct allowed property sources for incremental OTAs" 2020-04-30 16:03:31 +00:00
Anton Hansson
d4e85a97e7 Merge "Revert "remove emulator_vendor.mk from aosp_arm64.mk"" 2020-04-30 10:58:43 +00:00
Steve Muckle
41a6e3b02f Revert "remove emulator_vendor.mk from aosp_arm64.mk"
This reverts commit a780171da6.

Reason for revert: This appears to be causing intermittent build
failures. Vendor is now small enough that sometimes it does not
get enough inodes allocated for the files that must be copied to it.

Bug: 155340761
Change-Id: I453101a65d4c8b5824467d0bb7cc8c3a03ca2740
2020-04-30 05:55:58 +00:00
David Zeuthen
a9800b4db5 Merge "Update Identity Credential to V2 in VNDK list" 2020-04-29 23:41:41 +00: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
Steven Laver
8e2086e6e3 releasetools: correct allowed property sources for incremental OTAs
When loading build info from a previous version of Android, the set of
allowed property sources should match those available in that version.
In this particular case, the product_services partition was a valid
property source in Android 10.

Bug: 155053195
Test: ran unit tests from test_common.py
Test: generated an incremental OTA which previously failed
Change-Id: Ic0b0a112656533eca78dee31517deff7e3c8d7cc
2020-04-29 22:30:42 +00:00
Treehugger Robot
1d62e0dbeb Merge "remove emulator_vendor.mk from aosp_arm64.mk" 2020-04-29 21:10:34 +00:00
Steve Muckle
a780171da6 remove emulator_vendor.mk from aosp_arm64.mk
Continue the removal of emulator-specific bits from the generic
aosp_arm64 product.

Bug: 111538404
Change-Id: I97a8083bfdc3881ab70aaf73e9ace58435ddbc67
2020-04-29 11:25:07 -07:00
Treehugger Robot
643724cbbc Merge "remove goldfish vendor from aosp_arm64" 2020-04-29 14:52:31 +00:00
Steve Muckle
57ad4b2541 remove goldfish vendor from aosp_arm64
This is causing goldfish kernel modules to show up in the GKI.

Bug: 155230412
Change-Id: I78cc307a770a20235728e8baf0dc59828b627877
2020-04-28 22:06:45 -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
Treehugger Robot
7cdc91f5ea Merge "Add elsk to the owner of scripts" 2020-04-29 00:32:31 +00:00
David Zeuthen
236601f86d Update Identity Credential to V2 in VNDK list
Bug: 154631410
Test: atest VtsHalIdentityTargetTest
Test: atest android.security.identity.cts
Change-Id: I7d08d0aec7bab1f456237e46a2c3ae74b02020f9
2020-04-28 19:37:09 -04: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
Tianjie
ded2ae16a5 Add elsk to the owner of scripts
Test: build
Change-Id: Ia722605596c354d4e295a6d18a2696fdf90c582c
2020-04-28 14:56:01 -07:00
Elliott Hughes
b5e650a119 Merge "releasetools: Use du -b" 2020-04-28 16:55:49 +00: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
Treehugger Robot
32a8c39ca8 Merge "enable BOARD_EXT4_SHARE_DUP_BLOCKS for generic_arm64" 2020-04-27 17:31:52 +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
Treehugger Robot
7b66a61d9b Merge "Restore $(SOONG_OUT_DIR)/ndk/% in static_whitelist_patterns" 2020-04-27 10:48:53 +00: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
Steve Muckle
e0a08fde91 enable BOARD_EXT4_SHARE_DUP_BLOCKS for generic_arm64
Bug: 154907226
Change-Id: Iab55afbfaf7d28ac0e826f8eb94b113a2780a4c9
2020-04-24 23:10:02 +00:00
Dan Shi
7d1f8cec25 [VTS] copy ltp and kselftest to testcase folder
Bug: 154446791
Test: m -j vts_kernel_tests vts
Change-Id: I405c227293085d3fd0603e9eba5ce276d7dc14d5
2020-04-24 14:49:25 -07:00
Ulyana Trafimovich
7146d5f41e Merge "Add PRODUCT_SYSTEM_SERVER_JARS_EXTRA interface" 2020-04-24 15:23:32 +00:00
Treehugger Robot
691d385147 Merge "Clean up static_whitelist_patterns" 2020-04-24 12:03:21 +00:00
Treehugger Robot
4aa437f3ab Merge "Extend static_whitelist_patterns" 2020-04-24 08:02:33 +00:00
Jeongik Cha
ab50b8fa85 Extend static_whitelist_patterns
product-installed-files generates more default artifacts than
$(call module-installed-files,$(call auto-included-modules)),
and it causes problems when we try to apply this mechanism to other
partition

So use product-installed-files with an empty parameter as static
whitelist

Test: apply require-artifacts-in-path to other partition(or path),
      and then, m nothing
Test: add system module outside mainline_system.mk, and check if there is error.

Bug: 148993225
Change-Id: Ie110f20ff833229b23a777ff1decb32f84b9cef7
2020-04-24 05:08:02 +00:00
Jeongik Cha
4472819166 Clean up static_whitelist_patterns
$(HOST_OUT)/% and $(SOONG_OUT_DIR)/ndk/% are not necessary anymore.

Bug: b/148993225
Test: m nothing
Change-Id: If2551283ebb6c516c029d1c04aebe25661bc6a1a
2020-04-24 14:05:49 +09:00
Rock.Yeh
2a703ce2f6 Add PRODUCT_SYSTEM_SERVER_JARS_EXTRA interface
This interface allows vendor to append their system server jars after AOSP's
without changing inherit order.

Test: booting
Test: build pass on branch r-fs-release with this patch

Change-Id: I0ddf35bdf725c262f817985f5494b5968db21fcd
2020-04-23 10:29:40 +08:00
Treehugger Robot
be01cf841e Merge changes I465ea6c9,I57b77d7c
* changes:
  generate multiple boot.img files in aosp_arm64
  create emulator_arm64 device for sdk_phone_arm64 to use
2020-04-22 03:45:49 +00:00