Red Hat Bugzilla – Bug 130429
RFE: reduce rpmdb package size, add signatures/pubkeys, manage on client
Last modified: 2007-11-30 17:10:47 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
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.
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. :)