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

Commit a0421cd1 authored by Tao Bao's avatar Tao Bao
Browse files

releasetools: Pack updatable images into IMAGES/ for A/B update.

Vendor-specific images (radio, bootloader and etc) used to stay in
RADIO/ in target_files zip. A/B updater expects them to be available
under IMAGES/. Make a copy for such images when calling
add_img_to_target_files.py.

We cannot move them directly from RADIO/ to IMAGES/, because we will
delete everything under IMAGES/ when signing for release.

Bug: 25674625
Change-Id: I977c879d0ff7e45c83b3f5c63844a5b135caa383
parent d1fd823f
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -319,6 +319,23 @@ def AddImagesToTargetFiles(filename):
  banner("cache")
  AddCache(output_zip)

  # For devices using A/B update, copy over images from RADIO/ to IMAGES/ and
  # make sure we have all the needed images ready under IMAGES/.
  ab_partitions = os.path.join(OPTIONS.input_tmp, "META", "ab_partitions.txt")
  if os.path.exists(ab_partitions):
    with open(ab_partitions, 'r') as f:
      lines = f.readlines()
    for line in lines:
      img_name = line.strip() + ".img"
      img_radio_path = os.path.join(OPTIONS.input_tmp, "RADIO", img_name)
      if os.path.exists(img_radio_path):
        common.ZipWrite(output_zip, img_radio_path,
                        os.path.join("IMAGES", img_name))

      # Zip spec says: All slashes MUST be forward slashes.
      img_path = 'IMAGES/' + img_name
      assert img_path in output_zip.namelist(), "cannot find " + img_name

  common.ZipClose(output_zip)

def main(argv):