Skip to content

audit: avr / framework-arduino-avr — does platform_packages override work? (parent #664) #667

Closed

Description

@zackees

Parent: #664 (full context, scope, motivation).

What to check

  1. Open crates/fbuild-packages/src/library/arduino_core.rs — confirm the framework URL / commit / sha256 are pinned as const &str and that the only public constructor takes no override.
  2. Open the orchestrator at crates/fbuild-build/src/avr/ — does it consult config.get_env_config(env_name)? for a platform_packages entry naming this framework, and pass the URL+ref through to a with_override constructor? Or does it only ever call the default constructor?
  3. Reply on this issue with:
    • bug exists — if the orchestrator never reads platform_packages, plus file:line for both the const URL pin and the call site.
    • fixed / no bug — if an override path exists, plus file:line showing the lookup + override constructor.

Reference

#663 is the original report of this pattern (nxplpc). #664 lists every framework package being audited. Use the same evidence shape: file:line for the const URL pin and for the orchestrator call site.

Activity

  1. zackees commented on Jun 20, 2026

    @zackees
    MemberAuthor

    VERDICT: bug exists

    EVIDENCE:

    • arduino_core.rs:11-13 — const AVR_CORE_URL, AVR_CORE_VERSION, AVR_CORE_CHECKSUM hardcoded
    • arduino_core.rs:22 — only constructor pub fn new(project_dir: &Path) takes no override
    • avr_framework.rs:101 — AvrFramework::for_core() reads from embedded avr_frameworks.json, takes no override
    • crates/fbuild-build/src/avr/orchestrator.rs:114-119 — calls ensure_avr_framework() with no platform_packages lookup
    • No env_config read for framework_packages override anywhere in AVR build pipeline

    NOTES: Both ArduinoCore and AvrFramework use only data-driven URLs; they ignore env_config entirely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions