Commit Graph

67935 Commits

Author SHA1 Message Date
Paul Scovanner 74a0816d49 Update Security String to 2021-05-01 am: 6f23fe1713
Original change: https://googleplex-android-review.googlesource.com/c/platform/build/+/13919906

Change-Id: I394bbc8fe09f0ef637e82685845e4eca1ba0112e
2021-03-23 23:14:35 +00:00
Ulya Trafimovich 1a3b145803 Add PRODUCT_BROKEN_VERIFY_USES_LIBRARIES.
If set to true, it disables <uses-library> checks for a product. It is
possible to override with environment variable RELAX_USES_LIBRARY_CHECK
on the command-line.

Per product configuration is needed rather than per board configuration
(such as BUILD_BROKEN_* variables) because of the specifics of
<uses-library> checks: they depend on the product packages list, and
not on the board config.

One example of a product family that needs to disable the checks are
the SDK builds (e.g. sdk_gphone_x86_64), see b/183339664.

Bug: 183339664
Bug: 132357300
Test: treehugger
Change-Id: Ia58559e4e70163da94e9eb7b8a6133e0cbecd459
2021-03-23 12:36:24 +00:00
Treehugger Robot b20d39573b Merge "Build module-info.json in dist" am: 9657a54894 am: a0ece52b29
Original change: https://android-review.googlesource.com/c/platform/build/+/1648028

Change-Id: I87abebcee079707cb1f996e62ece4d4896a8b97c
2021-03-23 12:06:52 +00:00
Przemyslaw Szczepaniak 9354bdc53b Merge "Add new llndk library, libneuralnetworks_shim.so" am: fd444b55b5 am: 8a7e8d1166
Original change: https://android-review.googlesource.com/c/platform/build/+/1584864

Change-Id: I1e8d228d6d3222d320b81a4d18904e849ab05444
2021-03-23 12:06:36 +00:00
Inseob Kim 35f63019c9 Fix SepolicySplit soong variable
It should be "filtered" by "true" because all non-empty values become
true when using add_json_bool.

Test: m selinux_policy on sc-arc
Change-Id: I35d5881d83746230793cf8ced76885607e82334a
2021-03-23 20:47:39 +09:00
Treehugger Robot a0ece52b29 Merge "Build module-info.json in dist" am: 9657a54894
Original change: https://android-review.googlesource.com/c/platform/build/+/1648028

Change-Id: I94ba1b40950d11877a570416872b4a927f438173
2021-03-23 11:38:59 +00:00
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 a3af3a84f8 Merge "Update OWNERS for GSI files" am: ebb3176268 am: e2080ee1ff
Original change: https://android-review.googlesource.com/c/platform/build/+/1645003

Change-Id: Ice278100e7186c49c4389eff8f3ddf4d62ea8250
2021-03-23 05:08:38 +00:00
Treehugger Robot d2d14bfcbf Merge "Add PlatformSepolicyVersion to soong_config" am: fc6c0b8c67 am: fff16e2cb4
Original change: https://android-review.googlesource.com/c/platform/build/+/1648032

Change-Id: I184f03ece2b2c71210b8e743713b676ec528fb7a
2021-03-23 05:08:28 +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 9a4effb073 Merge "Support GKI boot.img v4 signing" am: 30f09a1a2e am: 0307dd6859
Original change: https://android-review.googlesource.com/c/platform/build/+/1635599

Change-Id: Ibbca239b0fda2a5e114e54c06ee96f7b24b8c4a4
2021-03-23 01:51:46 +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 53712c218d [automerger skipped] Merge "Move allowed_deps.txt to packages/modules/common." am: b90b546567 am: 50528eb61f -s ours
am skip reason: skip tag Change-Id I6866e7a80bce03f991f5b99fb5182c91351cc311 with SHA-1 1cd28cdd03 is already in history

Original change: https://android-review.googlesource.com/c/platform/build/+/1628662

Change-Id: I4b8883be4ecd039b2502d904722332fc425a6983
2021-03-22 12:01:19 +00: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 557b5fd283 Merge "Nextgen release: Don't build images that GSI don't need" am: 680a642645 am: d5c7c3eb59
Original change: https://android-review.googlesource.com/c/platform/build/+/1644987

Change-Id: I8ddc8daa5225ed0613285fc2b7197de6da88c0f1
2021-03-22 07:17:08 +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 62c912425e Merge "Reorder compatibility libraries used in class loader context." am: fd4844272c am: a7554db569
Original change: https://android-review.googlesource.com/c/platform/build/+/1633442

Change-Id: I27757c649dd8961f0a9287d933d707219285054e
2021-03-21 13:38:10 +00: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 32afeb1bb3 Merge "manifest_check.py: translate library names using dexpreopt configs." am: 389f95dcbe am: 4f2133e34a
Original change: https://android-review.googlesource.com/c/platform/build/+/1620976

Change-Id: I12fb391e7d3b874752a8527ade49fa86619c369e
2021-03-20 13:26:53 +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 707f1604cd Merge "Extracting kernel should not depend on system/vendor build." am: 93ccefb210 am: c47dc3d490
Original change: https://android-review.googlesource.com/c/platform/build/+/1643083

Change-Id: I416ba046f541b14bd8cf6fefb49e97c10aa2f341
2021-03-19 23:08:23 +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 6bc98e76eb Merge "Consolidate manifest_check for different module types." am: 98dba54385 am: edfd79a2f2
Original change: https://android-review.googlesource.com/c/platform/build/+/1640259

Change-Id: I784e0bf289855a5c5ac29dd30af75da26f5c01e9
2021-03-19 18:01:18 +00: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 82afe88d9e [automerger skipped] Merge "Keystore 2.0: Enable keystore2 by default" am: 306a6d1fcc am: a722803e55 -s ours
am skip reason: skip tag Change-Id Id9f39dc5189b7eda4617328c41a4ac4d4e3af578 with SHA-1 74eedd9d30 is already in history

Original change: https://android-review.googlesource.com/c/platform/build/+/1626723

Change-Id: Ic2cfb70d1b13e69bc84223eb7b49aa20053ffe36
2021-03-19 17:03:11 +00: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
TreeHugger Robot 7830c4a383 Merge "Keystore 2.0: Enable keystore2 by default" into rvc-qpr-dev-plus-aosp 2021-03-19 15:05: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