From c35e636e0756db927fa891b03622189a3cec116a Mon Sep 17 00:00:00 2001 From: Vamsi Krishna Lanka Date: Wed, 1 Mar 2023 17:49:09 -0800 Subject: [PATCH] ANDROID: build: Replace the combine vms rule with getter Combine vms rule isn't needed anymore, replace it with getter to support combine vms only if such rules are available. Change-Id: Ib64caa177c7ac43b3b1376e5923db47f1adeabf9 Signed-off-by: Vamsi Krishna Lanka --- msm_kernel_extensions.bzl | 3 +++ pineapple_vms.bzl | 55 +++------------------------------------ 2 files changed, 6 insertions(+), 52 deletions(-) diff --git a/msm_kernel_extensions.bzl b/msm_kernel_extensions.bzl index 8f97379e0556..3e2045095248 100644 --- a/msm_kernel_extensions.bzl +++ b/msm_kernel_extensions.bzl @@ -21,6 +21,9 @@ def define_top_level_rules(): flag_values = {":skip_{}".format(skippable): "0"} ) +def define_combined_vm_image(target, variant, vm_size_ext4): + return + def define_extras(target, flavor = None): return diff --git a/pineapple_vms.bzl b/pineapple_vms.bzl index 9098bb06041c..e93818f47cf1 100644 --- a/pineapple_vms.bzl +++ b/pineapple_vms.bzl @@ -1,67 +1,17 @@ load(":target_variants.bzl", "vm_types", "vm_variants") load("//msm-kernel:msm_common.bzl", "get_out_dir") load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir") +load("//build:msm_kernel_extensions.bzl", "define_combined_vm_image") load(":image_opts.bzl", "vm_image_opts") target_name = "pineapple-vms" -def create_combined_vm_image(image_list, variant, vm_size_ext4): - out_files = [ - "{}_{}/vm-bootsys.img".format(target_name, variant), - "{}_{}/vm-bootsys_unsparsed.img".format(target_name, variant), - "{}_{}/vm-images".format(target_name, variant), - ] - - merge_images = "\nimage_dist=\"{}\"\n".format(" ".join(["$(location {})".format(l) for l in image_list])) - merge_images += "vm_image_out_path=\"$(location {})\"\n".format(out_files[0]) - merge_images += "vm_image_unsparsed_out_path=\"$(location {})\"\n".format(out_files[1]) - merge_images += "vm_images_out_path=\"$(location {})\"\n".format(out_files[2]) - merge_images += """ - mkdir -p scratch - for dist in $$image_dist; do - # Unpack everything from tuivm - if echo $$dist | grep -q "tuivm"; then - tar -C scratch/ -xf "$$dist" - # Only unpack boot for all other VMs - else - tar -C scratch/ --wildcards -xf "$$dist" "./vm-images/*/boot" - fi - done - - # Remove existing vm-bootsys images - rm -f scratch/*.img - - # Create non-sparse vm-bootsys.img - $(location //prebuilts/kernel-build-tools:linux-x86/bin/mkuserimg_mke2fs) \ - "scratch/vm-images" "$$vm_image_unsparsed_out_path" ext4 / {vm_size_ext4} - - # Create sparse vm-bootsys.img - $(location //prebuilts/kernel-build-tools:linux-x86/bin/img2simg) \ - "$$vm_image_unsparsed_out_path" "$$vm_image_out_path" - - cp -r "scratch/vm-images" "$$vm_images_out_path" - """.format(vm_size_ext4=vm_size_ext4) - - native.genrule( - name = "{}_{}_combo".format(target_name, variant), - srcs = image_list, - outs = out_files, - tools = [ - "//prebuilts/kernel-build-tools:linux-x86/bin/mkuserimg_mke2fs", - "//prebuilts/kernel-build-tools:linux-x86/bin/img2simg", - ], - cmd_bash = merge_images, - ) - def define_pineapple_vms(vm_image_opts = vm_image_opts()): base_target = "pineapple-tuivm" for variant in vm_variants: base_tv = "{}_{}".format(base_target, variant) - image_list = [":pineapple-{}_{}_vm_images".format(vt, variant) for vt in vm_types] - create_combined_vm_image(image_list, variant, vm_image_opts.vm_size_ext4) out_dtb_list = [":pineapple-{}_{}_vm_dtb_img".format(vt, variant) for vt in vm_types] - dist_targets = [ # do not sort ":{}".format(base_tv), @@ -70,7 +20,6 @@ def define_pineapple_vms(vm_image_opts = vm_image_opts()): ":{}_build_config".format(base_tv), ":signing_key", ":verity_key", - "{}_{}_combo".format(target_name, variant), ] + out_dtb_list copy_to_dist_dir( @@ -90,3 +39,5 @@ def define_pineapple_vms(vm_image_opts = vm_image_opts()): "**/*": "644", }, ) + + define_combined_vm_image(target_name, variant, vm_image_opts.vm_size_ext4)