Commit Graph

9037 Commits

Author SHA1 Message Date
Treehugger Robot
a59bc6afe2 Merge "Generate incremental OTAs for 16K/4K boot option" into main am: bf25b080d6 am: 2718d6a4f3 am: 986d9d184c
Original change: https://android-review.googlesource.com/c/platform/build/+/2768738

Change-Id: I7a15c8ad1539daea36516b96f14e869678d24816
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-08 01:45:07 +00:00
Treehugger Robot
bf25b080d6 Merge "Generate incremental OTAs for 16K/4K boot option" into main 2023-11-08 00:11:41 +00:00
Cole Faust
ef9acb3d51 Merge "Only allow .scl files to load other .scl files" into main am: 7c8607715d am: 40ae127032 am: 086f868816
Original change: https://android-review.googlesource.com/c/platform/build/+/2820037

Change-Id: Ib916f874ff66ccd4f71b015a486f08022f125c7c
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-11-07 23:20:41 +00:00
Alex Buynytskyy
df633571e8 Trunk Stable finalization.
Ignore-AOSP-First: local first
Bug: 304316873
Test: build/make/tools/finalization/build-step-1.sh
Change-Id: I17319cbf9abeaadcbd3c26998c541e7aa400e4fb
2023-11-07 21:19:41 +00:00
Cole Faust
5b8dda087d Only allow .scl files to load other .scl files
.scl files are starlark configuraiont language files, which is starlark
without any of the bazel buildin symbols.

This is to match bazel's behavior, and it doesn't make sense for
scl files to load bzl files.

We should change all the release config bzl files to scl, and then
also make it so that when using executionModeScl you can only load
scl files.

Test: go test
Change-Id: I196bcf3a4548118791ed1d47c2d37e46a1ef86c4
2023-11-07 11:27:41 -08:00
Inseob Kim
d8cde77607 Add support for auto-generated characteristics RRO
Setting use_rro_for_product will automatically generate an RRO package
which contains resources with 'product="{PRODUCT_CHARACTERISTICS}"'. The
RRO package will be installed to /product partition. The app will be
compiled with '--product default', making the app identical to all
targets.

Motivation for this change is to minimize divergence of system.img.

Bug: 294799593
Test: boot and idmap2 dump
Change-Id: I549c2589c69eab7a1568510a7d1ff0c8a003f7ea
2023-11-07 14:06:14 +09:00
Kelvin Zhang
65c1162eb5 Generate incremental OTAs for 16K/4K boot option
Previously, the 16K/4K boot options OTAs are full OTAs, resulting in
file size of ~20MB each, and ~40M for both OTAs. To reduce the space
usage, use incremental OTAs instead.

Test: th
Bug: 302759296
Bug: 293313353
Change-Id: I61cc84c6c13f151dd6bc5ff37dd31daa5fb31abd
2023-11-06 12:37:49 -08:00
Oriol Prieto Gascó
8b1d74ec60 Merge "Revert^2 "aconfig: cache flag value in generated java code"" into main 2023-11-01 21:56:38 +00:00
Kelvin Zhang
8c9166ae37 Convert partition size to int before CheckSize
Test: th
Change-Id: Ic312e40fdad99afd65b4fc259395b8952bb038c6
2023-11-01 10:14:13 -07:00
Kelvin Zhang
9f9ac4e8a0 Fix prebuilt boot image hermetic build
Break when we find a working salt, certain devices have boot image
containing both the kernel and ramdisk, resulting in the ramdisk being
used as salt. Since core/Makefile uses kernel as salt, update python
code to match.

Bug: 293313353
Test: th
Change-Id: I68b5a8c2f0747ddf68f775bc2a6c5db46eb7eb64
2023-11-01 10:14:13 -07:00
Zhi Dou
72c2a93006 Revert^2 "aconfig: cache flag value in generated java code"
This reverts commit 257f64347d.

Reason for revert: fix in Roboletric will subimt together with this change

Change-Id: I03c9ed627e6a4153db9c9074daf821ea6d19bc33
2023-11-01 16:42:31 +00:00
Kelvin Zhang
782b752889 Fix non-AB ota generation failure
Test: ota generation on pinot target
Bug: 308615740
Change-Id: I8b540516c0ba9e3acb23eebad8569a6dbf2ef9f3
2023-10-31 19:42:39 -07:00
Dan Shi
d22a5558f4 Merge "Remove EXTRA_TEST_RUNNER_CONFIGS option in template for autogen instrumentation test" into main 2023-11-01 00:56:21 +00:00
Dan Shi
042bb8c6dc Remove EXTRA_TEST_RUNNER_CONFIGS option in template for autogen instrumentation test
Instrumentation test config created by autogen is still using python script
auto_gen_test_config.py, which doesn't support extra_runner_options yet.

