Skip to content

audit: teensy / framework-arduinoteensy — does platform_packages override work? (parent #664) #680

Closed

Description

@zackees

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

What to check

  1. Open crates/fbuild-packages/src/library/teensy_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/teensy/ — 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:

    • crates/fbuild-packages/src/library/teensy_core.rs:14 — const TEENSY_CORE_URL: &str = "https://dl.registry.platformio.org/download/platformio/tool/framework-arduinoteensy/1.160.0/framework-arduinoteensy-1.160.0.tar.gz"
    • crates/fbuild-packages/src/library/teensy_core.rs:23-36 — only constructor TeensyCores::new(project_dir), package name "framework-arduinoteensy"
    • crates/fbuild-build/src/teensy/orchestrator.rs:101 — calls TeensyCores::new(&params.project_dir) without reading env_config.get("platform_packages")
    • crates/fbuild-packages/src/lib.rs:206-227 — PackageBase has no with_override or env_config parameter; URL is hardcoded const &str

    NOTES: Identical pattern to nxplpc (#663); PlatformIO honors platform_packages but fbuild silently drops it.

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