Skip to content

build(vold): acquire pinned Sony vendors and support local builds - #163

Merged
0cwa merged 1 commit into
mainfrom
feature/vold-local-vendor-inputs-20261022
Oct 22, 2026
Merged

0cwa merged 1 commit into
mainfrom
feature/vold-local-vendor-inputs-20261022

Conversation

@0cwa

@0cwa 0cwa commented Oct 22, 2026 •

Copy link
Copy Markdown
Owner

Problem

The original-vold probe stopped at missing Sony proprietary files, even though public vendor repositories contain compatible inputs. Source compilation also depended on a provisioned Actions runner. This prevented the baseline experiment from progressing on a local computer.

Changes

  • Add a separate immutable candidate lock for TheMuppets pdx235 1e503a56c0d16de1f19f2b011581908dac29065b and sm6375-common 2114108d5adfe787503ad0c87508d78123551991. Acquire shallow exact commits, verify clean Git identity and complete SHA-256 inventories, then regenerate the eight declarations with unchanged pinned Lineage sources.
  • Allow only those verified supplemental vendor roots in the build workspace and record their provenance. Mirror receipts explicitly do not claim Lineage publisher authentication or proof of the official builder's vendor identity.
  • Add vold_local.py plan|doctor|vendor|prepare|probe|compare, persistent source/selection/cache/output, invocation-specific diagnostics and workspace locking. Resume fetches only missing selected projects; initial source synchronization uses shallow, current-branch, tag-free requests.
  • Add private local tool setup with a digest-pinned official Repo launcher and the existing publisher-authenticated avbroot bootstrap/sealed runner. No GitHub runner, token, variables or global installation is required.
  • Make local comparison compile first, then authenticate the exact OTA and freshly extract the reference on every comparison. Only the download is cached; an editable reference receipt cannot authorize a cached ELF.
  • Document Ubuntu setup, small vendor-only checks, resource guidance, normal resume and recovery from interrupted first initialization. Register the new tests in ordinary CI.

Actual validation

  • Exact-head CI #39786297037 passed for 768df411033f80d50696c7f58bbb1813ce8cdc5b.

  • 78 original-vold tests passed, including source/vendor tampering, resumability, shell/Python tool-shadow rejection, reference substitution and exact-byte failure behavior.

  • Repository workflow contract checks passed.

  • Real public candidates contain all 1,106 proprietary-list destinations, all 27 explicit blob hash requirements match, and all eight generated declarations reproduce byte-for-byte.

  • The real local vendor command passed twice against a proper Repo checkout. Complete receipts matched and all five source/vendor fetch records were unchanged.

  • The documented host-tool setup authenticated avbroot and executed avbroot 3.35.0 through the sealed runner. The installed official Repo launcher performed its normal signed bootstrap (observed v2.70) and a fresh successful three-project source sync.

  • Detailed evidence: vendor compatibility and local integration.

Qualification status

This resolves vendor acquisition/preparation and supplies a practical local build workflow. The 84-project starting selection remains provisional: Android compilation and authentic byte-identical original-vold comparison have not yet been completed. Those results require running the local probe/compare on a suitably sized host.

The timeout module in draft #157 remains untouched. This infrastructure does not apply its patch, publish an OTA, change production defaults, or claim device acceptance.

…al builds

Fetch and verify exact TheMuppets candidate revisions, replay unchanged pinned vendor generation, and retain complete provenance without claiming publisher authenticity. Add local setup, staged build commands, safe resume, authenticated fresh reference extraction, and exact-byte comparison. Preserve production timeout/publication gates.

Validated 78 vold tests, workflow contract tests, actual vendor regeneration and repeated local preparation, and the documented host-tool bootstrap with fresh three-project Repo sync.
@coderabbitai

coderabbitai Bot commented Oct 22, 2026

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: Organization UI
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 079388e8-9c95-470d-998e-6123bb1f2acd
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@0cwa
0cwa merged commit 30d458e into main Oct 22, 2026
3 checks passed
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.

1 participant