Commit graph

1544 commits

Author SHA1 Message Date
Yuxin Hu
9dfc376c19 Use ro.gfx.angle.supported to indicate if ANGLE is built in vendor
This is a change cherry-picked from aosp:
https://r.android.com/2560175

Merged-In: I0fb881962ab77abd18f05d33393c4ee11694109c

Bug: b/270994705
Test: m -j45; flash and check Pixel 7 boots fine
atest CtsAngleIntegrationHostTestCases

Change-Id: I4632ff64bc26623c796b992a71761a754149955a
2023-04-26 21:02:13 +00:00
Florian Mayer
ed97847d9a Merge "Include hwasan lib and runtime on arm64 system images" 2023-04-14 23:27:56 +00:00
Florian Mayer
201eb3b6cc Include hwasan lib and runtime on arm64 system images
This is needed so we can run hwasan-enabled apps for debugging on normal
system images.

Bug: 276930343
Change-Id: Ie572d77307e5e6268b851ea5c96aae05d588dae3
2023-04-13 17:39:25 -07:00
Wei Li
c4d0a61ee3 Copy SBOM files to directory dist/sbom instead of dist/.
There will be more SBOM files for unbundled APEXs/APks, so collect all in sbom/ for scilo ingestion later.

Bug: 266726655
Test: CIs
Test: lunch aosp_cf_x86_64_phone-userdebug && m dist
Change-Id: Iff4f1177df425095cef3c95c7bf4b85c62fa2e8d
2023-04-13 02:12:32 +00:00
Wei Li
ff8e18cf3e Revert "Revert "Copy SBOM to dist directory when running "m dist".""
This reverts commit fd358ae340.

Reason for revert: fixed the issues in aosp/2529028 and aosp/2524438.

Change-Id: Ieb4e6189a9357dafe81f15c72d5603166d9caa4d
2023-04-11 23:43:54 +00:00
Treehugger Robot
4ae1b2e2b1 Merge "Add partition compatibility symlinks to installed file list." 2023-04-07 02:45:45 +00:00
Wei Li
e64367cf29 Add partition compatibility symlinks to installed file list.
Bug: 272358980
Test: CIs
Test: build/soong/tests/sbom_test.sh
Change-Id: If7c6b218a13dccc2cb74358b01dd9d5db52998fc
2023-04-05 11:06:40 -07:00
Wei Li
5bb735bd95 Quote the value of product mfr in case it contains space.
Bug: 277015970
Test: m sbom
Change-Id: Id18d5b60549a12d71f0eda626bb2a539025aafea
2023-04-05 10:24:12 -07:00
Juho Kim
fd358ae340 Revert "Copy SBOM to dist directory when running "m dist"."
This reverts commit bc7868b18e.

Reason for revert: DroidMonitor: Potential culprit for Bug 277015970 - verifying through ABTD before revert submission. This is part of the standard investigation process, and does not mean your CL will be reverted.

Change-Id: If7d2d070714d5b58e77488d4e26d4003bfc34f79
2023-04-05 07:10:21 +00:00
Wei Li
bc7868b18e Copy SBOM to dist directory when running "m dist".
Bug: 266726655
Test: Run "m dist" and sbom.spdx.json should be in dist directory.
Test: CIs
Change-Id: Iabd3b980863fcb62dd75b6f778c49447073b9cdf
2023-04-04 00:56:52 +00:00
Wei Li
ec0881e0c3 Filter out installed files of partitions not built for a target product in SBOM generation.
Also collect some information of all prebuilt partition images for later use in SBOM generation.

Bug: 272360068
Test: CIs
Test: build/soong/tests/sbom_test.sh
Change-Id: I82cd93a50e4230123d47feab9a558211c4276425
2023-04-03 20:01:34 +00:00
Treehugger Robot
d67a345f9a Merge "add PRODUCT_SOURCE_ROOT_DIRS product variable" 2023-03-29 17:04:37 +00:00
Treehugger Robot
f0889e28b6 Merge "remove reference to old VTS config" 2023-03-29 02:23:10 +00:00
Sam Delmerico
4c3b83fe70 add PRODUCT_SOURCE_ROOT_DIRS product variable
Change-Id: I31590eb133511a5dbdb8d6fe436cf511d1a160a2
2023-03-27 14:40:50 -04:00
Steven Moreland
aa81ee2a6e remove reference to old VTS config
No longer exists, no longer used.

