Commit Graph

67777 Commits

Author SHA1 Message Date
Przemyslaw Szczepaniak
8a7e8d1166 Merge "Add new llndk library, libneuralnetworks_shim.so" am: fd444b55b5
Original change: https://android-review.googlesource.com/c/platform/build/+/1584864

Change-Id: I05fe4bda309794fd88472f2f820d184e4bfb6161
2021-03-23 11:30:17 +00:00
Treehugger Robot
9657a54894 Merge "Build module-info.json in dist" 2021-03-23 10:16:05 +00:00
Przemyslaw Szczepaniak
fd444b55b5 Merge "Add new llndk library, libneuralnetworks_shim.so" 2021-03-23 09:15:42 +00:00
SzuWei Lin
e2080ee1ff Merge "Update OWNERS for GSI files" am: ebb3176268
Original change: https://android-review.googlesource.com/c/platform/build/+/1645003

Change-Id: Ic61d8f51b767724d42dd1d47d3f3a3a5ee5f6459
2021-03-23 04:28:36 +00:00
Treehugger Robot
fff16e2cb4 Merge "Add PlatformSepolicyVersion to soong_config" am: fc6c0b8c67
Original change: https://android-review.googlesource.com/c/platform/build/+/1648032

Change-Id: I63e63a2faaaa3cefde1847fee0a3af93c96e6a35
2021-03-23 04:27:38 +00:00
SzuWei Lin
ebb3176268 Merge "Update OWNERS for GSI files" 2021-03-23 03:53:33 +00:00
Treehugger Robot
fc6c0b8c67 Merge "Add PlatformSepolicyVersion to soong_config" 2021-03-23 03:53:18 +00:00
Treehugger Robot
0307dd6859 Merge "Support GKI boot.img v4 signing" am: 30f09a1a2e
Original change: https://android-review.googlesource.com/c/platform/build/+/1635599

Change-Id: If9ff0ace398cd50e2526da2f8d67cc016f4ba794
2021-03-23 01:12:55 +00:00
Treehugger Robot
30f09a1a2e Merge "Support GKI boot.img v4 signing" 2021-03-23 00:24:33 +00:00
Ryan Prichard
85a1213232 Switch platform-NDK unwinder to LLVM libunwind.a prebuilt
Link against the libunwind.a shipped with the NDK so it matches what's
linked into the NDK's libc++_shared.so.

For arm32, binary.mk and cxx_stl_setup.mk had been adding two different
versions of the LLVM unwinder to the same linker command-line. Remove
the duplicate one from cxx_stl_setup.mk.

-Wl,--exclude-libs is now unnecessary because the symbols are marked
hidden in the archive itself.

Bug: http://b/153025717
Test: device boots, manually inspect some linker command lines
Change-Id: Ie7182bd565014348b16448976dc6587d2885ba99
2021-03-22 14:00:59 -07:00
Inseob Kim
232f6ac676 Add PlatformSepolicyVersion to soong_config
PlatformSepolicyVersion and BoardSepolicyVers haven't assigned correctly
so far. Below is the reason why it hasn't been discovered yet.

DeviceConfig.PlatformSepolicyVersion() was added to support mixed
sepolicy build (setting BOARD_SEPOLICY_VERS and building vendor sepolicy
with old plat policy files). Soong compares PlatformSepolicyVersion()
and BoardSepolicyVers(), and used old vendor sources if both are
different. Back then, the only place where such logic played a role was
selinux contexts. Test codes were running as intended: after setting
BOARD_SEPOLICY_VERS the context files were built against old policies.

But there were two mistakes:

1) PlatformSepolicyVersion() was not added to soong_config.mk, so it was
always empty.
2) BOARD_SEPOLICY_VERS was set to default in system/sepolicy/Android.mk,
which was processed after soong_config. So if BOARD_SEPOLICY_VERS was
not set in BoardConfig.mk, BoardSepolicyVers() was empty, not
PLATFORM_SEPOLICY_VERSION.

And there were no issues as Soong only checked equality.

To fix the issue correctly, this commit adds the variable
PlatformSepolicyVersion, and then handles BoardSepolicyVers correctly by
returning PlatformSepolicyVersion if it's empty.

Test: set BOARD_SEPOLICY_VERS and see vendor_file_contexts changes
Change-Id: I4e306ec1f5225094a39f0c8d94f5e7683d70d60e
2021-03-22 22:34:40 +09:00
satayev
50528eb61f Merge "Move allowed_deps.txt to packages/modules/common." am: b90b546567
Original change: https://android-review.googlesource.com/c/platform/build/+/1628662

