1 unstable release

0.1.0 Jan 3, 2022

#17 in #rpm

27 downloads per month
Used in linux-package-analyzer

MPL-2.0 license

698 lines

RPM Repository

rpm-repository is a library crate implementing functionality related to RPM / yum based repositories.

See the crate's documentation for more.

Project Relationship

rpm-repository is part of the PyOxidizer project and this crate is developed in that repository.

While this crate is developed as part of a larger project, modifications to support its use outside of its primary use case are very much welcomed and encouraged!


RPM repository interaction.

This crate facilitates interacting with RPM package repositories.

RPM repositories are defined by a base URL. Under that base URL is typically a repodata directory containing a repomd.xml file. This repomd.xml file (represented by metadata::repomd::RepoMd) describes other metadata files constituting the repository.

Files and data structures in the repodata directory are defined in the [metadata] module tree.

The [RepositoryRootReader] trait defines a generic read interface bound to a base URL. The [MetadataReader] trait defines an interface to repository metadata via a parsed repomd.xml file.

Concrete repository readers exist. http::HttpRepositoryClient provides a reader for repositories accessed via HTTP.


~397K SLoC