perf: derive file maps from pinned debs - #269
Open
zbarsky-openai wants to merge 3 commits into
Open
zbarsky-openai wants to merge 3 commits into
zbarsky-openai wants to merge 3 commits into
Conversation
Use tar.bzl's pinned host binary during repository evaluation. Discover the data archive instead of assuming XZ compression, so Zstandard debs work without host tar or zstd. Remove directory exclusions that suppress file discovery with BSD tar, and report inspection/extraction failures.
Keep indexes from different URLs separate even when suite, component, and architecture match. Scope snapshot facts by source URL and retain the selected package's URLs instead of reconstructing them from the suite. Continue reading existing v2 locks and refresh their provenance when packages are resolved. Cover mixed snapshot/rolling sources and package URLs that differ from the suite's URLs.
Inspect the exact selected Debian archive only when a dependency file map is needed. Avoid downloading and parsing distribution-wide Contents indexes, which third-party apt repositories may not publish and which do not identify the selected package version. Delete the temporary archive after inspection and remove the unused Contents parser.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Derive dependency file maps from the exact hash-pinned Debian archives
when those maps are needed. Distribution-wide Contents indexes may be
absent from third-party repositories and do not identify the selected
package version.
Remove eager Contents downloads, parsing, and state. Keep file-map
repositories separate from package imports to preserve support for
circular Debian dependency graphs. Use hermetic bsdtar for inspection and
delete the temporary archive afterward.
This trades distribution-wide index work for inspection of the package
archives needed by the build and avoids embedding file lists in generated
module-lock repository specifications.
Depends on #266 and #267. The branch includes those prerequisites; the
file-map change is commit cab5491.