Skip to main content

Crate znippy_plugin_rust_toolchain

Crate znippy_plugin_rust_toolchain 

Source
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 for wasm32-unknown-unknown as-is.

Structs§

NativeRustToolchainPlugin
Native rust-dev-bundle handler.

Constants§

BUNDLE_LAYOUT
The canonical bundle layout, printed by the layout subcommand and mirrored by the classifier in member.
RUST_TOOLCHAIN_TYPE_ID
DenseUnion / pkg_type discriminant. Clear of the built-ins (1–18), media (25) and the skidbladnir bundle classifier (40).