I would hazard to guess that the repository mappings are handled by
zypper, just as
yum does, rather than by
rpm. Additionally, the question that you linked in your own question shows that
yumdb is used for this purpose within Fedora, which would further support my assumption here. The OpenSUSE documentation reveals:
test RPM XML Metadata format is mostly used for online repositories on the internet. It has its origins in the YUM package manager.
Just lately it was extended to support repositories split across multiple media.
See the source code for the OpenSUSE zypper schema specification on github. Although the metadata is part of the
rpm package, it's either being used by
zypper (independently) or if the
rpm tool does have that ability built-in, the database info is not shared between
After reading the entirety of your question, I'm not sure if you're the end-user wishing to work with the zypperdb(?) or if you're a developer looking to build
rpm packages. For the latter, as I eluded to earlier, the information can be specified within an rpm
This is an XML format for describing the critical metadata from an rpm
package for dependency resolving and installation. Currently, this
format is supported by apt-rpm,smartpm,red carpet and yum.
The files break down as follows:
repomd.xml this is the file that describes the other metadata files. It is like an index file to point to the other files. It
contains timestamps and checksums for the other files. This lets a
client download this one, small file and know if anything else has
changed. This also means that cryptographically (ex: gpg) signing this
one file can ensure repository integrity.
primary.xml.[gz] this file stores the primary metadata information. This includes information such as:
name, epoch, version, release, architecture
file size, file location, description, summary, format, checksums header byte-ranges, etc.
- dependencies, provides, conflicts, obsoletes, suggests, recommends
- file lists for the package for CERTAIN files - specifically files matching: /etc*, bin/, /usr/lib/sendmail 
- filelists.xml.[gz] this file stores the complete file and directory listings for the packages. The package is identified by:
name, epoch, version, release, architecture and package checksum id.
- other.xml.[gz] this file currently only stores the changelog data from packages. However, this file could be used for any other
additional metadata that could be useful for clients.
- groups.xml.[gz] this file is tentatively described. The intention is for a common package-groups specification as well. There is still
some sections for this format that need to be fleshed out.
FIXME The specification needs better and more current documentation
and needs to be included here. :)