How about not storing rpm headers in some binary database anymore but rather as 
individual files on disk?

Ie rather than stuffing them into /usr/lib/sysimage/rpm/Packages.$format just 
dump them as is, eg
/usr/lib/sysimage/rpm/installed/hello-1.2-3.x86_64.rpm

That opens several possibilities

- The database format does not matter anymore. The "database" could be moved 
back to /var as it would be  just a cache of indices that can be thrown away 
any time. rpm could just re-create them if needed or asked to.
- A diff of the file system tree of different versions of the operating system 
(eg snapper snapshots) would show right away what  packages changed.
- Similarly it would make life easier for container layers as  there's no 
binary database blob involved.
- One does not actually need rpm for simple introspection. `ls` is  sufficient 
for the equivalent of `rpm -qa`. In fact given simple  packages, basic rpm 
operations could be emulated in shell even.
- rpms could "package" their header as %ghost. So the header would actually be 
part of the file system representation of the package.


-- 
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/1151
_______________________________________________
Rpm-maint mailing list
Rpm-maint@lists.rpm.org
http://lists.rpm.org/mailman/listinfo/rpm-maint

Reply via email to