XML Package Metadata
Creating rpm xml-metadata repositories
This page is all about createrepo and how it
generates the metadata necessary for a package repository. This repository
format is supported by apt, red-carpet(zen), smart, up2date, Yast and yum.
Downloads
All packages and releases are available from:
http://linux.duke.edu/createrepo/download/
Anonymous SCM Access Access
To pull from git do the following
git clone http://linux.duke.edu/createrepo/git/createrepo.git
To update once you've gotten it.
git pull
Web based Source Access - GitWeb
Git Web is available from:
http://devel.linux.duke.edu/gitweb/
Committer Access
If you're a committer your access is using ssh. You can access the git trees via:
git clone ssh://login.linux.duke.edu/home/groups/createrepo/git/createrepo.git
Explanations
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 [1]
- it also includes a 'format' element which allows for format specific
information to be stored. The formats known about right now are deb
and rpm
- 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.
Mailing List
Mailing list: https://lists.dulug.duke.edu/mailman/listinfo/rpm-metadata