On Thu, 9 Sep 2004, Michael Schwendt wrote:
On Thu, 9 Sep 2004 12:58:17 +0300 (EEST), Panu Matilainen wrote:
I'm starting to have funny ideas about 'repoquery' (or whatever you want to call it) which does what rpmquery does but handles seamlessly both rpmdb and repository metadata information. AND provides meaningful answers to things like '--whatrequires foo' - this is one of my "favorites":
[pmatilai@chip pmatilai]$ rpm -q --whatrequires openssl libpcap-0.8.3-3 curl-7.11.1-1 openssl-devel-0.9.7a-35 w3m-0.5-3 sendmail-8.12.11-4.6 dovecot-0.99.10.6-1,FC2,1 kdelibs-3.2.2-8.FC2 [pmatilai@chip pmatilai]$
A whopping 5 packages. Yet what REALLY requires openssl:
[pmatilai@chip pmatilai]$ rpm -q --whatrequires `rpm -q --provides openssl`|grep -v "no package"|sort -u|wc -l 55 [pmatilai@chip pmatilai]$
Ooops...
Yes, that's due to automatically generated dependencies on the openssl library sonames (libssl.so.4 and libcrypto.so.4)
$ rpm -q --whatrequires $(rpm -q --provides openssl | grep lib) | wc -l 77
An interesting part about creating a new repoquery/rpmquery would be to create high-level queries which "know" how to find out which packages depend on "openssl" rather than letting the user find out complex queries like above.
Well that's what I said above: "...provides meaningful answers to things like '--whatrequires foo'". Will work on this and based on a quick look inside repomd/*.py actually like it as well :)
And along this road I'm perfectly willing to dump 1:1 rpmquery compatibility for something that's both user- and script-friendly.
- Panu -