Commit Graph

26411 Commits

Author SHA1 Message Date
Treehugger Robot
bb0d6a42d8 Merge "Fix kernel module build of custom image" 2021-08-18 21:22:05 +00:00
Sasha Smundak
ed1f09cf4a Support product-copy-files-by-pattern macro
Bug: 193566316
Test: rbcrun build/make/tests/run.rbc
Change-Id: Idf462d7f58e8d4a6e8b3a1506306f9eb67130dc8
2021-08-18 09:28:04 -07:00
Treehugger Robot
82d34b6472 Merge "Most of the TARGET_COPY_OUT_xxx variables are not constant" 2021-08-17 13:05:31 +00:00
Sasha Smundak
412a0da66f Most of the TARGET_COPY_OUT_xxx variables are not constant
Bug: 193566316
Test: internal
Change-Id: I61ec23a927c3b8c340ce1930c88fe1837bdd35d1
2021-08-16 13:40:13 -07:00
Martin Stjernholm
36444ab0ec Remove PRODUCT_BOOT_JAR_MODULE_OVERRIDES.
This reverts commit efe6a4d748.

As a result of b/191269918, APEX variants are now consistently
identified by their "runtime names", i.e. their mount names under
/apex. Those names are now also used to identify the APEXes in
PRODUCT_BOOT_JARS and similar variables. That avoids implementing a
global lookup mechanism in Soong, and since they don't vary between
products also makes this override variable unnecessary.

Test: `m nothing` in internal
Bug: 191269918
Bug: 180325915
Change-Id: I6fd3d29d1c032c9f8bda0191781f9d2dc6f199a4
2021-08-15 22:30:03 +01:00
Spandan Das
9c1806331d Merge "Remove MODULE_BUILD_FROM_SOURCE=true for coverage builds" 2021-08-10 22:35:42 +00:00
Treehugger Robot
a21e1db314 Merge "definitions.mk: Detect bad zip files." 2021-08-10 16:48:51 +00:00
LaMont Jones
e1af00ba56 definitions.mk: Detect bad zip files.
If the jar file passed to add-jar-resources-to-package is passed a
non-zipfile, then we should produce an error.

Bug: 153900481
Test: manual
Change-Id: Idc4dd9afd89eaee08a9e792dfa2a759e64b783fc
2021-08-09 19:32:51 +00:00
Mark-PK Tsai
1024d6a17f Fix kernel module build of custom image
Correct the build-image-kernel-modules arguments then
the board can use BOARD_{CUSTOM_IMAGE}_KERNEL_MODULES
to install kernel modules.

Bug: 195888474
Change-Id: I65124acc470e7f6f701bf3c9f5481bb2d688d555
Signed-off-by: Mark-PK Tsai <mark-pk.tsai@mediatek.com>
2021-08-09 14:05:04 +08:00
Spandan Das
289fb6cad0 Remove MODULE_BUILD_FROM_SOURCE=true for coverage builds
This flag will be selectively added to build targets if necessary

Bug: 193569756
Test: m nothing
Change-Id: Ie0fd898b03aa91322dddd9137b038031d46c8d24
2021-08-06 02:25:04 +00:00
Sasha Smundak
596874af42 Soong namespaces should be initialized
Bug: 193540681
Test: rbcrun build/make/tests/run.rbc
Change-Id: I0ecafa41b462998e0bb386680683a798ae5c46e7
2021-08-04 17:25:44 -07:00
Sasha Smundak
8d97bf5327 Integrate Starlark-based configuration runner
If RBC_PRODUCT_CONFIG variable is set, obtain product configuration
variables by converting product configuration makefiles to Starlark
files and then executing them.
Also, introduce RBC_NO_PRODUCT_GRAPH variable to suppress product graph
generation. We cannot generate product graph with Starlark, so this
option allows to verify that the rest of the contents of the generated
Ninja files remains the same when Starlark-based converter is used.
This allows to perform the regression testing, i.e. running
`RBC_NO_PRODUCT_GRAPH=t DISABLE_ARTIFACT_PATH_REQUIREMENTS=t m nothing`
and
`RBC_PRODUCT_CONFIG=t m nothing`
should generate identical *.ninja files.

