This repository contains the various schema files for the RPM MetaData (rpm-md) format created originally for the Yellowdog Updater, Modified (YUM) and supported by a large number of RPM package managers.
Currently, there is no reference files for this, so this repository contains a collection of
schema files from various sources (under historical/
), which will hopefully be used to create
a rationalized, uniform definition of what the metadata format actually is.
There are now a good handful of package managers that have used and evolved
a repository format that is generally referred to as a yum
repository. The
original release of yum
, the "Yellowdog Updater Modified", was in 2002,
and was present in Fedora Core 1, released in 2003.
There have been previous attempts to document the repository format, most notably in openSUSE. https://en.opensuse.org/openSUSE:Standards_Rpm_Metadata
There exist repositories using a SQLite variant of the repository format,
with some repositories exclusively using it, having only the repomd.xml
top level file in XML. The SQLite variant is understood by yum
, but did
not make the leap to dnf
at all.
The SQLite repository format variant is not understood by libsolv
, which is
used by most current generation RPM package managers.
Package managers known to use the yum
metadata format include:
yum
github and http://yum.baseurl.org/- Currently used by:
- No longer used by:
dnf
(akadnf
version 4) github,dnf
documentation- Currently used by:
dnf5
(akadnf
version 5) github,dnf5
documentation- Targeted for Fedora 41, see (SwitchToDnf5)
zypper
github and https://en.opensuse.org/Portal:Zypper- Currently used by:
The basic structure is that a repodata/repomd.xml
file exists, which points
to all other metadata about the repository.