novi 1.1.0 release: parse repodata files

novi 1.1.0 is available for download. This release includes the ability to read repository metadata (repodata) files to enhance performance.

Allow me to explain:

There are two ways to make a program run faster: tune the code, to make it more efficient; or adjust the design, so it doesn’t do as much processing. novi 1.1.0 takes the latter approach. Some repositories don’t change – notably, the Fedora OS install media – but previous versions of novi would still have to churn through all of the files in such a static repository in order to load the RPMs’ header information.

I had considered creating a cache to store header data between novi runs, but the Repository Metadata Project had already done it. This project defines an XML file format to store RPM header info. You can run the createrepo tool once on a static repository, and novi can load the data from the resultant metadata file. (The repodata files already exist for the OS install media. Note the repodata directory.)

It’s no surprise that it takes far less CPU time and I/O to load a single XML file instead of reading hundreds of RPMs.

Refer to the man page and examples for details on the syntax.

* * *