Bug: 181797530
Test: Manual
Change-Id: Ic6173a9640f32766b71c02a2b1833ce7a278e4cc
2021-08-04 17:15:16 -07:00
Xin Li
ec37feb519 Merge "Rename T to Tiramisu" 2021-08-04 08:27:34 +00:00
Xin Li
718d59849e DO NOT MERGE - Merge RQ3A.210805.001.A1.
Bug: 192585466
Merged-In: Ieba9625ca0ccedf285209954f1e766b20455c32f
Change-Id: I23e660c8ee9ab25fe966abaf88891cc3540a860e
2021-08-03 16:27:24 -07:00
Mathew Inwood
0361b625f2 Merge "Fix typo." 2021-08-03 09:27:41 +00:00
Bowgo Tsai
23ae3dcbe1 Merge "Adding vendor_boot-test-harness.img" 2021-08-03 06:07:13 +00:00
Mathew Inwood
87c4655f07 Fix typo.
Test: m

Change-Id: I6a85ea59bb6d6babd6979de22a944e8751ea287f
2021-08-02 15:00:10 +01:00
Mathew Inwood
99dffee4c6 Don't use prebuilt modules for sanitizer builds.
Prebuilt modules do not provide sanitizer binaries to using them in this
context is unsafe.

Bug: 194067130
Test: TH
Merged-In: I3682ae9ad963a8cd13bb395fe84dae515dc6d30f
Change-Id: I3682ae9ad963a8cd13bb395fe84dae515dc6d30f
2021-08-02 13:27:39 +01:00
Mathew Inwood
945184174c Don't use mainline prebuilts for coverage builds.
Test: TH
Bug: 192556458
Bug: 159241638
Merged-In: Id29e273c1df1fa27a038ebdcff1a17acca58bd46
Change-Id: Id29e273c1df1fa27a038ebdcff1a17acca58bd46
2021-08-02 13:25:03 +01:00
Hidefumi Kaneko
b09a36c8eb Fix typo for ODM prop files
_prop_files is missing a trailing _

Bug: 195034733
Test: manual - check that expected prop files are in the image
Change-Id: Ie042acc74fa56d5515cacd5f41ddc0f82d74f20c
2021-07-30 12:07:40 +02:00
Bowgo Tsai
87f60017b9 Adding vendor_boot-test-harness.img
boot-test-harness.img is used to allow adb root on user build
images. It also sets properties: ro.audio.silent=1 & ro.test_harness=1.

GKI 2.0 devices will use BOARD_PREBUILT_BOOTIMAGE so
boot-test-harness.img will not be generated.

Therefore, we have to introduce the vendor_boot-test-harness.img
as an alternative for boot-test-harness.img.

In the future, we'll simplify the flow as:
  + If a device has a /vendor_boot partition, builds
    vendor_boot-(test-harness|debug).img.
  + Otherwise, builds boot-(test-harness|debug).img.

boot-(test-harness|debug).img needs to be kept for some clients
to gracefully transit to using vendor_boot-(test-harness|debug).img.

Bug: 194654549
Test: make then `unpack_bootimg --boot_img $OUT/vendor_boot-test-harness.img`
Test: Check the ramdisk content in ./out/vendor_ramdisk

Change-Id: If3a1393b4ff3e69bb9b62f3b843b7858437d47bf
2021-07-30 00:54:47 +00:00
Sasha Smundak
a93e3d9985 Implement copy_files function
Bug: 193540681
Test: treehugger
Change-Id: Iffc64551e733747a9a29c14b1f674b3a533f44ba
2021-07-29 11:42:29 -07:00
Sasha Smundak
c106138baf Implement add_soong_namespace and add_soong_config_var_value functions
Bug: 193540681
Test: rbcrun build/make/tests/run.rbc
Change-Id: I129136e83d2d00ef5b64d3aab07b98719198dcfe
2021-07-29 11:24:35 -07:00
Sasha Smundak
0e4a5ad24b Trim spaces in the rule actions
When rule action contains something like
  cp $(FOO) ...
and FOO is set with
FOO := a \
 b \

the generated Ninja file constains extra spaces, making it
difficult to compare it to the same file generated by the
Starlark-based product configuration.

Bug: 181797530
Test: manual
Change-Id: I278bd8edf0f017a31c5b5115b2a38f4f663c55fc
2021-07-29 10:57:06 -07:00
Sasha Smundak
31b6b9442a Add copy-files macro
To allow refactoring a lot of product configuration makefiles.

Bug: 190051051
Test: treehugger
Change-Id: I1d22ed6f3df17fb616bd272c0d928aa1fdb9729a
2021-07-29 10:57:06 -07:00
satayev
72602c4687 Merge "Rename UpdatableSystemServerJars to ApexSystemServerJars." 2021-07-29 11:23:43 +00:00
satayev
ed0817932b Rename UpdatableSystemServerJars to ApexSystemServerJars.
This is consistent with naming for boot jars, e.g. ApexBootJars.

