On Fri, 2006-05-26 at 19:01 -0300, Rodrigo Barbosa wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Fri, May 26, 2006 at 01:22:42PM -0400, William L. Maltby wrote:
On Fri, 2006-05-26 at 14:06 -0300, Rodrigo Barbosa wrote:
<snip>
rpm -q --provides PACKAGE_NAME | sed 's/^/"/;s/([^[:space:]]) * $/\1"/;/=/{h;s/ =.*$/"/;G}' | xargs rpm -q --whatrequires | grep -v -E '^no package'
Still needs some work, Ran it here and only got 38 packages, s/b 207 here. Timing on 1st run was
real 0m0.701s user 0m0.186s sys 0m0.019s
By the time we get 207 pkgs, I suspect a little overhead penalty.
I didn't change it to improve performance, for to get all the results correctly (previous one was missing some of them).
I ran the new one on that test. Yours might be right, but yum indicates not.
I really don't think there is any faster way to do it, since rpm accessing its db3 files is what costs so much on this. 10 or 100 dependencies should make little difference.
Maybe it's just 'cause I've been around too long, but string processing is expensive and I expect that if your script found 5.5 times as many entries we would see a substantial increase. But as you say, that's not the issue.
I've not looked at the individual step's output in the pipeline you provided, but I'll have to learn a lot more about the output of rpm before I can dink around with it to find what's missing. Since yum can do it, as long as I can remember to "Just Say No" (TM), I don't feel like chasing it myself.
I'm still interested to know if you think it's worth asking yum to do. It's got to be a simple thing since remove does everything we need it to do already.
What say ye: yea or nay?
<snip sig stuff>