Embed dpkg's factual cputable/ostable/tupletable/abitable data and implement tuple/triplet/multiarch lookups, wildcard matching, arch restriction evaluation and the full DEB_BUILD_*/DEB_HOST_*/DEB_TARGET_* environment dump natively. build/env.rs::arch_env now delegates to the native implementation instead of shelling out to 'dpkg-architecture -f'. Differential gate (build/mod.rs): arch_env(Some(a)) must equal real 'dpkg-architecture -f -a a' key-for-key for every architecture listed by 'dpkg-architecture -L', plus the native case. Data tables carry upstream attribution comments; no dpkg code was transliterated.
26 lines
1.0 KiB
Rust
26 lines
1.0 KiB
Rust
//! Reusable Debian format primitives.
|
|
//!
|
|
//! These components are independent from any build orchestration and can be
|
|
//! used by any pkh submodule (or external consumers of the library):
|
|
//!
|
|
//! - [`arch`]: Debian architecture tables and lookups (dpkg-architecture)
|
|
//! - [`control`]: deb822 paragraph parsing/writing and `debian/control`
|
|
//! - [`checksums`]: file checksum registry (`Dpkg::Checksums` equivalent)
|
|
//! - [`deps`]: dependency grammar and evaluation (dpkg-checkbuilddeps)
|
|
//! - [`files`]: `debian/files` artifact registry (`Dpkg::Dist::Files`)
|
|
//! - [`version`]: Debian version splitting/validation/comparison
|
|
//! - [`changelog`]: `debian/changelog` entry parsing
|
|
|
|
pub mod arch;
|
|
pub mod changelog;
|
|
pub mod checksums;
|
|
pub mod control;
|
|
pub mod files;
|
|
pub mod version;
|
|
|
|
pub use changelog::{ChangelogEntry, parse_changelog_entry};
|
|
pub use checksums::{Entry as ChecksumEntry, FileChecksums};
|
|
pub use control::{ControlInfo, Paragraph, parse_paragraphs, write_paragraph};
|
|
pub use files::{FilesEntry, FilesList};
|
|
pub use version::DebianVersion;
|