Bug: 308627607
Test: m FrameworksCorePackageInstallerSessionsTests
Change-Id: Ib3bef791a9d1b3e0b68f5845dc20d2c5ec5791ec
2023-10-31 15:44:16 -07:00
Treehugger Robot
a8d60eb042 Merge "Move more non-AB code to separate files" into main 2023-10-31 17:47:23 +00:00
Kelvin Zhang
513b86e5c2 Move more non-AB code to separate files
non-AB has different lifetime and development cycles from AB. To avoid
accidentally breaking each other when making changes, put non-AB code in
its own files.

Test: local non-AB OTA generation
Bug: 296485685

Merged-In: I0736ecef343834c746464666a454a8bfcd4a20ea

Change-Id: I0736ecef343834c746464666a454a8bfcd4a20ea
2023-10-30 23:43:15 +00:00
Wei Li
52c2ea6a18 Merge "Generate SBOM of .kcm files in layoutlib." into main 2023-10-30 17:37:09 +00:00
Dave Mankoff
9d9d6556dc Merge "Let aconfig protos be read by FlagFlipper" into main 2023-10-30 15:27:33 +00:00
Zhi Dou
257f64347d Revert "aconfig: cache flag value in generated java code"
This reverts commit 3dea629a9e.

Reason for revert: b/308228560

Change-Id: I6511def2e53ab793c5fd78f65bea14eeebc5cdb2
2023-10-30 13:24:31 +00:00
Zhi Dou
3dea629a9e aconfig: cache flag value in generated java code
This change add cache in generated jave code to improve the performance.

The cache is a DeviceConfig.Properties. One Properties contains all
flag values from the given namesapce.

The Properties for a given namespace is initialized as null, and the
first call for any flags in that Properties will trigger the call to
fetch all the values. After the first call, the flag values are stored
in the Properties, so the following calls will directly get the value
from the Properties instead from the backup storage.

Test: atest aconfig.test.java
Bug: 307511846
Change-Id: Ic43626101c28099199b6faa419cf1945bd53b15d
2023-10-27 23:53:09 +00:00
Dave Mankoff
0e0c3dec70 Let aconfig protos be read by FlagFlipper
Bug: 307526764
Test: manually built
Change-Id: I689a15cc8c97a814df6f8e45bcf7f732d1693835
Merged-In: I689a15cc8c97a814df6f8e45bcf7f732d1693835
2023-10-27 18:43:50 +00:00
Kelvin Zhang
2ab6986dd9 Make non-ab code path compatible with extracted target files
Bug: 296485685
Test: ota_from_target_files -v -i non_ab.zip non_ab.zip ota.zip
Change-Id: I13ed54bfe7d14d2d1e87f45564da465a77bc2d1d
2023-10-27 11:01:27 -07:00
Wei Li
ee4ab5359d Generate SBOM of .kcm files in layoutlib.
Bug: 303905932
Test: CIs; m layoutlib dist
Change-Id: Iab35c44bdfff7ea82734a8efd37dfa005bae2664
2023-10-25 15:49:26 -07:00
Kelvin Zhang
160762a276 Use deterministic salt for AVB footer of prebuilt boot img
When target specified a prebuilt boot.img, current build system will add
avb hash footer to it with a random salt. Use a deterministic salt
instead for more reproducible builds. To stay consistent with
non-prebuilt boot.img code path, we extract the kernel image from
prebuilt boot.img and uses sha256sum of kernel image as the salt.

Test: th
Bug: 293313353
Change-Id: I988999ddc4f18e0b8677b05a3165c847b6a11b52
2023-10-25 13:28:11 -07:00
Kelvin Zhang
9d74128194 Allow -v option to change log level
Setting logging level to 'NOTSET' would tell logging module to inherit
logging level from handlers. Since the verbosity of handlers is
controlled by -v option, this allows sign_apex.py to give verbose output
if -v is specified.

