Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 62837201 authored by Nishith  Khanna's avatar Nishith Khanna
Browse files

Merge remote-tracking branch 'origin/lineage-21.0' into v1-u

parents 45581048 8124d942
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -7324,7 +7324,7 @@ ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION))
# BOARD_SUPER_PARTITION_SIZE must be defined to build super image.
ifneq ($(BOARD_SUPER_PARTITION_SIZE),)

ifneq (true,$(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS))
ifeq ($(words $(BOARD_SUPER_PARTITION_BLOCK_DEVICES)),1)

# For real devices and for dist builds, build super image from target files to an intermediate directory.
INTERNAL_SUPERIMAGE_DIST_TARGET := $(call intermediates-dir-for,PACKAGING,super.img)/super.img
@@ -7342,7 +7342,7 @@ endif
.PHONY: superimage_dist
superimage_dist: $(INTERNAL_SUPERIMAGE_DIST_TARGET)

endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS != "true"
endif # $(words $(BOARD_SUPER_PARTITION_BLOCK_DEVICES)) == 1
endif # BOARD_SUPER_PARTITION_SIZE != ""
endif # PRODUCT_BUILD_SUPER_PARTITION == "true"

@@ -7351,7 +7351,7 @@ endif # PRODUCT_BUILD_SUPER_PARTITION == "true"

ifeq (true,$(PRODUCT_BUILD_SUPER_PARTITION))
ifneq ($(BOARD_SUPER_PARTITION_SIZE),)
ifneq (true,$(PRODUCT_RETROFIT_DYNAMIC_PARTITIONS))
ifeq ($(words $(BOARD_SUPER_PARTITION_BLOCK_DEVICES)),1)

# Build super.img by using $(INSTALLED_*IMAGE_TARGET) to $(1)
# $(1): built image path
@@ -7406,7 +7406,7 @@ superimage-nodeps supernod: | $(INSTALLED_SUPERIMAGE_DEPENDENCIES)
	$(call build-superimage-target,$(INSTALLED_SUPERIMAGE_TARGET),\
	  $(call intermediates-dir-for,PACKAGING,superimage-nodeps)/misc_info.txt)

endif # PRODUCT_RETROFIT_DYNAMIC_PARTITIONS != "true"
endif # $(words $(BOARD_SUPER_PARTITION_BLOCK_DEVICES)) == 1
endif # BOARD_SUPER_PARTITION_SIZE != ""
endif # PRODUCT_BUILD_SUPER_PARTITION == "true"

+10 −3
Original line number Diff line number Diff line
@@ -787,10 +787,17 @@ def AddSuperEmpty(output_zip):
  img = OutputFile(output_zip, OPTIONS.input_tmp, "IMAGES", "super_empty.img")
  if os.path.exists(img.name):
    logger.info("super_empty.img already exists; no need to rebuild...")
    return
  else:
    build_super_image.BuildSuperImage(OPTIONS.info_dict, img.name)
    img.Write()

  unsparse_img = OutputFile(output_zip, OPTIONS.input_tmp, "IMAGES", "unsparse_super_empty.img")
  if os.path.exists(unsparse_img.name):
    logger.info("unsparse_super_empty.img already exists; no need to rebuild...")
  else:
    build_super_image.BuildSuperImage(OPTIONS.info_dict, unsparse_img.name, force_non_sparse=True)
    unsparse_img.Write()


def AddSuperSplit(output_zip):
  """Create split super_*.img and store it in output_zip."""
+5 −5
Original line number Diff line number Diff line
@@ -62,14 +62,14 @@ def GetArgumentsForImage(partition, group, image=None):
  image_size = sparse_img.GetImagePartitionSize(image) if image else 0

  cmd = ["--partition",
         "{}:readonly:{}:{}".format(partition, image_size, group)]
         "{}:none:{}:{}".format(partition, image_size, group)]
  if image:
    cmd += ["--image", "{}={}".format(partition, image)]

  return cmd


def BuildSuperImageFromDict(info_dict, output):
def BuildSuperImageFromDict(info_dict, output, force_non_sparse=False):

  cmd = [info_dict["lpmake"],
         "--metadata-size", "65536",
@@ -133,7 +133,7 @@ def BuildSuperImageFromDict(info_dict, output):

      cmd += GetArgumentsForImage(partition + "_b", group + "_b", other_image)

  if info_dict.get("build_non_sparse_super_partition") != "true":
  if info_dict.get("build_non_sparse_super_partition") != "true" and not force_non_sparse:
    cmd.append("--sparse")

  cmd += ["--output", output]
@@ -178,11 +178,11 @@ def BuildSuperImageFromTargetFiles(inp, out):
  return BuildSuperImageFromExtractedTargetFiles(input_tmp, out)


def BuildSuperImage(inp, out):
def BuildSuperImage(inp, out, force_non_sparse=False):

  if isinstance(inp, dict):
    logger.info("Building super image from info dict...")
    return BuildSuperImageFromDict(inp, out)
    return BuildSuperImageFromDict(inp, out, force_non_sparse=False)

  if isinstance(inp, str):
    if os.path.isdir(inp):
+10 −2
Original line number Diff line number Diff line
@@ -3923,6 +3923,9 @@ class DynamicPartitionsDifference(object):
    if progress_dict is None:
      progress_dict = {}

    self._have_super_empty = \
      info_dict.get("build_super_empty_partition") == "true"

    self._build_without_vendor = build_without_vendor
    self._remove_all_before_apply = False
    if source_info_dict is None:
@@ -4020,6 +4023,11 @@ class DynamicPartitionsDifference(object):
    ZipWrite(output_zip, op_list_path, "dynamic_partitions_op_list")

    script.Comment('Update dynamic partition metadata')
    if self._have_super_empty:
      script.AppendExtra('assert(update_dynamic_partitions('
                        'package_extract_file("dynamic_partitions_op_list"), '
                        'package_extract_file("unsparse_super_empty.img")));')
    else:
      script.AppendExtra('assert(update_dynamic_partitions('
                        'package_extract_file("dynamic_partitions_op_list")));')

+9 −0
Original line number Diff line number Diff line
@@ -238,6 +238,15 @@ else if get_stage("%(bcb_dev)s") == "3/3" then
  progress_dict["system"] = system_progress

  if target_info.get('use_dynamic_partitions') == "true":
    # Add non-sparse super empty image to OTA package if it exists
    if target_info.get('build_super_empty_partition') == "true":
      unsparse_super_empty_image_name = "unsparse_super_empty.img"
      unsparse_super_empty_image_path = os.path.join(OPTIONS.input_tmp, "IMAGES",
          unsparse_super_empty_image_name)
      unsparse_super_empty_image = common.File.FromLocalFile(
          unsparse_super_empty_image_name, unsparse_super_empty_image_path)
      common.ZipWriteStr(output_zip, unsparse_super_empty_image_name,
          unsparse_super_empty_image.data)
    # Use empty source_info_dict to indicate that all partitions / groups must
    # be re-added.
    dynamic_partitions_diff = common.DynamicPartitionsDifference(