Bug: 191127295
Test: presubmit
Change-Id: I1d4378e0d2dc73af2ffd8c4cc66ab8c0e2981d2f
2021-07-28 14:03:57 +01:00
Roland Levillain
7b763f0d46 Merge "Add extra owners for file core/tasks/art-host-tests.mk." 2021-07-28 12:51:01 +00:00
satayev
96fa127572 Merge "Rename PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS to PRODUCT_APEX_SYSTEM_SERVER_JARS." 2021-07-28 10:36:39 +00:00
Roland Levillain
6db8228316 Add extra owners for file core/tasks/art-host-tests.mk.
Test: build/make/tools/checkowners.py -c build/make/core/tasks/OWNERS
Bug: 169111770
Change-Id: I6dbbabd35386d806a786e1d895070bb2c19fa2c6
2021-07-28 10:21:56 +01:00
satayev
a85d5225ee Rename PRODUCT_UPDATABLE_SYSTEM_SERVER_JARS to PRODUCT_APEX_SYSTEM_SERVER_JARS.
Regardless of an "updatable" property, list all apex jars in the same
variable. This is less confusing for devs and matches the pattern with
PRODUCT_APEX_BOOT_JARS.

Bug: 191127295
Test: atest CtsClasspathsTestCases
Change-Id: I3b12f26237636f4271cb000480928b3ce1c2e62f
Merged-In: I3b12f26237636f4271cb000480928b3ce1c2e62f
2021-07-27 16:09:52 +00:00
Roland Levillain
4d9d0aa86c Work around art-host-tests build issues when using ART prebuilts.
Using prebuilts of the ART Module seems to make
`COMPATIBILITY.art-host-tests.HOST_SHARED_LIBRARY.FILES` empty on
x86 targets, thus breaking the `art-host-tests` build target. As
a workaround, relax the corresponding build rule to allow for an
empty `COMPATIBILITY.art-host-tests.HOST_SHARED_LIBRARY.FILES`
list.

Test: lunch cf_x86_phone-userdebug
        && SOONG_CONFIG_art_module_source_build=false m art-host-tests
Bug: 194627489
Change-Id: I9e885be3c7161f6f09a93b3d32339a5a6e57d2a1
2021-07-27 15:00:48 +01:00
satayev
2bcf499b56 Merge "Rename UpdatableBootJars to ApexBootJars." 2021-07-26 17:59:36 +00:00
Colin Cross
443105f6d1 Rename T to Tiramisu
PLATFORM_VERSION_CODENAME is being updated from T to Tiramisu.

Bug: 186121492
Bug: 194055070
Test: m checkbuild
Merged-In: I39a82c8ac3fd0b43bad06ec47b85aaeda6ef5cb4
Change-Id: I39a82c8ac3fd0b43bad06ec47b85aaeda6ef5cb4
(cherry picked from commit a45d0c890e)
2021-07-26 09:42:50 -07:00
Colin Cross
046531066c Merge "Remove Fuchsia support from Make" 2021-07-23 17:15:45 +00:00
Jose "Pepe" Galmes
81005b13f7 Merge "Support for dexopt postprocessing in merge_target_files." 2021-07-23 04:42:43 +00:00
Jose Galmes
9c8f6eb7e1 Support for dexopt postprocessing in merge_target_files.
When using the VSDK, dexopt is not applied during the vendor build.
To avoid a first-boot time regression, dexopt is applied during the
merge stage, by running dexopt on the vendor apps and rebuilding
the vendor image.

Bug: 188179859
Test: Tested in keystone with VSDK target
Change-Id: Ie8e2d0a82850a2901fa6f250433bcbb43f0a97f2
2021-07-22 13:39:10 -07:00
satayev
8bc189e39f Rename UpdatableBootJars to ApexBootJars.
Note that ART apex boot jars and core-icu4j are exceptions here as they
are not part of ApexBootJars. ART apex boot jars are defined in their
own variable, while core-icu4j is treated as a regular non-updatable
boot jar.

Bug: 191127295
Test: atest CtsClasspathsTestCases
Change-Id: I5f5feb7344941d0154f384e3c06279d49b490768
2021-07-21 14:14:44 +01:00
Colin Cross
12b809af0c Remove Fuchsia support from Make
Bug: 194215932
Test: m checkbuild
Change-Id: I0f6fe8629beb10020d36a347e9f9385dda3e2684
2021-07-20 13:17:47 -07:00
satayev
65e68bb263 Rename PRODUCT_UPDATABLE_BOOT_JARS to PRODUCT_APEX_BOOT_JARS.
Regardless of an "updatable" property of individual, list all apex boot
jars in the same variable. This is less confusing for devs, especially
since they shouldn't care about things like boot images.

