Expand description
znippy handler for airgapped Rust-developer bundles — the
rust-dev-rhel8-<ver>.znippy payload (a standalone rustup-dist toolchain +
a cargo vendor crate set + a .cargo/config + pinned integrity manifest)
that lets a disconnected RHEL 8 box cargo build/cargo run offline.
It teaches znippy’s Arrow-IPC index what each entry of a sealed rust-dev
bundle is, so the archive is self-describing and DuckDB/Polars-queryable
(SELECT logical_path FROM bundle WHERE member_kind = 'vendor-crate'). It adds
only metadata columns — the format, the pack/move/unfold mechanics and the
sealing stay owned by znippy + Skidbladnir.
Native builtin: registered in znippy-cli/src/handlers.rs::builtin_handlers,
discovered via ArchiveTypePlugin::meta. NOT a WASM plugin. Sibling of
znippy-plugin-skidbladnir (type_id 40) — a fresh type_id (41) so a
znippy meta query over a toolchain bundle is unambiguous (design decision §6.2).
Laws it honours: P-1 one archive = one ecosystem (--format rust-toolchain);
P-2 writes only the columns it declared; P-4 never panics — a member it
cannot parse still writes with its path-derived member_kind, only the optional
toolchain_version/host_triple degrade to null.
Re-exports§
pub use member::classify;pub use member::component_of;pub use member::is_rust_dev_bundle;pub use member::MemberKind;
Modules§
- member
- The bundle-member classifier. Unconditional, and deliberately free of
every dependency this crate has: it is pure
&str-> enum, so it compiles forwasm32-unknown-unknownas-is.
Structs§
- Native
Rust Toolchain Plugin - Native rust-dev-bundle handler.
Constants§
- BUNDLE_
LAYOUT - The canonical bundle layout, printed by the
layoutsubcommand and mirrored by the classifier inmember. - RUST_
TOOLCHAIN_ TYPE_ ID - DenseUnion / pkg_type discriminant. Clear of the built-ins (1–18), media (25) and the skidbladnir bundle classifier (40).