1. 20 Jul, 2009 1 commit
    • Doug Zongker's avatar
      better patching for zip files · 6b2bb3d9
      Doug Zongker authored
      Adds a zip mode ("-z") to imgdiff to construct efficient patches for
      zip files (including jars and apks).  We identify the regions within
      the zip file containing deflated data, and when a corresponding file
      can be found in the source zip, a patch is generated for the
      uncompressed version of the data.
      
      The GZIP chunk type is replaced with a DEFLATE chunk type that handles
      a raw deflated data stream.  This new DEFLATE chunk can be used for
      both gzipped pieces (as found within boot and recovery images) and zip
      files (apks, etc.)  The gzip header and footer are handled by NORMAL
      chunks on either side of the main DEFLATE chunks.  (Typically these
      tiny NORMAL chunks will get merged with adjacent chunks, so the number
      of output chunks is unaffected.)
      
      Add a test script that tests the generate-apply cycle on all the zips
      and images within a pair of full OTA packages.
      6b2bb3d9
  2. 29 May, 2009 1 commit
    • Doug Zongker's avatar
      new image diffing tool and support for image patches in applypatch · 02d444b0
      Doug Zongker authored
      Images (like boot and recovery) consist of large sections of gzipped
      data interspersed with other data.  To do effective binary patching of
      these files, we need to apply patches to the gzipped parts in
      'uncompressed space', that is, we decompress, apply a patch, then
      recompress to obtain the desired output.
      
      This change defines a new format with these patches, which is
      basically a description of how the source and target files are to be
      divided up into chunks and a bsdiff patch for each chunk.  We add a
      new host executable, "imgdiff", for generating these patches from
      source and target images, and add support in applypatch for
      recognizing this format and applying it on the device.
      02d444b0
  3. 03 Mar, 2009 2 commits
  4. 21 Oct, 2008 1 commit