RPM

Comment 4 for bug 915618

Revision history for this message
Jeff Johnson (n3npq) wrote :

Also note the consequences of adding SELinux policy metadata directly in
*.rpm headers.

An rpmdb has a KISS (and rather generally extensible) scheme that is essentially
equivalent to an "inverted list"; i.e. a KEY -> VAL association is optimized by creating
an index for VAL -> BLOB and then doing a secondary lookup within a header to
retrieve the information that is desired.

The point relevant here isn't whether compression saves bytes (it does) or
whether its valid to argue that 40Mb of uncompressed data is relevant to
the actual size of the information stored in /var/lib/rpm/Packages, but
rather that the additional SELinux policy metadata -- WITH SIGNIFICANT SIZE --
is an I/O performance cost for EVERY retrieval, not just for the accesses
of the security sensitive data that SELinux and Tizen are adding to *.rpm packaging.

Undertaking the schema changes necessary to avoid the additional performance cost
imposed by the added security metadata is way out-of-scope for this bug report, and
is essentially equivalent to writing an entire package manager from scratch.

RPM's success has been from the crude (but simple) transfer of a blob of metadata
from a *.rpm package directly into /var/lib/rpm/Packages WITH NO OTHER CHANGES.