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

Commit b6153173 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 9605 into donut

* changes:
  use the max image sizes from the target files zip
parents 828bbfb1 fdd8e69c
Loading
Loading
Loading
Loading
+11 −11
Original line number Diff line number Diff line
@@ -46,18 +46,18 @@ def Run(args, **kwargs):
  return subprocess.Popen(args, **kwargs)


def LoadBoardConfig(fn):
  """Parse a board_config.mk file looking for lines that specify the
  maximum size of various images, and parse them into the
  OPTIONS.max_image_size dict."""
def LoadMaxSizes():
  """Load the maximum allowable images sizes from the input
  target_files size."""
  OPTIONS.max_image_size = {}
  for line in open(fn):
    line = line.strip()
    m = re.match(r"BOARD_(BOOT|RECOVERY|SYSTEM|USERDATA)IMAGE_MAX_SIZE"
                 r"\s*:=\s*(\d+)", line)
    if not m: continue

    OPTIONS.max_image_size[m.group(1).lower() + ".img"] = int(m.group(2))
  try:
    for line in open(os.path.join(OPTIONS.input_tmp, "META", "imagesizes.txt")):
      image, size = line.split()
      size = int(size)
      OPTIONS.max_image_size[image + ".img"] = size
  except IOError, e:
    if e.errno == errno.ENOENT:
      pass


def BuildAndAddBootableImage(sourcedir, targetname, output_zip):
+8 −9
Original line number Diff line number Diff line
@@ -21,8 +21,7 @@ use with 'fastboot update'.
Usage:  img_from_target_files [flags] input_target_files output_image_zip

  -b  (--board_config)  <file>
      Specifies a BoardConfig.mk file containing image max sizes
      against which the generated image files are checked.
      Deprecated.

"""

@@ -109,10 +108,10 @@ def main(argv):

  def option_handler(o, a):
    if o in ("-b", "--board_config"):
      common.LoadBoardConfig(a)
      return True
      pass       # deprecated
    else:
      return False
    return True

  args = common.ParseOptions(argv, __doc__,
                             extra_opts="b:",
@@ -123,15 +122,15 @@ def main(argv):
    common.Usage(__doc__)
    sys.exit(1)

  OPTIONS.input_tmp = common.UnzipTemp(args[0])

  common.LoadMaxSizes()
  if not OPTIONS.max_image_size:
    print
    print "  WARNING:  No board config specified; will not check image"
    print "  sizes against limits.  Use -b to make sure the generated"
    print "  images don't exceed partition sizes."
    print "  WARNING:  Failed to load max image sizes; will not enforce"
    print "  image size limits."
    print

  OPTIONS.input_tmp = common.UnzipTemp(args[0])

  output_zip = zipfile.ZipFile(args[1], "w", compression=zipfile.ZIP_DEFLATED)

  common.AddBoot(output_zip)
+10 −10
Original line number Diff line number Diff line
@@ -22,8 +22,7 @@ a full OTA is produced.
Usage:  ota_from_target_files [flags] input_target_files output_ota_package

  -b  (--board_config)  <file>
      Specifies a BoardConfig.mk file containing image max sizes
      against which the generated image files are checked.
      Deprecated.

  -k  (--package_key)  <key>
      Key to use to sign the package (default is
@@ -736,7 +735,7 @@ def main(argv):

  def option_handler(o, a):
    if o in ("-b", "--board_config"):
      common.LoadBoardConfig(a)
      pass   # deprecated
    elif o in ("-k", "--package_key"):
      OPTIONS.package_key = a
    elif o in ("-i", "--incremental_from"):
@@ -768,13 +767,6 @@ def main(argv):
    common.Usage(__doc__)
    sys.exit(1)

  if not OPTIONS.max_image_size:
    print
    print "  WARNING:  No board config specified; will not check image"
    print "  sizes against limits.  Use -b to make sure the generated"
    print "  images don't exceed partition sizes."
    print

  if OPTIONS.script_mode not in ("amend", "edify", "auto"):
    raise ValueError('unknown script mode "%s"' % (OPTIONS.script_mode,))

@@ -783,6 +775,14 @@ def main(argv):

  print "unzipping target target-files..."
  OPTIONS.input_tmp = common.UnzipTemp(args[0])

  common.LoadMaxSizes()
  if not OPTIONS.max_image_size:
    print
    print "  WARNING:  Failed to load max image sizes; will not enforce"
    print "  image size limits."
    print

  OPTIONS.target_tmp = OPTIONS.input_tmp
  input_zip = zipfile.ZipFile(args[0], "r")
  if OPTIONS.package_key: