Goal
Drive dylints/ban_unrooted_tempdir/src/allowlist.txt from 92 entries → 0. Per user directive on #844: no grandfathering, no backwards compatibility. Every allowlisted site is a migration target.
Sub-issue of #844.
Migration approach
- Add a
fbuild_paths::dev_or_prod_temp_root() helper that returns ~/.fbuild/{dev|prod}/tmp/<subdir>/.
- Each call site that currently uses
tempfile::TempDir::new() / tempfile::tempdir() migrates to tempfile::tempdir_in(&root) with an appropriate subdir.
- As each file's last violation is removed, delete its entry from
allowlist.txt.
Highest-impact production sites
crates/fbuild-packages/src/extractor.rs — tar/zip extraction (per-package-install)
crates/fbuild-packages/src/library/esp32_framework/libs.rs — framework staging (per-env install)
crates/fbuild-packages/src/disk_cache/{gc,mod}.rs — cache management
crates/fbuild-build/src/linker.rs — linker artifact temps (per-build)
crates/fbuild-build/src/framework_core_cache.rs — framework core hydration
Acceptance
References: #844, #826 (origin of the lint).
Goal
Drive
dylints/ban_unrooted_tempdir/src/allowlist.txtfrom 92 entries → 0. Per user directive on #844: no grandfathering, no backwards compatibility. Every allowlisted site is a migration target.Sub-issue of #844.
Migration approach
fbuild_paths::dev_or_prod_temp_root()helper that returns~/.fbuild/{dev|prod}/tmp/<subdir>/.tempfile::TempDir::new()/tempfile::tempdir()migrates totempfile::tempdir_in(&root)with an appropriate subdir.allowlist.txt.Highest-impact production sites
crates/fbuild-packages/src/extractor.rs— tar/zip extraction (per-package-install)crates/fbuild-packages/src/library/esp32_framework/libs.rs— framework staging (per-env install)crates/fbuild-packages/src/disk_cache/{gc,mod}.rs— cache managementcrates/fbuild-build/src/linker.rs— linker artifact temps (per-build)crates/fbuild-build/src/framework_core_cache.rs— framework core hydrationAcceptance
fbuild_paths::dev_or_prod_temp_root()helper existsdylints/ban_unrooted_tempdir/src/allowlist.txtcontains only the header comment (zero entries)~/.fbuild/{dev|prod}/tmp/instead of$TMPDIRReferences: #844, #826 (origin of the lint).