Change-Id: I41f0f211af3790784757bb716f1a6ba1ee8a5586
2021-03-22 11:22:20 +00:00
satayev
b90b546567 Merge "Move allowed_deps.txt to packages/modules/common." 2021-03-22 10:48:45 +00:00
easoncylee
330af541eb Build module-info.json in dist
This is needed for test mapping to have module-info.json built out for
device targets so that test harness can do some checks to ensure the
test is properly configured in TEST_MAPPING files.

module-info has alreay depended on droidcore, which will be
built out in the infrastructure.

Verified in a forrest run: https://android-build.googleplex.com/builds/forrest/run/L81000000840964024

Bug: 154931418
Test: m -j droidcore
      m -j module-info
Change-Id: I76b97debe3fbd51c2dc033c91ed9c2eb73cfa8a2
2021-03-22 10:33:36 +00:00
Yo Chiang
d5c7c3eb59 Merge "Nextgen release: Don't build images that GSI don't need" am: 680a642645
Original change: https://android-review.googlesource.com/c/platform/build/+/1644987

Change-Id: I03edf1e7eb60530bc14e5d8d4a8d15682123164d
2021-03-22 06:38:58 +00:00
Yo Chiang
680a642645 Merge "Nextgen release: Don't build images that GSI don't need" 2021-03-22 05:41:31 +00:00
Yi-Yo Chiang
a88d2da587 Nextgen release: Don't build images that GSI don't need
These images are never used by GSI. Building them is a waste of resource
and a potential source of confusion, for they are packaged into the
*-img-*.zip of GSI. Skip building them.

Bug: 183068624
Test: "m dist" on GSI and check the build artifacts under OUT and DIST
  directories, and check the contents of *-img-*.zip
Change-Id: Ic14cfdd10ed26d975b369ce128e4b284378219ef
2021-03-22 05:41:23 +00:00
SzuWei Lin
76d96ae6b6 Update OWNERS for GSI files
Bug: 183342911
Test: n/a
Change-Id: Ia3faa182266a8203391884d79dae56f3212a3b7e
2021-03-22 12:13:55 +08:00
Treehugger Robot
a7554db569 Merge "Reorder compatibility libraries used in class loader context." am: fd4844272c
Original change: https://android-review.googlesource.com/c/platform/build/+/1633442

Change-Id: I80c22788dffb9f54f4d7a2725aed551da3692cca
2021-03-21 12:53:54 +00:00
Treehugger Robot
fd4844272c Merge "Reorder compatibility libraries used in class loader context." 2021-03-21 11:14:08 +00:00
Treehugger Robot
4f2133e34a Merge "manifest_check.py: translate library names using dexpreopt configs." am: 389f95dcbe
Original change: https://android-review.googlesource.com/c/platform/build/+/1620976

Change-Id: Ic760dc00446416232e0cd032b96107cf75bf9daa
2021-03-20 12:48:04 +00:00
Treehugger Robot
389f95dcbe Merge "manifest_check.py: translate library names using dexpreopt configs." 2021-03-20 12:12:52 +00:00
Yifan Hong
c47dc3d490 Merge "Extracting kernel should not depend on system/vendor build." am: 93ccefb210
Original change: https://android-review.googlesource.com/c/platform/build/+/1643083

Change-Id: I31cba5f40499ae5e4de526363f8f0a5b7ec32021
2021-03-19 22:27:07 +00:00
Yifan Hong
93ccefb210 Merge "Extracting kernel should not depend on system/vendor build." 2021-03-19 22:00:15 +00:00
Yifan Hong
c0f904e069 Extracting kernel should not depend on system/vendor build.
If system and vendor are built separately, none of the two
builds contained kernel information. The process of extracting
kernel information shouldn't depend on system and vendor
builds, but on the existance of the kernel image.

With this change, one of system or vendor build may have
INSTALLED_KERNEL_IMAGE defined and the other has
PRODUCT_OTA_ENFORCE_VINTF_KERNEL_REQUIREMENTS defined. The one
with INSTALLED_KERNEL_IMAGE defined will contain kernel information
in target files.

After target files are merged, check_target_files_vintf will kick
in to do the checks properly.

Test: forrest
Bug: 180475190
Change-Id: I8d887dd94e1171ab277f02f25534caf098e3faae
2021-03-19 12:50:38 -07:00
Treehugger Robot
edfd79a2f2 Merge "Consolidate manifest_check for different module types." am: 98dba54385
Original change: https://android-review.googlesource.com/c/platform/build/+/1640259

Change-Id: Icf35fd34e0a4f2ef907f65e0069c63db9c896902
2021-03-19 17:41:10 +00:00
Janis Danisevskis
cf8a05bbfa Keystore 2.0: Remove keystore and keystore2.enable property.
* Remove keystore as build target.
* Remove the default setting of the keystore2.enable property.

