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

Commit 4c89dc3d authored by Tao Bao's avatar Tao Bao Committed by Android Git Automerger
Browse files

am c94a705f: Merge "Use fstab in the source build"

* commit 'c94a705f':
  Use fstab in the source build
parents a629cdd3 c94a705f
Loading
Loading
Loading
Loading
+10 −6
Original line number Diff line number Diff line
@@ -20,11 +20,15 @@ class EdifyGenerator(object):
  """Class to generate scripts in the 'edify' recovery script language
  used from donut onwards."""

  def __init__(self, version, info):
  def __init__(self, version, info, fstab=None):
    self.script = []
    self.mounts = set()
    self.version = version
    self.info = info
    if fstab is None:
      self.fstab = self.info.get("fstab", None)
    else:
      self.fstab = fstab

  def MakeTemporary(self):
    """Make a temporary script object whose commands can latter be
@@ -168,7 +172,7 @@ class EdifyGenerator(object):
      where option is optname[=optvalue]
      E.g. ext4=barrier=1,nodelalloc,errors=panic|f2fs=errors=recover
    """
    fstab = self.info.get("fstab", None)
    fstab = self.fstab
    if fstab:
      p = fstab[mount_point]
      mount_dict = {}
@@ -202,7 +206,7 @@ class EdifyGenerator(object):
    self.script.append('ui_print("%s");' % (message,))

  def TunePartition(self, partition, *options):
    fstab = self.info.get("fstab", None)
    fstab = self.fstab
    if fstab:
      p = fstab[partition]
      if p.fs_type not in ("ext2", "ext3", "ext4"):
@@ -216,7 +220,7 @@ class EdifyGenerator(object):
    """Format the given partition, specified by its mount point (eg,
    "/system")."""

    fstab = self.info.get("fstab", None)
    fstab = self.fstab
    if fstab:
      p = fstab[partition]
      self.script.append('format("%s", "%s", "%s", "%s", "%s");' %
@@ -226,7 +230,7 @@ class EdifyGenerator(object):
  def WipeBlockDevice(self, partition):
    if partition not in ("/system", "/vendor"):
      raise ValueError(("WipeBlockDevice doesn't work on %s\n") % (partition,))
    fstab = self.info.get("fstab", None)
    fstab = self.fstab
    size = self.info.get(partition.lstrip("/") + "_size", None)
    device = fstab[partition].device

@@ -271,7 +275,7 @@ class EdifyGenerator(object):
    """Write the given package file into the partition for the given
    mount point."""

    fstab = self.info["fstab"]
    fstab = self.fstab
    if fstab:
      p = fstab[mount_point]
      partition_type = common.PARTITION_TYPES[p.fs_type]
+12 −8
Original line number Diff line number Diff line
@@ -487,7 +487,8 @@ def GetImage(which, tmpdir, info_dict):
def WriteFullOTAPackage(input_zip, output_zip):
  # TODO: how to determine this?  We don't know what version it will
  # be installed on top of. For now, we expect the API just won't
  # change very often.
  # change very often. Similarly for fstab, it might have changed
  # in the target build.
  script = edify_generator.EdifyGenerator(3, OPTIONS.info_dict)

  oem_props = OPTIONS.info_dict.get("oem_fingerprint_properties")
@@ -727,8 +728,9 @@ def WriteBlockIncrementalOTAPackage(target_zip, source_zip, output_zip):
  if source_version == 0:
    print ("WARNING: generating edify script for a source that "
           "can't install it.")
  script = edify_generator.EdifyGenerator(source_version,
                                          OPTIONS.target_info_dict)
  script = edify_generator.EdifyGenerator(
      source_version, OPTIONS.target_info_dict,
      fstab=OPTIONS.source_info_dict["fstab"])

  metadata = {
      "pre-device": GetBuildProp("ro.product.device",
@@ -794,7 +796,7 @@ def WriteBlockIncrementalOTAPackage(target_zip, source_zip, output_zip):
    vendor_diff = None

  oem_props = OPTIONS.target_info_dict.get("oem_fingerprint_properties")
  recovery_mount_options = OPTIONS.target_info_dict.get(
  recovery_mount_options = OPTIONS.source_info_dict.get(
      "recovery_mount_options")
  oem_dict = None
  if oem_props is not None and len(oem_props) > 0:
@@ -1115,11 +1117,13 @@ def WriteIncrementalOTAPackage(target_zip, source_zip, output_zip):
  if source_version == 0:
    print ("WARNING: generating edify script for a source that "
           "can't install it.")
  script = edify_generator.EdifyGenerator(source_version,
                                          OPTIONS.target_info_dict)
  script = edify_generator.EdifyGenerator(
      source_version, OPTIONS.target_info_dict,
      fstab=OPTIONS.source_info_dict["fstab"])

  oem_props = OPTIONS.info_dict.get("oem_fingerprint_properties")
  recovery_mount_options = OPTIONS.info_dict.get("recovery_mount_options")
  recovery_mount_options = OPTIONS.source_info_dict.get(
      "recovery_mount_options")
  oem_dict = None
  if oem_props is not None and len(oem_props) > 0:
    if OPTIONS.oem_source is None: