[Rpm-maint] [rpm-software-management/rpm] Add an API for libsolv, libdnf, et al to use to check if rpmdb has changed and trivially get path to rpmdb (#388)
Jeff Johnson
notifications at github.com
Fri Feb 2 21:49:27 UTC 2018
Presumably the desired rpm API is some Boolean valued function that returns the value "changed" with minimal hassle.
What isn't clear is what changed means: time stamp since ... ? package count has changed since ... ? digest on files composing an rpmdb?
There is certainly existing prior art in yum detecting rpmdb changes (though it's unclear whether yum knows about anything but BDB). There are also nitpicking details (like w yum) about what "changed" means that need to be defined. E.g. yum complains if an rpmdb is changed by a manual rpm command.
Since the predominant paradigm of depsolvers like DNF/libsolv is to strip all rpmdb info initially and then run a install/upgrade/erase transaction (with implicit rpmdb changes under exclusive write lock), it's unclear (to me anyways) how an API would be used.
Detecting paths to multiple back ends based on macros isn't that difficult. Harder is the problem of, say, having multiple co-existing back ends: which back end should be used to compute "changed"?
Shoukd a back end switch, or a --rebuilddb, constitute a "change"?
There is the further problem of keeping time stamps across --rebuilddb to prevent backup software based on time stamps from needlessly backing up rpmdb's
All solvable problems, just not sure whether an API is all that useful.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/rpm-software-management/rpm/issues/388#issuecomment-362717773
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rpm.org/pipermail/rpm-maint/attachments/20180202/74274d76/attachment-0001.html>
More information about the Rpm-maint
mailing list