Bug: 171563717
Test: N/A
Change-Id: I2f29d18650a5e2b819985d202cb0c4002bbe94de
2021-03-19 10:31:40 -07:00
Treehugger Robot
98dba54385 Merge "Consolidate manifest_check for different module types." 2021-03-19 16:59:35 +00:00
Treehugger Robot
a722803e55 Merge "Keystore 2.0: Enable keystore2 by default" am: 306a6d1fcc
Original change: https://android-review.googlesource.com/c/platform/build/+/1626723

Change-Id: I1d620c187e57f2b73c816638111fbb7361239ea3
2021-03-19 16:25:27 +00:00
Treehugger Robot
306a6d1fcc Merge "Keystore 2.0: Enable keystore2 by default" 2021-03-19 16:06:00 +00:00
Przemysław Szczepaniak
8685248a99 Add new llndk library, libneuralnetworks_shim.so
libneuralnetworks_shim.so allows vendor service to run
a NNAPI Driver sAIDL service backed by a NNAPI SL Driver.
SL Driver is a shared library with a known stable C API,
that contains vendor driver implementation.

libneuralnetworks_shim.so is part of com.android.neuralnetworks
APEX package.

Test: run VTS driver sample backed by shim on CF
Bug: 172925288
Change-Id: Ibbb0af00377a2ade212740b61158274a6942be9d
2021-03-19 13:27:17 +00:00
Ulya Trafimovich
413be716ab Reorder compatibility libraries used in class loader context.
Compatibility library "android.hidl.manager-V1.0-java" should go
before "android.hidl.base-V1.0-java" in class loader context for
dexpreopt, because this is the order used by PackageManager when it
constructs class loader context on device.

This allows to avoid "ClassLoaderContext classpath element mismatch"
errors on first boot for Calendar and messaging apps, which have old
enough targetSdkVersion to need HIDL compatibility libraries. Previously
the errors were masked because these apps used the deprecated
&-classpath hack.

Bug: 132357300

Test: lunch aosp_cf_x86_64_phone-userdebug && m && launch_cvd \
      adb wait-for-device && adb root && adb logcat \
      | grep -E 'ClassLoaderContext [a-z ]+ mismatch'
      # empty grep output, no errors
Change-Id: Ibde9a4578cd86b85a9e7f11d8752716b6567e51e
2021-03-19 11:01:53 +00:00
Ulya Trafimovich
928fc2c1ef manifest_check.py: translate library names using dexpreopt configs.
Java modules that are defined in makefiles are not processed in
topological order, so it is necessary to communicate information from
dependencies via dexpreopt.config files. This has already been done in
make/core/dex_preopt_config_merger.py, and now manifest_check.py also
needs to get library names from their dexpreopt.config files.

This is to accommodate Java libraries which name differs from their
modules name. Soong properties `uses_libs`/`optional_uses_libs` and
makefile vars `LOCAL_USES_LIBRARIES`/`LOCAL_OPTIONAL_USES_LIBRARIES`
contain module names, not library names, so it is necessary to translate
them when comparing against library names in the manifest.

Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m
Change-Id: I769b508a927d87a5ffbabf9aa45eebfb954b8bd2
2021-03-19 11:01:39 +00:00
Ulya Trafimovich
2bf587713b Consolidate manifest_check for different module types.
Move manifest_check (a.k.a. verify_uses_libraries check) from makefiles
for specific module types to common makefile dex_preopt_odex_install.mk,
which is included by all Java modules that may require dexpreopt. If a
modules locally disables dexpreopt, it still goes through manifest_check
(unless dexpreopt is globally disabled or the module has no Java code).

This CL allows to have manifest_check and dexpreopt in the same makefile
(which is needed for a follow-up CL that will reuse dexpreopt variables
for manifest_check).

Bug: 132357300
Test: lunch cf_x86_64_phone-userdebug && m
Change-Id: Ia217cfc247ae43d8fc716bfc1fe9dcce1d00aa7f
2021-03-19 11:00:51 +00:00
Treehugger Robot
ea649248ca Merge "Define ro.board.first_api_level property" am: 5dcd959a90
Original change: https://android-review.googlesource.com/c/platform/build/+/1640362

Change-Id: I989107357cddac790c3cdb3b24fcc9e776fceb8e
2021-03-19 09:19:23 +00:00
Treehugger Robot
86d7b401dd Merge "Update size limit for madvising odex, vdex files" am: 6a1722dddd
Original change: https://android-review.googlesource.com/c/platform/build/+/1646091

Change-Id: I9b770cd7e78d6cd412fe4b6b682f4e88de76111f
2021-03-19 09:18:40 +00:00
Bowgo Tsai
27c39b0af2 Support GKI boot.img v4 signing
Commit I9967d06bde0e18a12b84b5b0b568db09765fe305 supports adding a
generic boot_signature into boot.img v4. This change allows replacing
the boot_signture signing key with a release key during the release
process.

