How does --rebuilddb work when the db is completely unreadable?

John Walker johnwalker0 at gmail.com
Fri Jan 20 00:03:04 UTC 2017


Hello,

I'm troubleshooting a problem with rpm 4.11.3.  I'd like to know a bit more
about what --rebuilddb actually does.  From the source (
https://github.com/rpm-software-management/rpm/blob/rpm-4.11.3-release/lib/rpmdb.c#L2841),
it looks like it just checks each entry in the package database to make
sure it has certain fields.

>From its behavior though, I suspect it is doing more.  For example, I can
run rpm --dbpath <old_rpm_db> --rebuilddb on a db-created by rpm 4.8, which
is a db4 format and completely unreadable to rpm 4.11.  Somehow, in this
situation, rpm 4.11 will produce a new (but inaccurate) db.

If anyone can give me any insight about how rpm rebuilds its database, or
point me to relevant portions of the source, I would appreciate it.

Thanks,

-John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-list/attachments/20170119/c518c8f7/attachment.html>


More information about the Rpm-list mailing list