RPM Community Forums

Mailing List Message of <rpm-users>

Re: What's the createrepo equivalent in rpm5 ?

From: Jeff Johnson <n3npq@mac.com>
Date: Wed 23 Feb 2011 - 19:20:35 CET
Message-id: <BEBB5DED-FC81-4996-B595-E7F2747F774C@mac.com>

On Feb 23, 2011, at 12:37 PM, Sriram Narayanan wrote:

> Should we consider createrepo or does rpm5 provide something that's equivalent ?
> 

Depends on what you want.

There is a rpmrepo client-side tool that will create both rpm-metadata
XML used by many depsolvers as well as the sqlite schema in the database
format currently used by yum.

> Would this be usable by yum ?
> 

The output of rpmrepo was identical to what was in use by yum when
implemented bck in 2008. Since then yum has changed some minor file naming
conventions and otherwise altered the "standard" (but actually de facto)
rpm-metadata format slightly.

Wouldn't be hard to fix, is on my todo++ list, but there's been zero
interest in using rpmrepo so far, hence its a low priority.

The major features to rpmrepo are

	1) client-side rather than server-side. This basically means
	that rpmrepo can generate markup on the local client in any
	format needed, thereby uncoupling from whatever incompaitibilities
	are introduced on servers by "feeping creaturism" with later
	yum versions.

	2) faster (~20%) than createrepo when I last checked, largely because
	in C not in python.

	3) integrated support on the rpm CLI. E.g
		rpm -qp --yum:primary.xml *.rpm
	can be done any time one wishes, and generates rpm-metadata
	in XML for whatever "*.rpm" constitutes a package repository collection.

Note carefully that rpm-metadata markup is poorly designed and includes
compute intensive elements like package file digests that largely make
benchmark (or other comparisons) irrelevant. E.g. a very minor change
to the markup to use pre-computed header+payload or header-only digests
would speed up createrepo/rpmrepo by 1-2 orders of magnitude no matter
what language was chosen for an implementation.

hth

73 de Jeff

  • application/pkcs7-signature attachment: smime.p7s
Received on Wed Feb 23 19:21:00 2011
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.