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

Commit da27680c authored by Daniel Norman's avatar Daniel Norman Committed by android-build-merger
Browse files

Merge "Adds support to create img from target files directory instead of zip."

am: 74a679d9

Change-Id: I515fd2c3ed0dc71bbc4999a9b3c283cc196af200
parents 063c5449 74a679d9
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -15,11 +15,18 @@
# limitations under the License.

"""
Given a target-files zipfile, produces an image zipfile suitable for
use with 'fastboot update'.
Given target-files, produces an image zipfile suitable for use
with 'fastboot update'.

Usage:  img_from_target_files [flags] input_target_files output_image_zip

input_target_files: one of the following:
  - directory containing extracted target files. It will load info from
    OTA/android-info.txt and build the image zipfile using images from IMAGES/.
  - target files package. Same as above, but extracts the archive before
    building the image zipfile.

Flags:
  -z  (--bootable_zip)
      Include only the bootable images (eg 'boot' and 'recovery') in
      the output.
@@ -76,7 +83,16 @@ def main(argv):

  common.InitLogging()

  target_files = args[0]
  if os.path.isdir(target_files):
    logger.info("Building image zip from extracted target files.")
    OPTIONS.input_tmp = target_files
  elif zipfile.is_zipfile(target_files):
    logger.info("Building image zip from target files zip.")
    OPTIONS.input_tmp = common.UnzipTemp(args[0], ["IMAGES/*", "OTA/*"])
  else:
    raise ValueError("%s is not a valid path." % target_files)

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

+10 −8
Original line number Diff line number Diff line
@@ -698,6 +698,16 @@ def merge_target_files(temp_dir, system_target_files, system_item_list,
    if output_super_empty:
      shutil.copyfile(super_empty_img, output_super_empty)

  # Create the IMG package from the merged target files (before zipping, in
  # order to avoid an unnecessary unzip and copy).

  if output_img:
    img_from_target_files_args = [
        output_target_files_temp_dir,
        output_img,
    ]
    img_from_target_files.main(img_from_target_files_args)

  # Finally, create the output target files zip archive and/or copy the
  # output items to the output target files directory.

@@ -751,14 +761,6 @@ def merge_target_files(temp_dir, system_target_files, system_item_list,
    ]
    ota_from_target_files.main(ota_from_target_files_args)

  # Create the IMG package from the merged target files package.

  if output_img:
    img_from_target_files_args = [
        output_zip,
        output_img,
    ]
    img_from_target_files.main(img_from_target_files_args)


def call_func_with_temp_dir(func, keep_tmp):