Bug: 274790216
Test: N/A
Change-Id: Id11921707cd5141235850d88a6d2397e85726532
2023-03-22 21:11:42 +00:00
Spandan Das
0c01c90544 Update hardcoded references to android_*stubs_current
The hardcoded references should be updated to variables exported by
Soong. This enables the stub selection logic to exist in a single place.

Test: TH
Test: No change in out/build-<lunch_product>.ninja

Change-Id: I153f1c6ffc6c93d8a64c3edfef3e8d52c84207a3
2023-03-20 21:59:18 +00:00
Treehugger Robot
d2b9ad4eb4 Merge "Disable riscv64 dependency on bcc and ld.mc" 2023-03-16 19:39:00 +00:00
Wei Li
499333616c Generate SBOM of the target product in file sbom.spdx.json in product out directory.
Original aosp/2374663 was reverted, so this change cnotains the implementation but disabled by default and SBOM will not be built by default with "m dist".

The feature will be enabled later in small CLs after running tests successfully in forrest.

Test: m sbom
Test: m dist
Test: on aosp, lunch aosp_bluejay-userdebug && m dist
Bug: 266726655
Change-Id: I926d0f97f3a0330ef61d059f12ea660005d370e6
2023-03-14 15:14:06 -07:00
Kevin Han
161d711d4d Revert "Generate SBOM of the target product in file sbom.spdx in..."
Revert submission 2481062-sbom

Reason for revert: b/273332655

Reverted changes: /q/submissionid:2481062-sbom

Change-Id: Ie8a73d8dc50592204acd489482e0e9d96ffbd5df
2023-03-13 20:57:37 +00:00
Wei Li
88ac7ae7df Generate SBOM of the target product in file sbom.spdx in product out directory.
Original aosp/2374663 was reverted, try to submit it again with some fixes in this.

Test: m sbom
Test: m dist
Test: on aosp, lunch aosp_bluejay-userdebug && m dist
Bug: 266726655
Change-Id: Icf305770473f0c448a1ad721cbe7addf737115e4
2023-03-13 17:38:04 +00:00
Colin Cross
a1d6109978 Disable riscv64 dependency on bcc and ld.mc
riscv64 can't build the device version of bcc and ld.mc due to a
dependency on an old version of LLVM, but they are listed in
base_system.mk which can't add them conditionally based on the target
architecture.  Add a hack to base_system.mk to silence the warning
that the host-only modules are listed in PRODUCT_PACKAGES.  This
can be removed once renderscript is removed from the platform.

Test: lunch aosp_riscv64-userdebug && m
Change-Id: I8efd769a34b110dfb838f7016e029369cb9a0f01
2023-02-27 21:12:07 +00:00
Treehugger Robot
e473190d52 Merge "Resubmit: Initial add wvts to build" 2023-01-18 00:17:45 +00:00
Kelvin Zhang
b81b4e3621 Allow vendors to add custom vbmeta partitions
Currently we only have vbmeta_system and vbmeta_vendor. Add
BOARD_AVB_VBMETA_CUSTOM_PARTITIONS , which allows OEMs to define
their own vbmeta_*.img partitions. example: aosp/2381823

Bug: 263568805
Change-Id: Id671e2c3aee9ada90256381cce432927df03169b
2023-01-12 17:34:42 -08:00
Robert Shih
1b73bfbd97 Resubmit: Initial add wvts to build
[ Merge of pa/2264578 ]

Test: make wvts

Bug: 209663123
Change-Id: If1382ed06a93bc34d327ee88bf46ff290e84f786
2023-01-11 00:55:50 +00:00
Robert Shih
57fe3f6041 Revert "Initial add wvts to build"
This reverts commit 588f2e62da.

