Skip to content

Support ordered delta OTA chains - #52

Open
gotenksIN wants to merge 7 commits into
masterfrom
delta-ota-support
Open

gotenksIN wants to merge 7 commits into
masterfrom
delta-ota-support

Conversation

@gotenksIN

Copy link
Copy Markdown
Contributor

Summary

  • Accept an ordered base input followed by one or more delta OTA URLs in direct and moderated /dump flows.
  • Build source images from full OTAs or safe raw-image .7z, .tar, and .zip archives.
  • Apply delta stages in order, carry omitted partitions forward, and publish only the final build.
  • Integrate native cancellation and mandatory worker draining.
  • Redact private source URLs and URL-derived filenames across moderation, progress, errors, logs, and cancellation.

Requires AndroidDumps/otadump#1.

Validation

  • uv run pytest -q: 64 passed.
  • uv lock --check passed.
  • FroggerPro boundary validation matched all 41 target partition hashes and preserved all 41 source hashes.
  • Manual checks covered ordered parsing, persistence reloads, raw archives, full OTA sources, private moderation, cancellation draining, and legacy single-input alternative dumping.

Public test inputs

Both cases reconstruct Pong_B4.1-260818-1726 from Pong_B4.1-260414-1749.

Base images plus delta

Download the boot, firmware, and all multipart logical image assets.
Extract them and repack the resulting .img files into one .7z, .tar, or .zip archive.
Host that archive at a direct URL, then run:

/dump BASE_IMAGES_ARCHIVE_URL https://android.googleapis.com/packages/ota-api/package/0fabd802d4714166f47aed0104d2eb4e8fcaad9f.zip

Full OTA plus delta

Run:

/dump https://archive.org/download/nothing-archive/spike0en/fullota/pong/Pong_B4.1-260414-1749.zip https://android.googleapis.com/packages/ota-api/package/0fabd802d4714166f47aed0104d2eb4e8fcaad9f.zip

Append a, f, or p only when the corresponding mode is required.

Signed-off-by: Omkar Chandorkar <gotenksIN@aospa.co>
Signed-off-by: Omkar Chandorkar <gotenksIN@aospa.co>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Signed-off-by: Akhil Narang <me@akhilnarang.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants