[Yum-devel] createrepo: deterministic ordering of packages in XML files.

Zdeněk Pavlas zpavlas at redhat.com
Fri Nov 23 15:28:15 UTC 2012


Createrepo does not guarantee any ordering (os.listdir order is used).
Also, with --update, cached packages are stored first, then new ones.
The same tree may produce XMLs with different checksum.  Some consider
this to be a problem.

[PATCH 1/4] worker: no --tmpmdpath => use stdout
[PATCH 2/4] use pipe instead of tempfiles.. ~5% speedup

These two patches allow createrepo to process worker's output on
a per-package basis, so merging of the cached packages is possible.
Minor speedup is a side effect :)


Don't split the package list, but interleave, so workers's output
streams could be merged without tempfiles.  Merge-sort cached packages.


More information about the Yum-devel mailing list