Reason for revert: b/265032293

Change-Id: I6a9dd24cfef2256288170f5bf59d24604f05d4d2
2023-01-10 18:51:18 +00:00
Robert Shih
588f2e62da Initial add wvts to build
[ Merge of pa/2264578 ]

Test: make wvts

Bug: 209663123
Change-Id: I089fcdfc385e9d01aa275f77a566ffecb5340495
2023-01-08 03:38:11 +00:00
Jiakai Zhang
d6c6e3a9f3 Determine whether to enable userfaultfd GC at build time.
This is determined by:
- a product config flag
- the vendor API level

It is then passed to the device as a system property
"ro.dalvik.vm.enable_uffd_gc".

This change is a no-op change. It doesn't enable userfaultfd GC by
default. OVERRIDE_ENABLE_UFFD_GC=default can be passed to the build
system to enable userfaultfd GC for testing purposes.

Bug: 242553398
Test: -
  1. lunch aosp_redfin-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "false" in the output
Test: -
  1. lunch aosp_oriole-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=default build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "true" in the output
Test: -
  1. lunch aosp_redfin-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=true build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "true" in the output
Test: -
  1. lunch aosp_oriole-userdebug
  2. OVERRIDE_ENABLE_UFFD_GC=false build/soong/soong_ui.bash --dumpvars-mode --vars=ENABLE_UFFD_GC
  3. See "false" in the output
Change-Id: Ifd6e6cddb502315912ff949619a5b526ae0d73ff
2022-11-17 16:33:44 +00:00
Yi-Yo Chiang
06c6273073 Remove deprecated BOARD_BUILD_SYSTEM_ROOT_IMAGE
This variable is always false or empty now, so clean up remaining
references of the variable.

Remove "buildvariant=" kernel commandline as it was used by
system-as-root kernels to determine the system build variant. It is
unsupported now.

Bug: 241346584
Test: Presubmit
Change-Id: I0f97b6e0bf8b03429f65366119ff78f9c7983516
2022-10-13 16:08:53 +08:00
Yi-Yo Chiang
70b69de18a Add ro.force.debuggable=0 to ADDITIONAL_SYSTEM_PROPERTIES
This should only be set to '1' by flashing debug boot image,
so default to '0' in system/build.prop.

Bug: 223517900
Test: Boot with and without debug boot image and check value of property
Change-Id: I0e0df7d86a31fd771248433513483e8ad600b5ed
2022-06-10 15:28:31 +08:00
Bob Badour
ba3372439f Create license metadata for copied targets.
Bug: 213388645

Test: m cts dist reportmissinglicenses
Change-Id: I43043e5e7b80d9f3210d6498c215846aec761add
2022-06-02 15:43:08 -07:00
Anton Hansson
55a8f02ea8 Remove unused dependencies from sdk goals
The SDK no longer includes system images, so no longer needs to depend
on targets that are only relevant for the system images.

Remove all the explicit dependencies that end up depending on
"everything" but are not included in the sdk zip.

Two positive side-effects:
- fewer unused things get built (now ~32k targets, down from ~108k)
- apexes no longer get built, eliminating the risk of mismatch between
  module sdk prebuilts and source-built AOSP apexes.

There are some potential risks with this CL:
- because we no longer forcefully rebuild everything, if there are bugs
  in dependencies of exising files in the SDK, incremental builds may
  not rebuild them.
- some files that get built into the SDK may be being built as a
  side-effect of other files included in the SDK, so removing one file
  may cause another to not get built. The solution to that is to add
  the file not getting built to ALL_SDK_FILES.