Test: th
Bug: 307191956
Change-Id: I9c1db107cf4eae80ab570d892b0465b3902298fd
2023-10-24 21:58:28 -07:00
Wei Li
420d7d5878 Merge "Initial implementation of layoutlib SBOM generation." into main 2023-10-24 17:11:20 +00:00
Zhi Dou
79a45fa178 Merge "overrideflags: change local override list name" into main 2023-10-23 20:55:15 +00:00
Zhi Dou
b66973688e overrideflags: change local override list name
Change local override list name to "ACONFIG_VALUES_LIST_LOCAL".

Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output

Change-Id: I6c2b8dcf6291a1fd7012e714fa91ca6bf0b47cf2
2023-10-23 18:19:29 +00:00
Kelvin Zhang
9e348cfc6b Merge "Allow OEMs to bypass the on device SPL downgrade check" into main 2023-10-23 18:17:59 +00:00
Kelvin Zhang
d51332c82f Allow OEMs to bypass the on device SPL downgrade check
Certain OEMs bootloader implementation allow SPL downgrade. Allow on
device SPL downgrade check to be bypassed.

Test: th
Bug: 306271739
Change-Id: Iba991e12d36291e2d0547c94ef54c750d87f35fb
2023-10-23 10:10:33 -07:00
Zhi Dou
8817eed1af change path to shell_utils.sh
Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output

Change-Id: Idf254b66da17079db2d08e98a9914e1c2f9f6097
2023-10-23 13:41:07 +00:00
LaMont Jones
6aa030026c Merge "add script to help override flag value locally" into main 2023-10-20 22:24:24 +00:00
Zhi Dou
77c9f0c9cb add script to help override flag value locally
Add a script to help to create flag value building rules.

The script will only extract necessary information from the value file
but it will not validate the file. The validation will defer to building
system.

For input

```
flag_value {
    package: "com.android.aconfig.test"
    name: "disabled_ro"
    state: DISABLED
    permission: READ_ONLY
}
flag_value {
    package: "com.android.demoapp.test"
    name: "enabled_ro"
    state: DISABLED
    permission: READ_WRITE
}
flag_value {
    package: "com.android.aconfig.test"
    name: "enabled_rw"
    state: ENABLED
    permission: READ_WRITE
}
```

The output Android.bp file will be like
```
VALUE_LIST_LIST = [
    aconfig-local-com.android.demoapp.test,
    aconfig-local-com.android.aconfig.test
]

aconfig_values {
    name: "aconfig-local-com.android.demoapp.test",
    package: "com.android.demoapp.test",
    srcs: [
        "override_values.textproto",
    ]
}

aconfig_values {
    name: "aconfig-local-com.android.aconfig.test",
    package: "com.android.aconfig.test",
    srcs: [
        "override_values.textproto",
    ]
}
```

Bug: 298692416
Test: source build/envsetup.sh && overrideflags, and then check the
output

Change-Id: Ife4063e079811e0b29046be7a6bc127cad668ed0
2023-10-20 21:04:00 +00:00
Juan Yescas
4d136f5265 Merge "16k: Sign the APKs to support 4k/16k page sizes" into main 2023-10-20 04:09:43 +00:00
Juan Yescas
5c6b6f24a3 16k: Sign the APKs to support 4k/16k page sizes
The page agnostic targets have to support 4k/16k page sizes. For
these targets, the APKs have to be aligned at 16k boundaries.

Bug: 302343940
Test: source build/envsetup.sh
      lunch aosp_cf_arm64_phone_pgagnostic
      m
      launch_cvd -userdata_format=ext4
Change-Id: Ia0e39a90c0d6a3e62d450157fdfd5e3ee36d346e
2023-10-20 03:13:39 +00:00
Wei Li
ee7365981e Merge "Support third_party.identifier in METADATA files of external packages." into main 2023-10-20 01:48:33 +00:00
Thiébaud Weksteen
ed5abbdea4 Merge "Revert "Add sign_sepolicy_path for a binary to sign sepolicy.apex."" into main 2023-10-19 22:48:25 +00:00
Sandeep Dhavale
cc1a560241 Merge "Add support for specifying erofs blocksize" into main 2023-10-19 21:46:58 +00:00
Wei Li
427dacb239 Support third_party.identifier in METADATA files of external packages.
Bug: 303688820
Test: CIs
Test: "m sbom" after lunch
Change-Id: Ic329d87cdcfbe4152b0fe6a8fd71c4867593b674
2023-10-18 16:45:31 -07:00
Sandeep Dhavale
d7cc7e8f9a Add support for specifying erofs blocksize
This change allows us to specify erofs filesystem block size
which will be used to create erofs image.