Bug: 191127295
Test: atest CtsClasspathsTestCases
Change-Id: I0a559db462d1e1f67003ac54d1e27a89110d802a
Merged-In: I0a559db462d1e1f67003ac54d1e27a89110d802a
2021-07-20 15:46:53 +01:00
Treehugger Robot
37e6196c4e Merge "Fix typo in MODULE_BUILD_FROM_SOURCE variable." 2021-07-20 11:30:08 +00:00
Yifan Hong
ecef6fa224 Merge changes from topic "ota-package-nonab"
* changes:
  Only build OTA package for non-A/B with recovery
  Reland "Build OTA when boot image exists even without kernel or recovery fstab"
2021-07-20 02:59:47 +00:00
Yifan Hong
f32f65c5a4 Only build OTA package for non-A/B with recovery
Change Id397ad097539 alone would break hikey build, which
is a non-A/B device with a boot image, but without recovery.

Do not build OTA in this case.

Test: lunch hikey && m dist
Fixes: 194018054
Bug: 193588301
Change-Id: I8d09ad5c62d44699eb910ff62d32044bd97e8e44
2021-07-19 10:38:25 -07:00
Yifan Hong
8c1e526fdd Reland "Build OTA when boot image exists even without kernel or recovery fstab"
This reverts commit bf77787cc9.

Reason for revert: relanding change

Test: see next CL
Bug: 193925883
Bug: 193588301

Change-Id: Id397ad0975390617bd277573f2cdba9a2677842d
2021-07-19 10:38:25 -07:00
Yifan Hong
fa26e5b8db Merge "Revert "Build OTA when boot image exists even without kernel or recovery fstab"" 2021-07-19 16:33:26 +00:00
Yifan Hong
bf77787cc9 Revert "Build OTA when boot image exists even without kernel or recovery fstab"
This reverts commit ff2e24d6f9.

Reason for revert: breaks build

Bug: 194018054
Change-Id: Ia7f0436d21dc07143f7fae6f90a73bb4f730e98d
2021-07-19 16:28:49 +00:00
Treehugger Robot
bcb4776446 Merge "Move core-icu4j to PRODUCT_UPDATABLE_BOOT_JARS." 2021-07-16 17:22:47 +00:00
Yifan Hong
d15c78090c Merge changes from topic "ota_for_generic_boot_image"
* changes:
  Also extract kernel configs from boot image.
  Build OTA when boot image exists even without kernel or recovery fstab
2021-07-16 16:52:10 +00:00
satayev
09e9471eac Move core-icu4j to PRODUCT_UPDATABLE_BOOT_JARS.
... but not really: move it back to PRODUCT_BOOT_JARS before the list is
passed to soong. This ensures that core-icu4j remains on the boot image
for system health reasons and maintains the status quo.

core-icu4j is the only APEX jar (aside from ART jars) that is ever meant
to be part of the boot image. This is an implementation detail that most
devs don't and shouldn't care about. Instead, most devs assume that
PRODUCT_UPDATABLE_BOOT_JARS is where all apex jars are meant to go. In
the follow ups, PRODUCT_UPDATABLE_BOOT_JARS would be renamed to
PRODUCT_APEX_BOOT_JARS, regardless of the updatable property.

This also solves the problem where vendors add /system and /system_ext
boot jars to PRODUCT_BOOT_JARS outside of default_art_config.mk and
essentially violate the ordering requirement: all /apex jars come after
/system and /system_ext.

Bug: 191127295
Test: atest CtsClasspathsTestCases derive_classpath_test
Change-Id: Ifdfdd02519a0f5baea45619523f0c1eb8be186bc
2021-07-16 14:50:29 +01:00
Yifan Hong
ff2e24d6f9 Build OTA when boot image exists even without kernel or recovery fstab
On devices with a prebuilt boot image, TARGET_NO_KERNEL
may be set to enable signing, etc. In this case we still
want to build the OTA package.

Test: m otapackage on a device with generic boot image
      (where TARGET_NO_KERNEL is set)
Bug: 193588301
Change-Id: I4e5adc3f42a516ac0e2f66c313dbe34a469ebe05
2021-07-15 12:57:47 -07:00