Expand description
A library for reading, writing, and managing RPM repository metadata.
RPM repository metadata consists of several XML files (primary.xml, filelists.xml, other.xml,
repomd.xml, updateinfo.xml, comps.xml) that together describe the packages available in a
repository. This crate provides both high-level APIs (Repository, RepositoryReader,
RepositoryWriter) and lower-level streaming readers/writers for each metadata type.
With the read_rpm feature enabled, RPM packages can be read directly from disk via
Package::from_file.
Re-exports§
pub use visitor::CompsVisitor;pub use visitor::FilelistsVisitor;pub use visitor::OtherVisitor;pub use visitor::PrimaryVisitor;pub use visitor::UpdateinfoVisitor;
Modules§
Structs§
- Changelog
- A changelog entry from an RPM package.
- Comps
Category - A category from comps.xml, organizing groups into higher-level groupings.
- Comps
Data - Parsed comps.xml data containing all group, category, environment, and langpack entries.
- Comps
Environment - An environment from comps.xml, defining a complete installation profile.
- Comps
Environment Option - An optional group within a comps environment, with a default selection state.
- Comps
Group - A package group from comps.xml, grouping related packages for installation.
- Comps
Langpack - A langpack mapping from comps.xml, associating packages with language pack patterns.
- Comps
Package Req - A package requirement within a comps group.
- Comps
Xml - Marker type for comps.xml read/write operations.
- Comps
XmlReader - Reader for comps.xml metadata (package groups, categories, and environments).
- Evr
- A full RPM “version” specifier has 3 different components - Epoch, Version, and Release.
- File
Iter - Iterator over file entries in a
FileList, yieldingFileRefvalues. - File
List - A collection of file entries with interned directory and basename components.
- FileRef
- A reference to a single file entry, borrowing dir and basename from the pool.
- Filelists
Xml - Marker type for filelists.xml read/write operations.
- Nevra
- A full RPM “NEVRA” consists of 5 different components - Name, Epoch, Version, Release, and Architecture.
- Other
Xml - Marker type for other.xml read/write operations.
- Package
- An RPM package’s metadata as represented in repository XML.
- Package
Iterator - Iterator over packages in a repository, merging data from primary, filelists, and other XML.
- Package
Options - Options for reading an RPM package file into a
Package. - Primary
Xml - Marker type for primary.xml read/write operations.
- Repomd
Data - Contents of a
repomd.xmlfile: revision, metadata file records, and repository tags. - Repomd
Record - A single metadata file entry within repomd.xml (e.g. primary, filelists, other).
- Repomd
Xml - Marker type for repomd.xml read/write operations.
- Repository
- A high level API for working with RPM repositories.
- Repository
Options - Options for writing RPM repository metadata.
- Repository
Reader - Helper for reading metadata from an RPM repository manually.
- Repository
Writer - Helper for writing RPM repository metadata manually.
- Requirement
- An RPM dependency entry (used for Provides, Requires, Conflicts, Obsoletes, etc.).
- Update
Collection - A collection of packages affected by an advisory update.
- Update
Collection Module - Module stream information for a modular advisory update.
- Update
Collection Package - A package within an advisory update collection.
- Update
Record - An advisory (errata) entry from updateinfo.xml.
- Update
Reference - A reference (bugzilla, CVE, etc.) associated with an advisory.
- Updateinfo
Iterator - Iterator over advisory records from updateinfo.xml.
- Updateinfo
Xml - Marker type for updateinfo.xml read/write operations.
- Updateinfo
XmlReader - Streaming reader for updateinfo.xml advisory metadata.
Enums§
- Checksum
- A checksum value tagged with its algorithm type.
- Checksum
Type - Hash algorithm used for checksums in repository metadata.
- Compression
Type - Compression algorithm used for repository metadata files.
- File
Type - Type of a file entry within an RPM package.
- Metadata
Error - Errors that can occur when reading, writing, or validating RPM repository metadata.
- Package
ReqType - Known package requirement types within a comps group.
- Requirement
Type - Comparison operator for version-constrained dependencies.