Either it can be specified at board level using
BOARD_EROFS_BLOCKSIZE. Or per read only partition image
using BOARD_<PARTITION>IMAGE_EROFS_BLOCKSIZE.

Examples:
BOARD_EROFS_BLOCKSIZE := 16384 OR
BOARD_PRODUCTIMAGE_EROFS_BLOCKSIZE := 16384

Bug: 303316443
Test: m and file ${ANDROID_PRODUCT_OUT}/*.img

Change-Id: I9bf3d299ae02165d0bffc62f474a302408d8b9b9
Signed-off-by: Sandeep Dhavale <dhavale@google.com>
2023-10-18 08:23:36 -07:00
Wei Li
c134b76375 Initial implementation of layoutlib SBOM generation.
1) Build/dist build.prop, resource files
2) Generate layoutlib SBOM that includes build.prop, resource files,
   font files and font configuration files
3) Generate SBOM of framework_res.jar with placeholders for substitution
   in release_layoutlib.sh

Bug: 303903787
Bug: 303904046
Bug: 303904808
Bug: 303905932
Bug: 303906000
Bug: 303906275
Test: lunch sdk_phone64_arm64-userdebug && m layoutlib dist
Change-Id: Ib004e199e740ccc901e93b11201db2477464be1d
2023-10-17 23:52:30 -07:00
Thiébaud Weksteen
62865caf1b Revert "Add sign_sepolicy_path for a binary to sign sepolicy.apex."
This reverts commit e0a977affd.

Test: atest --host releasetools_test
Bug: 297794885
Change-Id: I951277e4aa3ae1f90474a1f7a036fc8693453c53
2023-10-18 11:41:25 +11:00
Wei Li
6437bae07c Add zip2zip as a data dependency of releasetools_common so it is built with releasetools_common and other python_binary_host modules depend on releasetools_common.
Bug: 303082945
Test: CIs
Test: "m dev_sign_bundle" on internal udc branch and check zip2zip is built too.
Change-Id: Iad5aa401de39516876714c854dc07aeba2f234e5
2023-10-17 21:05:53 +00:00
Dennis Shen
4f358fd443 Merge "aconfig: support api behind a macro flag in c/cpp" into main 2023-10-17 17:09:09 +00:00
Dennis Shen
7c124e035f aconfig: support api behind a macro flag in c/cpp
Bug: b/299673148
Test: atest aconfig.test
Change-Id: I54011de7b8eb52c97a84a93aa1cb955a9eb02706
2023-10-17 13:58:22 +00:00
Yu Liu
3cfde0e5dd Change the sdk_version to core_current.
Bazel currently can't build core_platform yet and needs this lib to
build some java_aconfig_library.

Bug: 305255550
Test: CI
Change-Id: Ic94efe7888e35099618e2fdbbbb481168ed2bcf2
2023-10-13 18:16:52 +00:00
Treehugger Robot
0968914e2c Merge "Revert "Add a check that the staging directories don't..."" into main 2023-10-13 05:32:56 +00:00
Cole Faust
be5e391055 Revert "Add a check that the staging directories don't..."
Revert submission 2773149-partition_file_list_check

Reason for revert: b/305103467, b/305103783, b/305103468
Reverted changes: /q/submissionid:2773149-partition_file_list_check

Change-Id: I2fab3b4d7d24af4488e777ad84e12e280c42dcc0
2023-10-13 02:51:10 +00:00
Kelvin Zhang
d7924a5311 Add missing AB partitions to img.zip
Add all AB partitions to img.zip, so that we can verify integrity of a
build by running avbtool on img.zip .

Bug: 274923679
Test: img_from_target_files on a pixel build. Unzip the generated img
zip, run avbtool verify_image --follow_chain_partitions --image
vbmeta.img, make sure result is successful.

Change-Id: I7d586a6f2ad87d8ebf87b788947055339b1121a2
2023-10-12 10:31:44 -07:00
Cole Faust
80fad16d14 Add a check that the staging directories don't...
...contain extra files after an installclean.

Bug: 205632228
Test: m installclean && m
Change-Id: Ib021465d1089a21bc4f43306b1441348baf71f9c
2023-10-11 17:42:34 -07:00