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

Commit 74a679d9 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

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

parents 7d9b575f b8a2f9df
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):