Chuck Wilson has suggested[1] that RPM dynamically link to the Berkeley
DB database shared library; I imagine this would go for zlib, too.
Well, perusing the RPM mailing list archive, it turns out that it's a
little more involved. According to Jeff Johnson, RPM purposely uses
modified versions of zlib, db4, beecrypt and libelf, which is why the
libraries are embedded in the RPM tarball distribution[2].
In particular:
* zlib uses 16MB uncompress buffer for RPM speed-up.
* zlib includes the 'rsync ready' patch.
* db4 compiled with --with-uniquename=_rpmd.
* beecrypt has "a home-rolled, Knuth based, gcd mod invert function to
work around a bug in DSA signature verification."
* RPM uses libelf gelf_XXX() API which has been widely deployed.
Bottom line, folding in subordinate shared library support to the
upstream RPM 4.x release might take a while. So, the question
becomes: can we move on to shared RPM development libraries
(/usr/lib/librpmdb*.dll) without support for subordinate shared library
support?