Bug: 205008975
Test: m sdk sdk_repo dist && diff sdk.zip before/after (identical)
Change-Id: I97284864f66aa88556fbe16864f45b04be97634e
2022-05-12 12:28:49 +00:00
Dan Shi
3e85ca9d4b Allow non-compat suite to locate testcases dir properly
cc_test that can run on hostside are default to be part of
host-unit-tests suite. The suite is set up similar to device-tests and
general-tests, and it's not a compatibility suite. So following variable
will always be empty:
$(COMPATIBILITY_TESTCASES_OUT_host-unit-tests.
It should use HOST_OUT_TESTCASES as testcases dir.

The same logic should be applied to art-host-tests.

Bug: None
Test: build
Change-Id: Ieddacd5157da73c6df473c103be109d9c3a55281
2022-04-28 13:36:36 -07:00
Cole Faust
81f1e92ed8 Remove usages of long-form variables
The long-form variables (PRODUCTS.<makefile>.<variable>)
are used to get information about multiple products.
However, they've never really worked correctly, and so
importing multiple products is deprecated behavior.

Remove as many usages of the long-form variables and
multi-product imports as possible.

Bug: 228518445
Test: Manually
Change-Id: I0b67f16360ff8bdcdb39638de739440472bccf76
2022-04-13 15:49:56 -07:00
Treehugger Robot
ff15a27bd7 Merge "Non-module targets." 2022-04-11 19:42:29 +00:00
Treehugger Robot
7b51e8cbdf Merge changes from topic "colefaust_artifact_path_requirements"
* changes:
  Add artifact path requirement support to Starlark
  Support `m product-graph` in Starlark product config
2022-04-08 17:32:25 +00:00
Bob Badour
3a0f0c157e Non-module targets.
Bug: 151177513
Bug: 213388645
Bug: 210912771

Test: m droid dist reportmissinglicenses

Change-Id: Ia7cddef9748f6c036a2fc7539dad717ebc131f7c
2022-04-07 22:03:29 -07:00
Colin Cross
ac7febc9c7 Revert "Revert "Produce mappings of hashes to elf symbols and r8 dictionaries""
This reverts commit 59ecb9e016.

Reason for revert: symbols_map is fixed to ignore non-elf files

Bug: 218888599
Change-Id: I88654b2dba3dfb9ab2809b0555544277279f345d
2022-04-06 01:11:20 +00:00
Cole Faust
2e8bb7989e Add artifact path requirement support to Starlark
Artifact path requirements requires setting some new variables,
and also dumping the state of the product config variables
after evaluating partial products that set artifact path requirements.

Bug: 188079133
Test: Removed the code that disabled artifacts path requirements from the rbc dashboard script,
      and verified that it was still green for aosp_arm64
Change-Id: I228e35285d788f4c83aa695c0f28b7c7db02544c
2022-04-05 16:53:38 -07:00
Cole Faust
0472730380 Support m product-graph in Starlark product config
Bug: 221312856
Test: Manually
Change-Id: Ia3a78df2de356801c83b1ba5c17601acfc026d06
2022-04-05 16:52:23 -07:00
Colin Cross
59ecb9e016 Revert "Produce mappings of hashes to elf symbols and r8 dictionaries"
This reverts commit 3570b3ed86.

Reason for revert: b/228195288

Bug: 218888599
Change-Id: I17b38ca1b6f8940d682f2782515bfd5f8db1ce58
2022-04-05 17:47:27 +00:00
Colin Cross
3570b3ed86 Produce mappings of hashes to elf symbols and r8 dictionaries
Run the symbols_map tool on each unstripped binary and proguard
dictionary while copying it to produce a textproto that maps the
hash to the symbol/dictionary file location.  Combine the textprotos
into a mapping file when producing the zipped build artifacts.

Bug: 218888599
Test: m dist
Change-Id: I78997e2f3b631ed74213903cc8e72415b2d7eee0
2022-04-04 16:04:52 -07:00
Colin Cross
ce3c48db58 Merge changes I084158ff,I2f2ba905,Ic9af8761
* changes:
  Depend on PRODUCT_COPY_FILES that are not in images
  Remove ALL_ORIGINAL_DYNAMIC_BINARIES
  Remove ALL_GENERATED_SOURCES
2022-03-22 22:24:39 +00:00
Colin Cross
79a76ec581 Depend on PRODUCT_COPY_FILES that are not in images
If0e4b958b3dfaa02771a5da70f970379635f904e made `droidcore` stop
depending on `files` so that installed files from unbuilt images
would not be built.  That also disabled the dependency on installed
files that were not in any image, but the vendor notice file had
overly broad dependencies that caused them to still be built.
Icdb11d3c72b180cd02231e8dc98ae500d6566a98 made the vendor notice
file dependencies less broad, exposing the missing `droidcore`
dependencies.

Track the list of installed device files that are not included in any
image, built or unbuilt, and add them as a dependency for `droidcore`.

Bug: 225187583
Test: m checkbuild
Test: check dependency path to encryptionkey.img
Change-Id: I084158ffb52b353e9a3eca9ad06a68c80d3bd371
2022-03-22 09:25:58 -07:00
Lucas Wei
8842016b30 Merge "Make build support vendor_kernel_boot image" 2022-03-22 13:48:34 +00:00
Bob Badour
7358398647 Fix typo -- no _gz on notice file name.
Test: m nothing reportmissinglicenses
Change-Id: I133950489a17d1bd30a7fb3bc1a96ff6699d475b
2022-03-18 12:12:43 -07:00
Bob Badour
dbb8d7a3d4 Apps-only notice file
Bug: 225050939
Bug: 68860345
Bug: 151177513
Bug: 151953481
Bug: 213388645
Bug: 210912771

Test: m alllicensemetadata reportmissinglicenses

Change-Id: I5564c59686277398e05bb59b30d548b2ed678eab
2022-03-17 13:55:15 -07:00
Lucas Wei
f57333f7fc Make build support vendor_kernel_boot image
Add vendor_kernel_boot image for vendors whose bootloader support
extra first stage booting kernel modules ramdisks. This benefit
kernel repo to build kernel-artifacts only image without Andorid
artifacts dependency.

Bug: 214409109
Signed-off-by: Lucas Wei <lucaswei@google.com>
Change-Id: If07218b86a7751b3d452a172610af960f5f9ec74
2022-03-16 23:13:19 +08:00
Treehugger Robot
0835ac67b6 Merge "Change how we set ro.product.first_api_level." 2022-02-23 20:49:14 +00:00
Peter Collingbourne
0e3b095886 Change how we set ro.product.first_api_level.
The goal of this change is to cause ro.product.first_api_level to be
set in /system/build.prop in targets with PRODUCT_FULL_TREBLE=false
(which may be the case for targets without the usual set of
hardware interfaces, such as the mini targets being added in
https://r.android.com/1966051).

Setting ro.product.first_api_level is necessary for devices with newer
kernels to boot because it controls which metadata encryption format
is used, and an old format that is incompatible with new kernels is
used by default (see commit 4073c0b5241b635cb59e9e8a75ddcc783b5a99ce in
system/vold). There also appear to be e.g. bionic tests that check this
property. So it seems reasonable to set it even if PRODUCT_FULL_TREBLE
is false.

To begin with, stop adding it to ADDITIONAL_SYSTEM_PROPERTIES. There's
basically no point in adding it there because it will be filtered
out by the property blocklist for the system partition, whether
PRODUCT_FULL_TREBLE is true or false. This lets us remove the
blocklist entry, which causes ro.product.first_api_level to
appear in /system/build.prop via ADDITIONAL_VENDOR_PROPERTIES on
PRODUCT_FULL_TREBLE=false targets.

Bug: 217455793
Change-Id: I8c07baf9d308ea734ffed5d9b1776b60cdbf3435
2022-02-18 20:03:10 -08:00
Cole Faust
900999973e Sort AB_OTA_PARTITIONS
Some product config makefiles are being refactored for
the conversion to Starlark. In order to test that the
refactor doesn't cause any meaningful change, we test
that the ninja files are the same before/after the refactor.
Currently, they have differences in the order of AB_OTA_PARTIONS,
which shouldn't matter. In order to increase our confidence
and make the ninja files more stable, sort AB_OTA_PARTITIONS
before it's used.

Bug: 220169197
Test: Presubmits
Change-Id: I6a9f9f2990406d810577cf8930416925f2987311
2022-02-17 11:35:27 -08:00