The default GKI signing key can be specified in a BoardConfig.mk via:

  BOARD_GKI_SIGNING_KEY_PATH := external/avb/test/data/testkey_rsa2048.pem
  BOARD_GKI_SIGNING_ALGORITHM := SHA256_RSA2048
  BOARD_GKI_SIGNING_SIGNATURE_ARGS := --prop foo:bar

The release signing key/algorithm can be specified by the following options
when invoking sign_target_files_apks:

  --gki_signing_key=external/avb/test/data/testkey_rsa4096.pem
  --gki_signing_algorithm=SHA256_RSA4096

Additional arguments for generating the GKI signature can be
specified as below:

  --gki_signing_extra_args="--prop gki:prop1 --prop gki:prop2"

Bug: 177862434
Test: make dist
Test: sign_target_files_apks \
        --gki_signing_key=external/avb/test/data/testkey_rsa4096.pem \
        --gki_signing_algorithm=SHA256_RSA4096 \
        --gki_signing_extra_args="--prop gki:prop1 --prop gki:prop2" \
        ./out/dist/*-target_files-eng.*.zip signed.zip
Test: Checks GKI boot_signature is expected after signing:
      `unzip signed.zip IMAGES/boot.img`
      `unpack_bootimg --boot_img IMAGES/boot.img --out unpack`
      `avbtool info_image --image unpack/boot_signature`
Test: unit test: releasetools_test and releasetools_py3_test

Change-Id: I61dadbc242360e4cab3dc70295931b4a5b9422a9
2021-03-19 17:11:04 +08:00
Treehugger Robot
5dcd959a90 Merge "Define ro.board.first_api_level property" 2021-03-19 08:50:36 +00:00
Treehugger Robot
6a1722dddd Merge "Update size limit for madvising odex, vdex files" 2021-03-19 08:48:33 +00:00
Inseob Kim
5104227657 Merge "Add sepolicy related variables" am: 19b0ef8949
Original change: https://android-review.googlesource.com/c/platform/build/+/1641839

Change-Id: I0e3bee38bdab5bf0e3671676f7afa1960179e85c
2021-03-19 00:30:48 +00:00
Justin Yun
b9957b6fdc Merge "Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__" am: 25dc5ea096
Original change: https://android-review.googlesource.com/c/platform/build/+/1622663

Change-Id: Ib81231800861d640e9eb81c3ca868f13a9863bf9
2021-03-19 00:29:52 +00:00
Inseob Kim
19b0ef8949 Merge "Add sepolicy related variables" 2021-03-19 00:07:58 +00:00
Justin Yun
25dc5ea096 Merge "Define __ANDROID_VENDOR__ and __ANDROID_PRODUCT__" 2021-03-18 23:33:43 +00:00
Jagadeesh Pakaravoor
3a10cc5c11 Update size limit for madvising odex, vdex files
Update the size limit for madvising (MADV_WILLNEED)
odex and vdex files to 100MB.

Art file continues to be madvised fully, with a UINT_MAX limit.

Test: presubmit
Bug: 178853586
Change-Id: Ie46a0658bf30a6a9908ab30b28ce097e434e7e2d
2021-03-18 15:29:01 -07:00
Tianjie Xu
d7f2250994 Merge "Check that sum of DAP groups is smaller than super" am: c63bf0ad7a
Original change: https://android-review.googlesource.com/c/platform/build/+/1641439

Change-Id: I79e917673b46e1103cdecc19b6c8bfb2382761a4
2021-03-18 18:02:48 +00:00
Ulyana Trafimovich
302dacb67d Merge "Add missing dependency on aapt." am: f0e648688a
Original change: https://android-review.googlesource.com/c/platform/build/+/1643882

Change-Id: Ie7529f05edaa9560e55b3c101947646e38354116
2021-03-18 18:01:26 +00:00
Sasha Smundak
5c8b09b2ef Product configuration in Starlark support files.
Bug: 170637441
Test: rbcrun build/make/tests/run.rbc
Change-Id: Ie8f0c3dea66a287f2b0a3b588c446bfbb2c9a978
2021-03-18 10:52:05 -07:00
Tianjie Xu
c63bf0ad7a Merge "Check that sum of DAP groups is smaller than super" 2021-03-18 17:33:29 +00:00
Ulyana Trafimovich
f0e648688a Merge "Add missing dependency on aapt." 2021-03-18 17:28:12 +00:00
Sasha Smundak
24159db21e Roboleaf product configuration runner
The application rbcrun executes Starlark scripts that define Android product configurations.
See README.md for details.

Test: go test
Fixes: 180529448
Change-Id: I7d728b47d3f381b7052a0d7d51c9e698e5c2e316
2021-03-18 10:03:59 -07:00