From Bugzilla Helper: User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1) Gecko/20031030 Description of problem: The rpmdb-* package is created (and hence downloaded) daily. The size of rpmdb-* can be reduced significantly by a) including only Packages in %files b) doing --rebuilddb --dbpath /wherever in %post c) reducing the number of indices that are generated by --rebuilddb (Providenames and Basenames are of most use) in order to speed up --rebuilddb Add --define '%_dbi_tags Packages:Providenames:Basenames' to generate only the Providenames and Basenames indices. Add %ghost to establish clean erasures for the indices, and %attr to establish owner.group. Add a cron script and ignore --rebuilddb failures if you are worried about %post failures. The cron script should attempt to clean up any/all .../*rebuilddb.123456 directories from previous --rebuilddb failures as well. Please also remember to do --justdb on signed packages, and to import the public keys used for signing, when producing the rpmdb-* package(s). A daily patch-like delta rpmdb-* update to add/delete/modify header entries on the client rpmdb for only the headers that have changed is also quite doable, but I'll leave that for a later bugzilla. In fact, headers could be delivered directly to either up2date/yum caches, and then installed into the rpmdb-* from %post and/or cron. Careful: yum/up2date have slightly different headers than what is stored in and rpmdb, rpmdb headers have appended signature tags and prepended magic. Additional info: Upon request.
Ah, Pubkeys is useful too: --define '%_dbi_tags Packages:Providenames:Basenames:Pubkeys'
And a correction, rpmdb headers do not have magic, magic used iff header is written to disk was what was originally intended.
rpmdb is dead dead dead. :)