Ensure that PrepatchedImagePatcher runs before other patchers #357
+60
−3
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
On older devices, like the Pixel 4a, where
boot
is used for both Android and recovery mode, the image will be patched byOtaCertPatcher
andPrepatchedImagePatcher
.OtaCertPatcher
was always set to run first, so whenPrepatchedImagePatcher
used the user-supplied image as-is, prior modifications got wiped out. This made is so users could no longer flash further patched OTAs.This is an unfortunate regression that was introduced in avbroot 2.0.0. The e2e tests never caught this issue because the
--prepatched
test was being fed the boot image previously patched by--magisk
. That already had valid certs so the result ofOtaCertPatcher
's modifications being lost were not visible. This commit also fixes the e2e tests so that this type of issue will be caught in the future.Fixes: #356