= createrepo/rpm metadata = This project defines the rpm-metadata (repodata) format and maintains one of the programs (createrepo) which create this format from existing rpms and other sources. == rpm metadata == 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 [1] * '''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. :) == createrepo == A python program which generate the above format from a set of rpm files. === Get Createrepo === * [http://createrepo.baseurl.org/download/ createrepo]: * 0.4.11 - Latest 'stable' series * 0.9.8 - Latest 'development' series - Requires yum >= 3.2.23 === Basic Use === Normal and mildly advanced [http://yum.baseurl.org/wiki/RepoCreate usage docs] === Source Code === ==== To pull anonymously from git do the following ==== * createrepo {{{git clone http://createrepo.baseurl.org/git/createrepo.git }}} === Web based Source Access === [http://createrepo.baseurl.org/gitweb/ GitWeb] === Commit Access === If you have commit access you should use ssh. You can access the git trees via: {{{git clone ssh://createrepo.baseurl.org/srv/projects/createrepo/git/createrepo.git}}} == Communication == The [http://lists.baseurl.org/mailman/listinfo/rpm-metadata rpm-metadata list] is available for all communication about the metadata format or createrepo. File a [http://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&component=createrepo Bug]