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

35KB
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!


lib.rs:

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.

Dependencies

~11–27MB
~397K SLoC