[Yum-devel] [PATCH] Delta and global FileRequires Resolving

Florian Festi ffesti at redhat.com
Wed Mar 21 09:09:28 UTC 2007


> The diff on output from rpm -ql --provides glibc is:
> 
> --- /tmp/old.log        2007-03-20 20:33:58.000000000 +0100
> +++ /tmp/new.log        2007-03-20 20:33:45.000000000 +0100
> @@ -232,7 +232,7 @@
> UTF-32.so UTF-7.so VISCII.so -config(glibc) = 2.5.90-17
> +config(glibc) = 2.5.90-19
> ld-linux.so.2 ld-linux.so.2(GLIBC_2.0) ld-linux.so.2(GLIBC_2.1) @@ 
> -322,7 +322,7 @@
> libutil.so.1 libutil.so.1(GLIBC_2.0) rtld(GNU_HASH) -glibc = 2.5.90-17
> +glibc = 2.5.90-19
> /etc/ld.so.conf
> /etc/ld.so.conf.d
> /etc/localtime
> 
> Ok, almost nothing is changed =>
> if old glibc is good, then the new glibc is good too, no need to check 
> anything, just
> do the upgrade.
> 
> However, look at this:
> 
> # python yummain.py -d100 -e100 install glibc | tee /tmp/yum.log
> 
> # grep -c 'looking at' /tmp/glibc.log
> 38595
> 
> # grep -c 'looking to see what requires' /tmp/glibc.log
> 20974
> 
> 60000 checks!
> 
> How can this be needed?

May be because the Prco from the rpmdb look like this:
('tla', None, ('0', None, None))

And the Prco from the sqlite db look like that:
('tla', 0, (None, None, None))

Which makes this oldreqs cheater lookup fail in >95% of all cases in 
_checkInstall().

As changing one of them will likely break a lot of other places I leave the 
fixing as exercise for the reader ;)=

Florian



More information about the Yum-devel mailing list