From 787b33600bba568bb87080d191048cc42aa59d67 Mon Sep 17 00:00:00 2001 From: John Moon Date: Tue, 5 Sep 2023 19:50:27 -0700 Subject: [PATCH 1/2] ANDROID: build: Switch to Kleaf super_image implementation Currently, we use an in-tree definition of the super_image rule to generate our super.img files. This rule depends on a private kleaf API which is no longer visible to msm-kernel after an upstream change. To fix, we've upstreamed the super_image rule to kleaf which allows usage of the private API. Accordingly, we need to make an update here which uses the new super_image API from kleaf. Change-Id: Ie904958a773061c83e33190cc9ad89a5467c738e Signed-off-by: John Moon --- msm_kernel_la.bzl | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/msm_kernel_la.bzl b/msm_kernel_la.bzl index 8148601bfebc..c03591da4606 100644 --- a/msm_kernel_la.bzl +++ b/msm_kernel_la.bzl @@ -10,6 +10,8 @@ load( "kernel_modules_install", "kernel_uapi_headers_cc_library", "merged_kernel_uapi_headers", + "super_image", + "unsparsed_image", ) load( "//build:msm_kernel_extensions.bzl", @@ -25,7 +27,6 @@ load("@bazel_skylib//rules:write_file.bzl", "write_file") load(":msm_common.bzl", "define_top_level_config", "gen_config_without_source_lines", "get_out_dir") load(":msm_dtc.bzl", "define_dtc_dist") load(":msm_abl.bzl", "define_abl_dist") -load(":super_image.bzl", "super_image") load(":avb_boot_img.bzl", "avb_sign_boot_image") load(":image_opts.bzl", "boot_image_opts") load(":target_variants.bzl", "la_variants") @@ -272,14 +273,28 @@ def _define_image_build( boot_partition_size = int(boot_image_opts.boot_partition_size), ) - # Defined separately because `super.img` is not generated by upstream kleaf + native.filegroup( + name = "{}_system_dlkm_image_file".format(target), + srcs = ["{}_images".format(base_kernel)], + output_group = "system_dlkm.img", + ) + + native.filegroup( + name = "{}_vendor_dlkm_image_file".format(target), + srcs = [":{}_images".format(target)], + output_group = "vendor_dlkm.img", + ) + super_image( name = "{}_super_image".format(target), - kernel_modules_install = "{}_modules_install".format(target), - deps = [ - "{}_images_system_dlkm_image".format(base_kernel), - ":{}_images_vendor_dlkm_image".format(target), - ], + system_dlkm_image = ":{}_system_dlkm_image_file".format(target), + vendor_dlkm_image = ":{}_vendor_dlkm_image_file".format(target), + ) + + unsparsed_image( + name = "{}_unsparsed_image".format(target), + src = "{}_super_image".format(target), + out = "super_unsparsed.img", ) def _define_kernel_dist( @@ -317,6 +332,7 @@ def _define_kernel_dist( ":{}".format(target), ":{}_images".format(target), ":{}_super_image".format(target), + ":{}_unsparsed_image".format(target), ":{}_merged_kernel_uapi_headers".format(target), ":{}_build_config".format(target), ]) From 3162b9648a5f2c0dcee1cf4473a34fcc1d24d557 Mon Sep 17 00:00:00 2001 From: John Moon Date: Sat, 9 Sep 2023 13:57:38 -0700 Subject: [PATCH 2/2] Revert "ANDROID: build: Add --nocheck_bzl_visibility" This reverts commit 71e862d942c4c068518f56d6b797e9c16b41caee. After properly switching to public kleaf APIs, we no longer need to pass --nocheck_bzl_visibility to the build. Change-Id: I3ff04efd2cbebdeb176f6b67b099f7a6ff6b2fab Signed-off-by: John Moon --- build_with_bazel.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/build_with_bazel.py b/build_with_bazel.py index e28a97f22cab..2877001001e4 100755 --- a/build_with_bazel.py +++ b/build_with_bazel.py @@ -147,7 +147,6 @@ class BazelBuilder: "query", "--ui_event_filters=-info", "--noshow_progress", - "--nocheck_bzl_visibility", query, ] @@ -287,7 +286,6 @@ class BazelBuilder: self.user_opts.extend([ "--user_kmi_symbol_lists=//msm-kernel:android/abi_gki_aarch64_qcom", "--ignore_missing_projects", - "--nocheck_bzl_visibility", ]) if self.dry_run: