Skip to main content

Crate rpmrepo_metadata

Crate rpmrepo_metadata 

Source
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§

constants
utils
visitor
Visitor-based streaming parsers for RPM repository metadata.

Structs§

Changelog
A changelog entry from an RPM package.
CompsCategory
A category from comps.xml, organizing groups into higher-level groupings.
CompsData
Parsed comps.xml data containing all group, category, environment, and langpack entries.
CompsEnvironment
An environment from comps.xml, defining a complete installation profile.
CompsEnvironmentOption
An optional group within a comps environment, with a default selection state.
CompsGroup
A package group from comps.xml, grouping related packages for installation.
CompsLangpack
A langpack mapping from comps.xml, associating packages with language pack patterns.
CompsPackageReq
A package requirement within a comps group.
CompsXml
Marker type for comps.xml read/write operations.
CompsXmlReader
Reader for comps.xml metadata (package groups, categories, and environments).
Evr
A full RPM “version” specifier has 3 different components - Epoch, Version, and Release.
FileIter
Iterator over file entries in a FileList, yielding FileRef values.
FileList
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.
FilelistsXml
Marker type for filelists.xml read/write operations.
Nevra
A full RPM “NEVRA” consists of 5 different components - Name, Epoch, Version, Release, and Architecture.
OtherXml
Marker type for other.xml read/write operations.
Package
An RPM package’s metadata as represented in repository XML.
PackageIterator
Iterator over packages in a repository, merging data from primary, filelists, and other XML.
PackageOptions
Options for reading an RPM package file into a Package.
PrimaryXml
Marker type for primary.xml read/write operations.
RepomdData
Contents of a repomd.xml file: revision, metadata file records, and repository tags.
RepomdRecord
A single metadata file entry within repomd.xml (e.g. primary, filelists, other).
RepomdXml
Marker type for repomd.xml read/write operations.
Repository
A high level API for working with RPM repositories.
RepositoryOptions
Options for writing RPM repository metadata.
RepositoryReader
Helper for reading metadata from an RPM repository manually.
RepositoryWriter
Helper for writing RPM repository metadata manually.
Requirement
An RPM dependency entry (used for Provides, Requires, Conflicts, Obsoletes, etc.).
UpdateCollection
A collection of packages affected by an advisory update.
UpdateCollectionModule
Module stream information for a modular advisory update.
UpdateCollectionPackage
A package within an advisory update collection.
UpdateRecord
An advisory (errata) entry from updateinfo.xml.
UpdateReference
A reference (bugzilla, CVE, etc.) associated with an advisory.
UpdateinfoIterator
Iterator over advisory records from updateinfo.xml.
UpdateinfoXml
Marker type for updateinfo.xml read/write operations.
UpdateinfoXmlReader
Streaming reader for updateinfo.xml advisory metadata.

Enums§

Checksum
A checksum value tagged with its algorithm type.
ChecksumType
Hash algorithm used for checksums in repository metadata.
CompressionType
Compression algorithm used for repository metadata files.
FileType
Type of a file entry within an RPM package.
MetadataError
Errors that can occur when reading, writing, or validating RPM repository metadata.
PackageReqType
Known package requirement types within a comps group.
RequirementType
Comparison operator for version-constrained dependencies.